Repository navigation
fix(visual): stop a fractional capture box flipping the baseline by a pixel #951
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
| name: Deploy to GitHub Pages | |
| on: | |
| push: | |
| branches: [main, release] | |
| pull_request: | |
| branches: [release] | |
| permissions: | |
| contents: read | |
| pages: write | |
| id-token: write | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| # Scoped per ref, not repo-wide. A single literal `pages` group made every run | |
| # in the repository each other's rival: a second pull request opening its build | |
| # cancelled the first one's, which is how #505 lost build and deploy to #504 | |
| # twenty seconds apart, both jobs recording zero billable time. | |
| # | |
| # This sits on the job, not the workflow. At workflow scope cancel-in-progress | |
| # cancels the whole run — the deploy job included — so a second push to the | |
| # same ref would kill a deployment already in flight, which is precisely the | |
| # half-published site the deploy group below exists to prevent. Only the build | |
| # is safe to supersede. | |
| concurrency: | |
| group: pages-build-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '22' | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@v4 | |
| with: | |
| version: 10.18.3 | |
| - name: Install dependencies | |
| run: pnpm install | |
| - name: Run lint and format checks | |
| run: pnpm lint | |
| - name: Build static site | |
| env: | |
| BASE_PATH: /svelte-ui-components | |
| run: pnpm build | |
| - name: Build web components | |
| run: pnpm run build:wc | |
| - name: Add web components to site | |
| run: | | |
| mkdir -p build/wc | |
| cp dist-wc/index.js build/wc/index.js | |
| - name: Upload Pages artifact | |
| if: github.event_name == 'push' | |
| uses: actions/upload-pages-artifact@v3 | |
| with: | |
| path: build | |
| deploy: | |
| needs: build | |
| if: github.event_name == 'push' | |
| runs-on: ubuntu-latest | |
| # Real deployments still have to queue behind one another — Pages accepts one | |
| # at a time. This group is deliberately shared and deliberately does not | |
| # cancel: killing a deployment mid-flight is how a half-published site | |
| # happens. Only the build above is parallel-safe. | |
| concurrency: | |
| group: pages-deploy | |
| cancel-in-progress: false | |
| environment: | |
| name: github-pages | |
| url: ${{ steps.deployment.outputs.page_url }} | |
| steps: | |
| - name: Deploy to GitHub Pages | |
| id: deployment | |
| uses: actions/deploy-pages@v4 |