@@ -14,12 +14,16 @@ concurrency:
1414
1515jobs :
1616 build :
17- runs-on : ubuntu-latest
17+ runs-on : ubuntu-24.04
18+ env :
19+ CARGO_BUILD_JOBS : ' 2'
20+ CMAKE_BUILD_PARALLEL_LEVEL : ' 2'
21+ RUST_TEST_THREADS : ' 2'
1822 steps :
19- - uses : actions/checkout@v4
23+ - uses : actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
2024
2125 - name : Read Open Question Board source
22- uses : actions/checkout@v4
26+ uses : actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
2327 with :
2428 repository : GiggleLiu/autoresearch-gadgets
2529 ref : main
@@ -32,11 +36,17 @@ jobs:
3236 - name : Build Open Question Board
3337 run : uv run --project open-questions-source/website --locked python open-questions-source/website/build.py
3438
35- - uses : dtolnay/rust-toolchain@stable
39+ - uses : dtolnay/rust-toolchain@b725eda525362e7cf34af9a7243cac1e3f01a7ec # stable
40+ with :
41+ toolchain : ' 1.99.0'
42+ targets : wasm32-unknown-unknown
43+
44+ - name : Install browser binding tools
45+ run : cargo install wasm-bindgen-cli --version 0.2.129 --locked
3646
37- - uses : actions/setup-node@v4
47+ - uses : actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
3848 with :
39- node-version : ' 22 '
49+ node-version : ' 24.21.0 '
4050 cache : npm
4151
4252 - name : Install mdBook
@@ -54,50 +64,24 @@ jobs:
5464 tar -xJf typst.tar.xz
5565 mv typst-x86_64-unknown-linux-musl/typst "$HOME/bin/"
5666
57- - name : Install Node dependencies
58- run : npm ci
59-
60- - name : Generate data
67+ - name : Build and verify deployment artifact
6168 run : |
62- cargo run --features "example-db" --example export_examples
63- cargo run --example export_petersen_mapping
64- cargo run --example export_graph
65- node scripts/generate_reduction_graph_layout.js
66- cargo run --example export_schemas
67- cargo build -p problemreductions-cli --bin pred
68- bash scripts/generate_doc_snippets.sh target/debug/pred
69-
70- - name : Build mdBook
71- run : mdbook build
72-
73- - name : Build PDF
74- run : typst compile --root . docs/paper/reductions.typ book/reductions.pdf
75-
76- - name : Build rustdoc
77- run : RUSTDOCFLAGS="--default-theme=dark" cargo doc --no-deps
78-
79- - name : Combine documentation
80- run : |
81- mkdir -p book/api
82- cp -r target/doc/* book/api/
83-
84- - name : Build research website
85- run : python3 scripts/build_website.py --open-questions open-questions-source/website/dist
86-
87- - name : Verify deployment artifact
88- run : |
89- python3 -m pip install playwright==1.58.0
90- python3 -m playwright install --with-deps chromium
69+ uv run --python 3.12.14 --no-project --with-requirements scripts/website-requirements.txt python -m playwright install --with-deps chromium firefox webkit
70+ uv run --python 3.12.14 --no-project --with-requirements scripts/website-requirements.txt python scripts/check_website.py --output book --open-questions open-questions-source/website/dist
9171 npm audit --audit-level=moderate
92- npm run test:reduction-graph-js
93- python3 -m unittest discover -s scripts -p 'test_website_build.py'
94- python3 -m http.server 3001 --bind 127.0.0.1 --directory book &
95- server_pid=$!
96- trap 'kill "$server_pid"' EXIT
97- python3 scripts/test_website.py
72+ git diff --exit-code -- Cargo.lock package-lock.json
73+
74+ - name : Retain verification diagnostics
75+ if : always()
76+ uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
77+ with :
78+ name : website-verification
79+ path : |
80+ book/verification.json
81+ book/verification.log
9882
9983 - name : Upload artifact
100- uses : actions/upload-pages-artifact@v3
84+ uses : actions/upload-pages-artifact@56afc609e74202658d3ffba0e8f6dda462b719fa # v3
10185 with :
10286 path : ' ./book'
10387
@@ -109,11 +93,11 @@ jobs:
10993 environment :
11094 name : github-pages
11195 url : ${{ steps.deployment.outputs.page_url }}
112- runs-on : ubuntu-latest
96+ runs-on : ubuntu-24.04
11397 needs : build
11498 steps :
11599 - name : Setup Pages
116- uses : actions/configure-pages@v4
100+ uses : actions/configure-pages@1f0c5cde4bc74cd7e1254d0cb4de8d49e9068c7d # v4
117101 - name : Deploy to GitHub Pages
118102 id : deployment
119- uses : actions/deploy-pages@v4
103+ uses : actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4
0 commit comments