refactor: remove out-of-scope error handling and workspace cleanup cruft #103
Workflow file for this run
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: Tests | |
on: | |
pull_request: | |
push: | |
branches: | |
- main | |
paths-ignore: | |
- ".github/**" | |
- "**.md" | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
permissions: {} | |
jobs: | |
tests: | |
name: Tests | |
runs-on: ubuntu-24.04 | |
strategy: | |
matrix: | |
name: [backend, frontend-merge, frontend-pr] | |
include: | |
- name: backend | |
dir: backend | |
triggers: ('backend/') | |
expected_triggered: false | |
- name: frontend-merge | |
dir: frontend | |
triggers: ('.') | |
expected_triggered: true | |
- name: frontend-pr | |
dir: frontend | |
expected_triggered: true | |
steps: | |
- uses: actions/checkout@v5 | |
- id: action | |
uses: ./ | |
with: | |
commands: | | |
npm ci | |
npm run test:cov | |
dir: ${{ matrix.dir }} | |
node_version: "20" | |
repository: bcgov/quickstart-openshift | |
sonar_args: > | |
-Dsonar.exclusions=**/coverage/**,**/node_modules/**,**/*spec.ts | |
-Dsonar.javascript.lcov.reportPaths=./coverage/lcov.info | |
-Dsonar.organization=bcgov-nr | |
-Dsonar.projectKey=bcgov-nr_action-test-and-analyse_${{ matrix.dir }} | |
-Dsonar.sources=src | |
-Dsonar.tests.inclusions=**/*spec.ts | |
sonar_token: ${{ matrix.name == 'backend' && secrets.SONAR_TOKEN_BACKEND || secrets.SONAR_TOKEN_FRONTEND }} | |
triggers: ${{ matrix.triggers }} | |
- name: Verify trigger behavior | |
run: | | |
echo "🔍 Verifying trigger behavior for ${{ matrix.name }}" | |
echo "Expected: ${{ matrix.expected_triggered }}" | |
echo "Actual: ${{ steps.action.outputs.triggered }}" | |
case "${{ matrix.name }}" in | |
"backend") | |
if [ "${{ steps.action.outputs.triggered }}" != "false" ]; then | |
echo "❌ Backend job should NOT have been triggered (no backend/ changes)" | |
exit 1 | |
else | |
echo "✅ Backend job correctly NOT triggered" | |
fi | |
;; | |
"frontend-merge") | |
if [ "${{ steps.action.outputs.triggered }}" != "true" ]; then | |
echo "❌ Frontend-merge job should have been triggered (triggers: '.')" | |
exit 1 | |
else | |
echo "✅ Frontend-merge job correctly triggered" | |
fi | |
;; | |
"frontend-pr") | |
if [ "${{ steps.action.outputs.triggered }}" != "true" ]; then | |
echo "❌ Frontend-pr job should have been triggered (no triggers = always run)" | |
exit 1 | |
else | |
echo "✅ Frontend-pr job correctly triggered" | |
fi | |
;; | |
esac | |
echo "🎉 ${{ matrix.name }} trigger behavior verified correctly!" |