refactor: rewrite the exercise with issue based flow (#108) #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 0 | |
| on: | |
| push: | |
| branches: | |
| - main | |
| permissions: | |
| contents: write | |
| actions: write | |
| issues: write | |
| env: | |
| STEP_1_FILE: ".github/steps/1-step.md" | |
| jobs: | |
| start_exercise: | |
| if: | | |
| !github.event.repository.is_template | |
| name: Start Exercise | |
| uses: skills/exercise-toolkit/.github/workflows/start-exercise.yml@v0.5.0 | |
| with: | |
| exercise-title: "Review Pull Requests" | |
| intro-message: "Let's learn to collaborate with others using pull requests." | |
| modify_repo_content: | |
| name: Modify repo 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: Prepare a branch and pull request | |
| run: | | |
| echo "Make a branch" | |
| BRANCH=update-game | |
| git checkout -b $BRANCH | |
| echo "Update index.html" | |
| sed -i.bak 's/Game over/Game over, refresh to play again 🧑💻 🤖!/' index.html | |
| echo "Make a commit" | |
| git config user.name github-actions[bot] | |
| git config user.email github-actions[bot]@users.noreply.github.com | |
| git add index.html | |
| git commit --message="Update game over message" | |
| echo "Push" | |
| git push --set-upstream origin $BRANCH | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| 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.5.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: | | |
| login: ${{ github.actor }} | |
| 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: Enable next step workflow | |
| run: | | |
| gh workflow enable "Step 1" | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} |