feat: power reference site with in-process WIP WASM
Add the public-document Worldspace, Rust Client/Host bridge, and WIP-backed tree and document rendering while preserving static fallback and navigation. Pin the Rust source and build tools, verify resource and trap boundaries, and cover dev and preview loading including same-origin generated module URLs.
This commit is contained in:
@@ -10,6 +10,17 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Checkout pinned Rust source
|
||||
run: |
|
||||
git clone https://gitea.hareworks.net/Hare/wip-rs ../wip-rs
|
||||
git -C ../wip-rs checkout "$(python3 -c 'import json; print(json.load(open("site/rust-source.json"))["revision"])')"
|
||||
- uses: dtolnay/rust-toolchain@stable
|
||||
with:
|
||||
toolchain: '1.97.1'
|
||||
targets: wasm32-unknown-unknown
|
||||
components: rustfmt, clippy
|
||||
- name: Install matching WASM bindings tool
|
||||
run: cargo install wasm-bindgen-cli --version 0.2.121 --locked
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '24'
|
||||
@@ -21,16 +32,25 @@ jobs:
|
||||
- name: Check and build
|
||||
working-directory: site
|
||||
run: npm run verify
|
||||
- name: Validate generated Worldspace and Rust bridge
|
||||
working-directory: site
|
||||
run: |
|
||||
WIP_TEST_GENERATED=1 node --test tests/worldspace-data.test.mjs
|
||||
cargo fmt --all -- --check
|
||||
cargo test --workspace --locked -- --include-ignored
|
||||
cargo clippy --workspace --all-targets --locked -- -D warnings
|
||||
- name: Browser smoke tests
|
||||
working-directory: site
|
||||
run: |
|
||||
npx playwright install --with-deps chromium
|
||||
npm run test:browser
|
||||
npm run test:dev
|
||||
- name: Verify subpath deployment
|
||||
working-directory: site
|
||||
run: |
|
||||
SITE_BASE=/reference SITE_URL=https://example.test npm run verify
|
||||
SITE_BASE=/reference npm run test:browser
|
||||
SITE_BASE=/reference SITE_URL=https://example.test npm run test:browser
|
||||
SITE_BASE=/reference SITE_URL=https://example.test npm run test:dev
|
||||
- name: Build deployment artifact
|
||||
working-directory: site
|
||||
env:
|
||||
|
||||
Reference in New Issue
Block a user