chore(deps): bump @angular/compiler from 20.0.3 to 20.3.7 in /services/backoffice #555
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: Coverage | |
| on: | |
| push: | |
| branches: [master] | |
| paths: | |
| - 'services/backend/**' | |
| - 'services/frontend/**' | |
| - 'services/analytics/**' | |
| - 'services/backoffice/**' | |
| - '.github/workflows/ci-coverage.yml' | |
| pull_request: | |
| branches: [master] | |
| paths: | |
| - 'services/backend/**' | |
| - 'services/frontend/**' | |
| - 'services/analytics/**' | |
| - 'services/backoffice/**' | |
| - '.github/workflows/ci-coverage.yml' | |
| permissions: | |
| contents: read | |
| pull-requests: write # allow PR comment | |
| jobs: | |
| coverage: | |
| name: ${{ matrix.part }} coverage | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| strategy: | |
| fail-fast: false # let each leg finish for full reporting | |
| matrix: | |
| part: [backend, frontend, analytics, backoffice] | |
| # Ensure only one coverage run per commit ref & part | |
| concurrency: | |
| group: "cov-${{ github.ref }}-${{ matrix.part }}" | |
| cancel-in-progress: true | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 # let Codecov diff against base | |
| - name: Set up JDK 17 | |
| if: ${{ matrix.part == 'backend' }} | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: temurin | |
| java-version: 17 | |
| cache: maven # built-in dependency cache :contentReference[oaicite:0]{index=0} | |
| - name: Build & test backend | |
| if: ${{ matrix.part == 'backend' }} | |
| working-directory: services/backend | |
| run: ./mvnw -B verify --no-transfer-progress | |
| - name: Set up Node 20 | |
| if: ${{ matrix.part == 'frontend' }} | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| cache: npm # caches ~/.npm automatically :contentReference[oaicite:1]{index=1} | |
| cache-dependency-path: services/frontend/package-lock.json | |
| - name: Set up Node 20 for backoffice | |
| if: ${{ matrix.part == 'backoffice' }} | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| cache: npm | |
| cache-dependency-path: services/backoffice/package-lock.json | |
| - name: Set up Python | |
| if: ${{ matrix.part == 'analytics' }} | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: '3.11' | |
| - name: Cache uv | |
| if: ${{ matrix.part == 'analytics' }} | |
| uses: actions/cache@v3 | |
| with: | |
| path: ~/.cache/uv | |
| key: ${{ runner.os }}-uv-${{ hashFiles('services/analytics/pyproject.toml') }} | |
| restore-keys: | | |
| ${{ runner.os }}-uv- | |
| - name: Install uv | |
| if: ${{ matrix.part == 'analytics' }} | |
| run: pip install uv | |
| - name: Install & test frontend | |
| if: ${{ matrix.part == 'frontend' }} | |
| working-directory: services/frontend | |
| run: | | |
| npm ci | |
| npm run coverage | |
| - name: Install & test backoffice | |
| if: ${{ matrix.part == 'backoffice' }} | |
| working-directory: services/backoffice | |
| run: | | |
| npm ci | |
| npx ng test --watch=false --browsers=ChromeHeadless --code-coverage | |
| - name: Install & test analytics | |
| if: ${{ matrix.part == 'analytics' }} | |
| working-directory: services/analytics | |
| run: | | |
| uv pip install --system -e .[test] | |
| pytest --cov=analytics --cov-report=xml --cov-report=html | |
| - name: Upload coverage to Codecov | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| flags: ${{ matrix.part }} | |
| files: ${{ matrix.part == 'backend' && 'services/backend/target/site/jacoco/jacoco.xml' || matrix.part == 'frontend' && 'services/frontend/coverage/lcov.info' || matrix.part == 'analytics' && 'services/analytics/coverage.xml' || 'services/backoffice/coverage/lcov.info' }} | |
| name: ${{ matrix.part }} | |
| fail_ci_if_error: true | |
| verbose: true | |
| arguments: --no-compression | |
| # Always archive raw reports (helps debugging if Codecov rejects them) | |
| - name: Archive raw coverage artefacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ${{ matrix.part }}-coverage | |
| path: ${{ matrix.part == 'backend' && 'services/backend/target/site/jacoco' || matrix.part == 'frontend' && 'services/frontend/coverage' || matrix.part == 'analytics' && 'services/analytics/htmlcov' || 'services/backoffice/coverage' }} | |
| retention-days: 7 |