Skip to content

refactor: rewrite the exercise with issue based flow (#55) #1

refactor: rewrite the exercise with issue based flow (#55)

refactor: rewrite the exercise with issue based flow (#55) #1

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.7.0
with:
exercise-title: "Resolve Merge Conflicts"
intro-message: "Let's learn how to resolve merge conflicts when collaborating on GitHub."
prepare_merge_conflict:
name: Prepare merge conflict
runs-on: ubuntu-latest
needs: [start_exercise]
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Simulate conflict in resume.md
run: |
git checkout -b my-resume
git config user.name github-actions[bot]
git config user.email github-actions[bot]@users.noreply.github.com
echo "- Contributed to open source projects" >> resume.md
git add resume.md
git commit -m "Add open source experience"
git push origin my-resume
git checkout main
git pull --rebase origin main
echo "- Built internal tools" >> resume.md
git add resume.md
git commit -m "Add internal experience"
git push origin main
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
post_next_step_content:
name: Post next step content
runs-on: ubuntu-latest
needs: [start_exercise]
env:
ISSUE_NUMBER: ${{ needs.start_exercise.outputs.issue-number }}
ISSUE_REPOSITORY: ${{ github.repository }}
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.0
- 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_1_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: Enable next step workflow
run: |
gh workflow enable "Step 1"
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}