Files
solvecraft/.github
bherbruck 16eebaed5b ci: skip build/test/difftest on docs-only changes; pushes to main run only publishing jobs
CI runs ~200 times a day at ~47 runner-minutes each (Blacksmith, sponsored).

- New `changes` job (scripts/ci/changes.sh). code=false only for a pull_request or
  merge_group whose diff touches nothing but prose no build/test/difftest reads
  (plan/findings/, plan/upstream-issues/, plan/*.md, site/, docs/, assets/, top-level
  *.md). Those skip clippy/test/wasm/publish-dry-run/deny and the difftest jobs; the
  required checks report "skipped" (passing). fmt (with the frozen-archive guard) and
  ci-scripts always run. Any doubt (no base, fetch failure) means code=true.
- Pushes to main (full=false) were already tested on the identical tree by the merge
  queue: they now run only what publishes main's artifacts, difftest-sweep (the
  difftest-reports the next PRs' exact-base ratchet reads) and the solids report step.
- `difftest` aggregate: passes on non-full runs when the sweep succeeded or was skipped;
  on full runs it still requires every part.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QaDuBSC1mqS9DnQoEsr7LJ
2026-10-25 15:18:59 -04:00
..