Baseline PNGs (492, 35 MB) leave git: they now live in the private R2 bucket pcbjam-ci-screenshots as immutable sha256/<hex>.png objects, pinned by the committed screenshot-manifest.json (v2: name, engine, sha256, bytes, dims). tests/baseline-screenshots/ becomes a gitignored cache materialized by the new `npm run screenshots:fetch` (r2-sync.ts + aws4fetch r2-store.ts). - promote.ts: requires the RW keypair (shell env or gitignored tests/.env), syncs the cache, uploads new hashes BEFORE rewriting the manifest; the manifest diff is the only git-visible output. --prune only edits the manifest — R2 objects are never deleted, old commits still resolve. - compare.ts: skips the gate (exit 0, no report.json) when the manifest expects baselines but the cache is empty (secretless callers). - changelog.ts: diffs the manifest between revs and fetches bytes from R2; guards against the migration commit (base manifest not v2 → skip). - gen-manifest --check: v2 schema + resurrection guard (fails if baseline PNGs are ever re-committed); credential-free so every caller can gate. - wasm-build.yml: declares optional read-only S3 secrets, caches + fetches baselines before the lint gate; release.yml/deploy-staging.yml pass them. - screenshot-changelog.yml: triggers on the manifest path instead of PNGs. All 492 objects are seeded and hash-verified in the bucket; fetch/compare degrade to a warn-and-skip without credentials. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
103 lines
2.5 KiB
Text
103 lines
2.5 KiB
Text
# Build directories
|
||
build/
|
||
build-*/
|
||
cmake-build-*/
|
||
|
||
# IDE
|
||
.idea/
|
||
.vscode/
|
||
*.swp
|
||
*.swo
|
||
*~
|
||
|
||
# Compiled objects
|
||
*.o
|
||
*.obj
|
||
*.a
|
||
*.so
|
||
*.dylib
|
||
*.dll
|
||
|
||
# WebAssembly output (but not Makefiles that end in .wasm)
|
||
*.wasm
|
||
!Makefile.wasm
|
||
*.js.map
|
||
*.wasm.map
|
||
|
||
# macOS
|
||
.DS_Store
|
||
|
||
# Emscripten cache
|
||
.emscripten_cache/
|
||
|
||
# Local emsdk installation (managed by scripts/setup-emsdk.sh)
|
||
/tools/emsdk/
|
||
|
||
# Clean clone for reproducible builds (generated by build-wxwidgets-wasm-clean.sh)
|
||
wxwidgets-clean/
|
||
|
||
# Test artifacts
|
||
/tests/node_modules/
|
||
/tests/playwright-report/
|
||
/tests/test-results/
|
||
# Baseline screenshots are a local cache fetched from R2 (tests/tools/screenshots/r2-sync.ts);
|
||
# only tests/screenshot-manifest.json is committed. The .env holds a dev's
|
||
# R2 keypair (r2-store.ts auto-loads it) — never commit it.
|
||
/tests/baseline-screenshots/
|
||
/tests/.env
|
||
/tests/bench-results/
|
||
/tests/pw-artifacts/
|
||
/tests/.test-port
|
||
/test-results/
|
||
/tests/apps/*.js
|
||
/tests/apps/*.html
|
||
/tests/apps/minimal_test.wasm
|
||
/tests/apps/standalone/*/*.js
|
||
/tests/apps/standalone/*/*.html
|
||
/tests/apps/standalone/*/*.wasm
|
||
/tests/apps/kicad/*.js
|
||
/tests/apps/kicad/*.wasm
|
||
# Demo board for the gerbview print test — provisioned at setup from
|
||
# site/public/gerber-demo/board (see tests/scripts/setup-kicad-wasm.sh), not committed.
|
||
/tests/apps/kicad/board/
|
||
|
||
# DOM-port test bundles (mirrored + built by scripts/build-wasm-test.sh --dom)
|
||
|
||
# Worktree-local canvas reference snapshot for regression gating (see
|
||
# features/wx-dom-port docs); derived from a local run, not a project asset
|
||
/tests/phase0-canvas-reference/
|
||
/tests/phase0-timestamp-noisy.txt
|
||
/tests/apps/kicad/*.tar.gz
|
||
!tests/apps/kicad/pcbnew.html
|
||
/tests/apps/gal-webgl/*.js
|
||
/tests/apps/gal-webgl/*.wasm
|
||
/tests/apps/3d-webgl/*.js
|
||
/tests/apps/3d-webgl/*.wasm
|
||
/temp/
|
||
*.log
|
||
*.tmp
|
||
output/
|
||
*.d
|
||
.playwright-mcp
|
||
.claude/worktrees/
|
||
|
||
# Feature patch scratch (generated by scripts/create-feature-patches.sh).
|
||
# Curated design docs live under docs/features/ and ARE committed.
|
||
/features/
|
||
|
||
# Temporary/disposable prebuilt WASM sets (native-EH + JS-EH × eeschema + pcbnew
|
||
# O1 builds) + the standalone perf harness, used to reproduce the runtime-perf
|
||
# comparison on demand. Large (~1 GB), never committed.
|
||
/benchmark-builds/
|
||
|
||
/memory/
|
||
|
||
# Wrangler (Cloudflare CLI) local state/cache — created when running R2 deploys.
|
||
.wrangler/
|
||
tests/.scratch/
|
||
*.o.stamp
|
||
tests/apps/standalone/*/stack_test*.mjs
|
||
tests/apps/standalone/*/coroutine_jspi_test*.mjs
|
||
|
||
# jspi retired the asyncify pipeline; leftover binaryen checkouts stay untracked
|
||
/binaryen/
|