Skip to content

Initial commit

Initial commit #1

name: Step 0 # Start Exercise
on:
push:
branches:
- main
permissions:
contents: write # Update Readme
actions: write # Disable/enable workflows
issues: write # Create issue and comment on issues
env:
STEP_1_FILE: ".github/steps/1-dependency-graph.md"
jobs:
disable_workflows:
name: Disable workflows
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Disable all workflows
run: |
workflows=$(git ls-files .github/workflows | grep -E '\.yml$|\.yaml$')
for workflow in $workflows; do
workflow_name=$(basename "$workflow")
gh workflow disable "$workflow_name" || true
done
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
start_exercise:
if: |
!github.event.repository.is_template
name: Start Exercise
uses: skills/exercise-toolkit/.github/workflows/[email protected]
with:
exercise-title: "Secure your Repository's Supply Chain"
intro-message: "Let's explore how to secure your repository's supply chain, understand dependencies in your environment, and find vulnerabilities in those dependencies and patch them. 💻✨"
post_next_step_content:
name: Post next step content
runs-on: ubuntu-latest
needs: [start_exercise]
env:
ISSUE_URL: ${{ needs.start_exercise.outputs.issue-url }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Get response templates
uses: actions/checkout@v4
with:
repository: skills/exercise-toolkit
path: exercise-toolkit
ref: v0.6.0
- name: Build comment - add step content
id: build-comment
uses: skills/action-text-variables@v2
with:
template-file: "${{ env.STEP_1_FILE }}"
template-vars: |
full_repo_name: "${{ github.repository }}"
- name: Create comment - add step content
run: |
gh issue comment "$ISSUE_URL" \
--body "$ISSUE_BODY"
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
ISSUE_BODY: ${{ steps.build-comment.outputs.updated-text }}
- name: Create comment - watching for progress
run: |
gh issue comment "$ISSUE_URL" \
--body-file exercise-toolkit/markdown-templates/step-feedback/watching-for-progress.md
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Disable current workflow and enable next one
run: |
gh workflow enable "Step 1"
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}