Add predictive hover previews to concrete explorer #87
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
| # Lighthouse CI: enforces performance, accessibility, and resource budgets | |
| # on the BOxCrete website. Runs on PRs that touch the site. | |
| # Configuration: lighthouserc.json + budgets.json. | |
| name: Lighthouse CI | |
| # Cancel obsolete runs on rapid pushes. | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| on: | |
| push: | |
| branches: [main, master] | |
| paths: &lighthouse_paths | |
| - 'docs/**' | |
| - 'lighthouserc.json' | |
| - 'lighthouserc.mobile.json' | |
| - '.github/workflows/lighthouse.yml' | |
| pull_request: | |
| branches: [main, master] | |
| paths: *lighthouse_paths | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| env: | |
| FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true | |
| jobs: | |
| lighthouse: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 25 | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci | |
| # Desktop and mobile are separate Lighthouse profiles, not one run with | |
| # two viewports. Only desktop was ever measured, which is why a 6 px | |
| # touch target and 1.2 s of mobile blocking time both shipped unnoticed. | |
| # | |
| # Deliberately two steps in ONE job rather than a matrix: a matrix job's | |
| # check-run name becomes "lighthouse (<matrix values>)", so any branch | |
| # protection requiring the "lighthouse" context would wait forever on a | |
| # status that is never reported again. Keeping a single job preserves | |
| # the existing check name. | |
| - name: Run Lighthouse CI (desktop) | |
| run: npx lhci autorun --config=lighthouserc.json | |
| env: | |
| # Public uploads to temporary-public-storage are anonymous; | |
| # no token required for our config. | |
| LHCI_GITHUB_APP_TOKEN: ${{ secrets.LHCI_GITHUB_APP_TOKEN }} | |
| # `if: always()` so a desktop failure still reports the mobile result -- | |
| # otherwise the profile this change exists to add would be skipped | |
| # exactly when something is wrong. | |
| - name: Run Lighthouse CI (mobile) | |
| if: always() | |
| run: npx lhci autorun --config=lighthouserc.mobile.json | |
| env: | |
| LHCI_GITHUB_APP_TOKEN: ${{ secrets.LHCI_GITHUB_APP_TOKEN }} |