Align tool action group semantics (#263) #297
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: CI | |
| on: | |
| push: | |
| branches: ["main", "preview"] | |
| pull_request: | |
| branches: ["main", "preview"] | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| node-version: [20.x] | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| # sitemap lastmod guard reads per-file git history. | |
| # shallow clone (depth=1) can make it look stale in CI. | |
| fetch-depth: 0 | |
| - name: Use Node.js ${{ matrix.node-version }} | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| cache: "npm" | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Run Production Dependency Audit | |
| run: npm run check:audit:prod | |
| - name: Run ESLint | |
| run: npm run lint | |
| - name: Run Unit Tests | |
| run: npm run test | |
| - name: Run Coverage Thresholds | |
| run: npm run test:coverage | |
| - name: Run Validate Checks | |
| run: npm run validate | |
| - name: Build App | |
| run: npm run build:app | |
| - name: Run Build Post Checks | |
| run: npm run build:post | |
| - name: Install Playwright Browser | |
| run: npx playwright install --with-deps chromium | |
| - name: Run Playwright Smoke | |
| run: npm run test:e2e:smoke | |
| - name: Run Route Width Screenshot Matrix | |
| run: npm run test:e2e:route-width | |
| - name: Upload Route Width Screenshots | |
| if: always() | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: route-width-screenshots | |
| path: test-results/route-width | |
| if-no-files-found: warn | |
| pwa: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Use Node.js 20.x | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: 20.x | |
| cache: "npm" | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build exported app | |
| run: npm run build | |
| - name: Install Playwright Browser | |
| run: npx playwright install --with-deps chromium | |
| - name: Run PWA Smoke | |
| run: npm run test:e2e:pwa |