Update launch configuration and settings for CODESPACE support #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 4 # Setup the Django REST API framework | |
| on: | |
| push: | |
| branches: | |
| - "build-octofit-app" | |
| paths: | |
| - "octofit-tracker/backend/octofit_tracker/**" | |
| permissions: | |
| contents: read | |
| actions: write | |
| issues: write | |
| env: | |
| STEP_5_FILE: ".github/steps/5-setup-frontend-react-framework.md" | |
| jobs: | |
| find_exercise: | |
| name: Find Exercise Issue | |
| uses: skills/exercise-toolkit/.github/workflows/[email protected] | |
| 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.0 | |
| - 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/[email protected] | |
| 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: Check practical exercise | |
| - name: Check codespace url has been added to settings.py | |
| id: check-codespace-url-settings | |
| continue-on-error: true | |
| uses: skills/action-keyphrase-checker@v1 | |
| with: | |
| text-file: octofit-tracker/backend/octofit_tracker/settings.py | |
| keyphrase: '-8000.app.github.dev' | |
| minimum-occurrences: 1 | |
| case-sensitive: false | |
| - name: Check for codespace url has been added to urls.py | |
| id: check-codespace-url-urls | |
| continue-on-error: true | |
| uses: skills/action-keyphrase-checker@v1 | |
| with: | |
| text-file: octofit-tracker/backend/octofit_tracker/urls.py | |
| keyphrase: '-8000.app.github.dev' | |
| minimum-occurrences: 1 | |
| case-sensitive: false | |
| - name: Update comment - step results | |
| uses: GrantBirki/[email protected] | |
| 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: 4 | |
| results_table: | |
| - description: "Check settings.py for codespace URL" | |
| passed: ${{ steps.check-codespace-url-settings.outcome == 'success' }} | |
| - description: "Check urls.py for codespace URL" | |
| passed: ${{ steps.check-codespace-url-urls.outcome == 'success' }} | |
| # END: Check practical exercise | |
| - 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, check_step_work] | |
| 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.0 | |
| - name: Create comment - step finished | |
| uses: GrantBirki/[email protected] | |
| 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: 5 | |
| - name: Create comment - add step content | |
| uses: GrantBirki/[email protected] | |
| with: | |
| repository: ${{ env.ISSUE_REPOSITORY }} | |
| issue-number: ${{ env.ISSUE_NUMBER }} | |
| file: ${{ env.STEP_5_FILE }} | |
| - name: Create comment - watching for progress | |
| uses: GrantBirki/[email protected] | |
| 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 5" | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} |