Repository navigation
Update permissions in workflow files #1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Step 2 | ||
| on: | ||
| workflow_dispatch: | ||
| # You can also trigger on push to validate right after commits: | ||
| # push: | ||
| permissions: | ||
| contents: write | ||
| actions: write | ||
| issues: write | ||
| actions: write | ||
| pull-requests: write # si tu veux commenter sur les PR | ||
| env: | ||
| STEP_3_FILE: ".github/steps/3-step.md" | ||
| jobs: | ||
| find_exercise: | ||
| name: Find Exercise Issue | ||
| uses: skills/exercise-toolkit/.github/workflows/find-exercise-issue.yml@v0.7.1 | ||
| # Optional "grading" job to check the practical work | ||
| check_step_work: | ||
| name: Check step work | ||
| runs-on: ubuntu-latest | ||
| needs: [find_exercise] | ||
| env: | ||
| ISSUE_REPOSITORY: ${{ github.repository }} | ||
| ISSUE_NUMBER: ${{ needs.find_exercise.outputs.issue-number }} | ||
| 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.7.1 | ||
| - name: Find last comment | ||
| id: find-last-comment | ||
| uses: peter-evans/find-comment@v3 | ||
| with: | ||
| repository: ${{ env.ISSUE_REPOSITORY }} | ||
| issue-number: ${{ env.ISSUE_NUMBER }} | ||
| direction: last | ||
| - name: Update comment - checking work | ||
| uses: GrantBirki/comment@v2.1.1 | ||
| with: | ||
| repository: ${{ env.ISSUE_REPOSITORY }} | ||
| issue-number: ${{ env.ISSUE_NUMBER }} | ||
| comment-id: ${{ steps.find-last-comment.outputs.comment-id }} | ||
| file: exercise-toolkit/markdown-templates/step-feedback/checking-work.md | ||
| edit-mode: replace | ||
| # START: Checks for this exercise | ||
| - name: Check if playground/README.md exists | ||
| id: check-file-exists | ||
| continue-on-error: true | ||
| uses: skills/exercise-toolkit/actions/file-exists@v0.7.1 | ||
| with: | ||
| file: playground/README.md | ||
| - name: Check keyphrase "Hello" in playground/README.md | ||
| id: check-for-keyphrase | ||
| continue-on-error: true | ||
| uses: skills/action-keyphrase-checker@v1 | ||
| with: | ||
| text-file: playground/README.md | ||
| keyphrase: Hello | ||
| - name: Update comment - step results | ||
| uses: GrantBirki/comment@v2.1.1 | ||
| with: | ||
| repository: ${{ env.ISSUE_REPOSITORY }} | ||
| issue-number: ${{ env.ISSUE_NUMBER }} | ||
| comment-id: ${{ steps.find-last-comment.outputs.comment-id }} | ||
| edit-mode: replace | ||
| file: exercise-toolkit/markdown-templates/step-feedback/step-results-table.md | ||
| vars: | | ||
| step_number: 2 | ||
| results_table: | ||
| - description: "Checked if playground/README.md exists" | ||
| passed: ${{ steps.check-file-exists.outcome == 'success' }} | ||
| - description: "Checked for 'Hello' in playground/README.md" | ||
| passed: ${{ steps.check-for-keyphrase.outcome == 'success' }} | ||
| # END: Checks | ||
| - name: Fail job if not all checks passed | ||
| if: contains(steps.*.outcome, 'failure') | ||
| run: exit 1 | ||
| post_next_step_content: | ||
| name: Post next step content | ||
| needs: [find_exercise] # or [find_exercise, check_step_work] if you want to gate progression | ||
| runs-on: ubuntu-latest | ||
| env: | ||
| ISSUE_REPOSITORY: ${{ github.repository }} | ||
| ISSUE_NUMBER: ${{ needs.find_exercise.outputs.issue-number }} | ||
| 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.7.1 | ||
| - name: Create comment - step finished | ||
| uses: GrantBirki/comment@v2.1.1 | ||
| with: | ||
| repository: ${{ env.ISSUE_REPOSITORY }} | ||
| issue-number: ${{ env.ISSUE_NUMBER }} | ||
| file: exercise-toolkit/markdown-templates/step-feedback/step-finished-prepare-next-step.md | ||
| vars: | | ||
| next_step_number: 3 | ||
| - name: Create comment - add step content | ||
| uses: GrantBirki/comment@v2.1.1 | ||
| with: | ||
| repository: ${{ env.ISSUE_REPOSITORY }} | ||
| issue-number: ${{ env.ISSUE_NUMBER }} | ||
| file: ${{ env.STEP_3_FILE }} | ||
| - name: Create comment - watching for progress | ||
| uses: GrantBirki/comment@v2.1.1 | ||
| with: | ||
| repository: ${{ env.ISSUE_REPOSITORY }} | ||
| issue-number: ${{ env.ISSUE_NUMBER }} | ||
| file: exercise-toolkit/markdown-templates/step-feedback/watching-for-progress.md | ||
| - name: Disable current workflow and enable next one | ||
| run: | | ||
| gh workflow disable "${{github.workflow}}" | ||
| gh workflow enable "Step 3" | ||
| env: | ||
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||