ci(web): replace wasm freshness gate with CI-side rebuild-and-commit
The rebuild-and-diff freshness gate (#93) could never pass: the Bevy wasm artifacts aren't byte-reproducible across machines. Confirmed conclusively — identical rustc 1.95.0 / LLVM 22.1.2, identical flags, Cargo.lock and remapped source paths still yield host-dependent output (CI's build was 248 KB smaller than a local one), while same-machine rebuilds are bit-identical. Path remapping (kept in build_wasm.sh) is necessary but not sufficient. Make CI the single source of truth instead: `web-wasm-rebuild` rebuilds pkg/ on every master change to a wasm-feeding crate and commits it back. The deployed artifacts can't silently rot and contributors no longer hand-run build_wasm.sh. The pkg/ commit isn't in this workflow's trigger paths (no loop) but is in docker-build's, so the refreshed wasm deploys. Removes the false-failing web-wasm-freshness workflow. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -36,12 +36,12 @@ jobs:
|
||||
id: meta
|
||||
run: echo "sha=${GITHUB_SHA::8}" >> "$GITHUB_OUTPUT"
|
||||
|
||||
# WASM artifact freshness is enforced precisely by the dedicated
|
||||
# `web-wasm-freshness` workflow (rebuild-and-diff on every PR + master
|
||||
# push), which supersedes the previous changed-files heuristic here.
|
||||
# That heuristic only hard-failed on direct solitaire_web/ edits and
|
||||
# treated solitaire_engine/_core changes as a non-blocking notice, which
|
||||
# let the whole card_game migration ship a stale pkg/.
|
||||
# WASM artifact freshness is owned by the `web-wasm-rebuild` workflow,
|
||||
# which rebuilds pkg/ in CI on every master change to a wasm-feeding crate
|
||||
# and commits it back (CI is the single source of truth — the artifacts
|
||||
# aren't byte-reproducible on contributor machines). That pkg/ commit then
|
||||
# triggers this workflow, so the deployed image always ships fresh wasm.
|
||||
# No drift check is needed here.
|
||||
|
||||
- name: Log in to Gitea registry
|
||||
uses: docker/login-action@v3
|
||||
|
||||
Reference in New Issue
Block a user