pcbjam/.gitignore
Istvan Matejcsok 6dfa6ebd15 tests: move screenshot baselines from git to R2 (content-addressed manifest v2)
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>
2026-08-19 09:21:28 +02:00

103 lines
2.5 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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/