Add React frontend for OctoFit Tracker app #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 5 # Setup the REACT framework frontend | |
| on: | |
| push: | |
| branches: | |
| - "build-octofit-app" | |
| paths: | |
| - "octofit-tracker/frontend/**" | |
| permissions: | |
| contents: read | |
| actions: write | |
| issues: write | |
| env: | |
| STEP_6_FILE: ".github/steps/6-copilot-on-github.md" | |
| jobs: | |
| find_exercise: | |
| name: Find Exercise Issue | |
| uses: skills/exercise-toolkit/.github/workflows/find-exercise-issue.yml@v0.7.0 | |
| 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/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: Check practical exercise | |
| - name: Check for codespace Django REST API endpoint in Activities.js | |
| id: check-activities | |
| continue-on-error: true | |
| uses: skills/action-keyphrase-checker@v1 | |
| with: | |
| text-file: octofit-tracker/frontend/src/components/Activities.js | |
| keyphrase: '-8000.app.github.dev/api/activities' | |
| minimum-occurrences: 1 | |
| case-sensitive: false | |
| - name: Check for codespace Django REST API endpoint in Leaderboard.js | |
| id: check-leaderboard | |
| continue-on-error: true | |
| uses: skills/action-keyphrase-checker@v1 | |
| with: | |
| text-file: octofit-tracker/frontend/src/components/Leaderboard.js | |
| keyphrase: '-8000.app.github.dev/api/leaderboard' | |
| minimum-occurrences: 1 | |
| case-sensitive: false | |
| - name: Check for codespace Django REST API endpoint in Teams.js | |
| id: check-teams | |
| continue-on-error: true | |
| uses: skills/action-keyphrase-checker@v1 | |
| with: | |
| text-file: octofit-tracker/frontend/src/components/Teams.js | |
| keyphrase: '-8000.app.github.dev/api/teams' | |
| minimum-occurrences: 1 | |
| case-sensitive: false | |
| - name: Check for codespace Django REST API endpoint in Users.js | |
| id: check-users | |
| continue-on-error: true | |
| uses: skills/action-keyphrase-checker@v1 | |
| with: | |
| text-file: octofit-tracker/frontend/src/components/Users.js | |
| keyphrase: '-8000.app.github.dev/api/users' | |
| minimum-occurrences: 1 | |
| case-sensitive: false | |
| - name: Check for codespace Django REST API endpoint in Workouts.js | |
| id: check-workouts | |
| continue-on-error: true | |
| uses: skills/action-keyphrase-checker@v1 | |
| with: | |
| text-file: octofit-tracker/frontend/src/components/Workouts.js | |
| keyphrase: '-8000.app.github.dev/api/workouts' | |
| minimum-occurrences: 1 | |
| case-sensitive: false | |
| - 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: 5 | |
| results_table: | |
| - description: "Check activities for the Django API endpoint" | |
| passed: ${{ steps.check-activities.outcome == 'success' }} | |
| - description: "Check leaderboard for the Django API endpoint" | |
| passed: ${{ steps.check-leaderboard.outcome == 'success' }} | |
| - description: "Check teams for the Django API endpoint" | |
| passed: ${{ steps.check-teams.outcome == 'success' }} | |
| - description: "Check users for the Django API endpoint" | |
| passed: ${{ steps.check-users.outcome == 'success' }} | |
| - description: "Check workouts for the Django API endpoint" | |
| passed: ${{ steps.check-workouts.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/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: 6 | |
| - 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_6_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 6" | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} |