|
1 | 1 | name: frontend |
| 2 | + |
2 | 3 | on: |
3 | 4 | push: |
4 | 5 | branches: |
5 | | - - main |
6 | | - # Publish semver tags as releases |
7 | | - tags: [ '*.*.*' ] |
| 6 | + - main |
| 7 | + tags: |
| 8 | + - '*.*.*' |
| 9 | + paths: |
| 10 | + - 'frontend/**' |
| 11 | + - '.github/workflows/frontend.yml' |
8 | 12 | pull_request: |
| 13 | + paths: |
| 14 | + - 'frontend/**' |
| 15 | + - '.github/workflows/frontend.yml' |
| 16 | + |
| 17 | +concurrency: |
| 18 | + group: frontend-${{ github.ref }} |
| 19 | + cancel-in-progress: true |
| 20 | + |
| 21 | +defaults: |
| 22 | + run: |
| 23 | + working-directory: frontend |
| 24 | + |
| 25 | +# TODO: add a lint job once ESLint migration replaces the (already-removed in |
| 26 | +# @angular-devkit/build-angular v20) `tslint` builder that `yarn lint` calls. |
| 27 | + |
9 | 28 | jobs: |
10 | 29 | test: |
11 | 30 | runs-on: ubuntu-latest |
| 31 | + timeout-minutes: 20 |
| 32 | + container: |
| 33 | + image: mcr.microsoft.com/playwright:v1.58.1-noble |
12 | 34 | steps: |
13 | | - - uses: actions/checkout@v2 |
14 | | - - uses: actions/setup-node@v3 |
| 35 | + - uses: actions/checkout@v5 |
| 36 | + - uses: actions/setup-node@v4 |
15 | 37 | with: |
16 | 38 | node-version: '24' |
17 | | - - run: cd frontend && yarn install |
18 | | - - name: Install Playwright browsers |
19 | | - run: cd frontend && yarn playwright install |
20 | | - - name: run tests |
21 | | - run: cd frontend && yarn test |
| 39 | + cache: 'yarn' |
| 40 | + cache-dependency-path: frontend/yarn.lock |
| 41 | + - run: yarn install --immutable |
| 42 | + - name: Run unit tests |
| 43 | + run: yarn test:ci |
| 44 | + |
22 | 45 | license: |
23 | 46 | runs-on: ubuntu-latest |
| 47 | + timeout-minutes: 10 |
24 | 48 | steps: |
25 | | - - uses: actions/checkout@v2 |
26 | | - - uses: actions/setup-node@v3 |
| 49 | + - uses: actions/checkout@v5 |
| 50 | + - uses: actions/setup-node@v4 |
27 | 51 | with: |
28 | | - node-version: '16' |
29 | | - - uses: extractions/setup-just@v1 |
| 52 | + node-version: '24' |
| 53 | + cache: 'yarn' |
| 54 | + cache-dependency-path: frontend/yarn.lock |
30 | 55 | - name: license checker |
31 | | - run: 'cd frontend && npx license-checker --onlyAllow="MIT;ISC;Python-2.0;Apache-2.0;BSD;MPL;CC;Custom: http://github.com/dscape/statsd-parser;" --excludePrivatePackages' |
| 56 | + run: 'npx --yes license-checker --onlyAllow="MIT;ISC;Python-2.0;Apache-2.0;BSD;MPL;CC;Custom: http://github.com/dscape/statsd-parser;" --excludePrivatePackages' |
0 commit comments