forge attest runs .forge/ci in a clean worktree of each commit and signs the result into refs/notes/ci; forge push sends it with the branch. The script follows the README's rebuild loop: scripts/build.sh, node scripts/test-core.mjs and scripts/package.py. Emscripten's system libraries live in ~/.cache/gudpics/emscripten, outside the worktree, so runs don't rebuild them.
- commit
- 970270f355f14975280b365df6773a4fc7cddd61
- parent
- 09378f89521c2a72b0fe367b8fd4b040681ee557
- author
- cat <admin@dev.site>
| A | .forge/ | 12 | ++++++++++++ |
@@ -0,0 +1,12 @@
1+2+# CI for src.rest, the README's rebuild loop: scripts/build.sh (the perspective3+# core from source), node scripts/test-core.mjs and scripts/package.py.4+set -eu5+# Emscripten builds its system libraries from source on first use; keep them6+# in a cache outside the worktree so runs reuse them.7+EM_CACHE=${XDG_CACHE_HOME:-$HOME/.cache}/gudpics/emscripten8+export EM_CACHE9+mkdir -p "$EM_CACHE"10+sh scripts/build.sh11+node scripts/test-core.mjs12+python3 scripts/package.py