Files
FarmaFinder/.gitea/workflows/test-branches.yaml
T
Antoni Nuñez Romeu 5ae3ebecee
Run Tests on Branches / Run Tests (push) Successful in 1m44s
ci: consolidate test jobs into single workflow with npm caching
- Merge 3 parallel test jobs (backend/frontend/mobile) into one sequential job
- Remove dependency on dorny/paths-filter@v3 (replaced with git diff script)
- Add npm cache via setup-node to speed up dependency installation
- Downgrade Node.js from 24 to 22 LTS for stability
- Reduce checkout fetch-depth from full history to 2 commits
2026-07-13 21:16:46 +02:00

48 lines
1.5 KiB
YAML

name: Run Tests on Branches
on:
push:
branches-ignore:
- 'main'
jobs:
test:
name: Run Tests
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
with:
fetch-depth: 2
- name: Detect Changes
id: changes
run: |
BASE=${{ github.event.before }}
[ -z "$BASE" ] || [ "$BASE" = "0000000000000000000000000000000000000000" ] && BASE=$(git rev-parse HEAD~1)
echo "backend=$(git diff --name-only "$BASE"...HEAD | grep -qE '^(apps/backend/|packages/)' && echo true || echo false)" >> "$GITHUB_OUTPUT"
echo "frontend=$(git diff --name-only "$BASE"...HEAD | grep -qE '^(apps/frontend/|packages/)' && echo true || echo false)" >> "$GITHUB_OUTPUT"
echo "frontend-mobile=$(git diff --name-only "$BASE"...HEAD | grep -qE '^(apps/frontend-mobile/|packages/)' && echo true || echo false)" >> "$GITHUB_OUTPUT"
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '22'
cache: 'npm'
- name: Install Dependencies
run: npm ci
- name: Run Backend Tests
if: steps.changes.outputs.backend == 'true'
run: npm test --workspace=farma-clic-backend -- --ci
- name: Run Frontend Tests
if: steps.changes.outputs.frontend == 'true'
run: npm test --workspace=farma-clic-frontend -- --run --reporter=basic
- name: Run Frontend Mobile Tests
if: steps.changes.outputs.frontend-mobile == 'true'
run: npm test --workspace=frontend-mobile -- --ci
continue-on-error: true