Conversation
…and backend-data jobs in PR checks workflow
There was a problem hiding this comment.
Pull request overview
This PR refactors the GitHub Actions workflow architecture by introducing a centralized PR orchestration pattern. The main change consolidates pull request triggers from individual workflows into a new pr-checks.yml file that uses path filtering to conditionally execute specific workflows via workflow_call.
Key changes:
- Introduced centralized
pr-checks.ymlto orchestrate all PR checks with path-based filtering - Removed duplicate
pull_requesttriggers from individual workflows, replacing them withworkflow_callandworkflow_dispatchtriggers - Standardized workflow formatting (2-space indentation, double quotes for strings)
Reviewed changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| .github/workflows/pr-checks.yml | New centralized PR orchestration workflow with path filtering, job coordination, and dependabot/crowdin auto-merge logic |
| .github/workflows/pr-filter.yml | New filter configuration defining which file paths trigger which jobs (tests, frontend, backend components) |
| .github/workflows/tests.yml | Removed pull_request trigger; now called via workflow_call from pr-checks.yml |
| .github/workflows/frontend.yml | Removed pull_request trigger; added workflow_call and workflow_dispatch triggers |
| .github/workflows/codeql-analysis.yml | Removed pull_request trigger; added workflow_call; standardized quote style |
| .github/workflows/build-frontend-image.yml | Removed pull_request trigger to avoid duplicate builds on PRs |
| .github/workflows/build-backend-image.yml | Removed pull_request trigger to avoid duplicate builds on PRs |
| .github/workflows/backend-library.yml | Removed pull_request trigger; added workflow_call; standardized formatting (2-space indentation, double quotes) |
| .github/workflows/backend-data.yml | Removed pull_request trigger; added workflow_call; standardized formatting (2-space indentation, double quotes) |
| .github/workflows/backend-api.yml | Removed pull_request trigger; added workflow_call and workflow_dispatch; standardized formatting (2-space indentation, double quotes) |
| backend: | ||
| permissions: | ||
| contents: write | ||
| if: ${{ needs.changes.outputs.backend == 'true'}} |
There was a problem hiding this comment.
Inconsistent spacing in the expression - there's an extra space after the opening {{. For consistency with the other job conditions (lines 43, 50, 66, 74), use ${{ needs.changes.outputs.backend == 'true'}}.
| if: ${{ needs.changes.outputs.backend == 'true'}} | |
| if: ${{ needs.changes.outputs.backend == 'true' }} |
| - "PhantomDave.BankTracking.Library/**" | ||
| - "PhantomDave.BankTracking.sln" | ||
| - ".github/workflows/backend-library.yml" | ||
| workflow_call: |
There was a problem hiding this comment.
For consistency with the other backend workflows (backend-api.yml has both workflow_dispatch and workflow_call), consider adding workflow_dispatch: here to allow manual triggering of this workflow.
| workflow_call: | |
| workflow_call: | |
| workflow_dispatch: |
| - "PhantomDave.BankTracking.Library/**" | ||
| - "PhantomDave.BankTracking.sln" | ||
| - ".github/workflows/backend-data.yml" | ||
| workflow_call: |
There was a problem hiding this comment.
For consistency with the other backend workflows (backend-api.yml has both workflow_dispatch and workflow_call), consider adding workflow_dispatch: here to allow manual triggering of this workflow.
| workflow_call: | |
| workflow_call: | |
| workflow_dispatch: |
| .github/actions | ||
| terraform/environments.json |
There was a problem hiding this comment.
The sparse-checkout configuration includes paths that don't exist in the repository (.github/actions and terraform/environments.json). This will cause the checkout to fail or behave unexpectedly. Remove these non-existent paths from the sparse-checkout list.
| .github/actions | |
| terraform/environments.json |
| needs: # list all the required jobs here! | ||
| - changes | ||
| - frontend | ||
| - backend | ||
| - backend-library | ||
| - backend-data | ||
| - codeql |
There was a problem hiding this comment.
The tests job is missing from the needs list of the completed job. This means the completion check won't wait for tests to finish, potentially allowing PRs to pass even if tests fail. Add - tests to the needs list.
| filters: | | ||
| .github/pr-filter.yml |
There was a problem hiding this comment.
The filters parameter should reference the file path where the filter definitions are located, not a literal string with the file path. Change this to:
filters: .github/pr-filter.ymlWithout the pipe character, this tells the action to read the filter definitions from that file.
| filters: | | |
| .github/pr-filter.yml | |
| filters: .github/pr-filter.yml |
No description provided.