/ proof-of-concept / instrawave
Sign in
proof-of-concept / instrawave
instrawave / .github / workflows / deploy.yml
42 lines · 1.2 KBBlameHistoryRaw
1name: deploy
2on:
3 push:
4 branches: [main]
5 workflow_dispatch:
7permissions:
8 contents: read
9 pages: write
10 id-token: write
12concurrency:
13 group: pages
14 cancel-in-progress: true
16jobs:
17 build-deploy:
18 runs-on: ubuntu-latest
19 steps:
20 - uses: actions/checkout@v4
21 - uses: actions/setup-node@v4
22 with:
23 node-version: 24
24 cache: npm
25 # --ignore-scripts skips the `webgpu` package's install step (prebuilt
26 # Google Dawn), which only the CLI renderer and the GPU test suite
27 # use; the page build needs nothing from it. Omitting optional deps
28 # entirely would also drop the bundler's own platform binding, so
29 # they stay. The full suite (which also wants a soundbox checkout and
30 # a GPU) runs locally, not here.
31 - run: npm ci --ignore-scripts
32 # The checked-in instrument files must be exactly the builder's
33 # output; regenerate and refuse to deploy drift.
34 - run: npm run author
35 - run: git diff --exit-code instruments/
36 - run: npm run build
37 - uses: actions/configure-pages@v5
38 - uses: actions/upload-pages-artifact@v3
39 with:
40 path: dist
41 - id: deployment
42 uses: actions/deploy-pages@v4
↑↓ move↵openescclose