2004981Plate dynamics lab 2: a hammer on a hung plate by Rayleigh-Ritz and by Mindlin-Reissner finite elementsJeremy Magland 1name: Deploy the lab
3# configure-pages runs before the build rather than after it, because the build
4# needs the base path it reports: a mochi site is served at the root of its own
5# origin when the repository has a site label, and under /<collection>/<repo>/site/
6# when it does not, and never at /<repo>/.
8on:
9 push:
10 branches: [main]
11 workflow_dispatch:
13permissions:
14 contents: read
15 pages: write
16 id-token: write
18concurrency:
19 group: pages
20 cancel-in-progress: false
22jobs:
23 build:
24 runs-on: ubuntu-latest
25 steps:
26 - name: Checkout
27 uses: actions/checkout@v4
29 - name: Setup Node
30 uses: actions/setup-node@v4
31 with:
32 node-version: 22
34 - name: Setup Pages
35 id: pages
36 uses: actions/configure-pages@v5
38 - name: Install
39 run: npm ci
41 - name: Typecheck
42 run: npm run typecheck
44 # Runs the .m library under numbl in Node against the reference diagnostics
45 # of the two Python simulators: mode frequencies, contact numbers and the
46 # first 50 ms of sound. A regression here should not deploy.
47 - name: Test
48 run: npm test
50 - name: Build the lab
51 env:
52 DEPLOY_BASE: ${{ steps.pages.outputs.base_path }}
53 run: npm run build -w apps/lab
55 - name: Upload artifact
56 uses: actions/upload-pages-artifact@v3
57 with:
58 path: apps/lab/dist
60 deploy:
61 needs: build
62 runs-on: ubuntu-latest
63 environment:
64 name: github-pages
65 url: ${{ steps.deployment.outputs.page_url }}
66 steps:
67 - name: Deploy to Pages
68 id: deployment
69 uses: actions/deploy-pages@v4