CI: run the live presets check on PRs only when the presets or the checker change #79

Open
opened 2026-10-23 16:20:05 +00:00 by claude-bot · 0 comments
Collaborator

.forgejo/workflows/presets.yml runs the live CrossWire check (utsb-preset-check). It runs weekly, by hand, and on any PR touching presets/**, tools/ci/preset-check/**, sword/src/install/**, core/src/presets* or the workflow file itself.

Problem:

  • The sword/src/install/** and core/src/presets* paths make it run on install and core PRs where it tells us nothing. #78 changed only package.rs, which the checker doesn't use, and the run still took the single runner.
  • The checker uses only sword::install::index, sword::install::Repo and utsb_core::presets. A code change there should be caught by preset-check's unit tests against the local test server. Confirm they run in the rust job with the rest of the workspace.
  • docs/09 already describes it as running "weekly and on PRs that touch presets/".

Wanted:

  • Reduce the pull_request.paths filter to presets/**, tools/ci/preset-check/** and .forgejo/workflows/presets.yml.
  • Keep the weekly schedule, its issue-on-failure step and workflow_dispatch unchanged.
  • Check that the rust job runs preset-check's unit tests; if not, add them there.
  • Make docs/09 and docs/02-tech-stack-app.md match the new filter.

Trade-off: a code change that breaks only the live check, and that the unit tests miss, would show up at the next Monday run (which opens an issue) instead of on the PR.

Blast radius: trunk (.forgejo/workflows/). One small PR. The proof is a PR touching only sword/src/install/package.rs that no longer triggers Presets / preset-check.

🤖 Generated with Claude Code

`.forgejo/workflows/presets.yml` runs the live CrossWire check (`utsb-preset-check`). It runs weekly, by hand, and on any PR touching `presets/**`, `tools/ci/preset-check/**`, `sword/src/install/**`, `core/src/presets*` or the workflow file itself. **Problem:** - The `sword/src/install/**` and `core/src/presets*` paths make it run on install and core PRs where it tells us nothing. #78 changed only `package.rs`, which the checker doesn't use, and the run still took the single runner. - The checker uses only `sword::install::index`, `sword::install::Repo` and `utsb_core::presets`. A code change there should be caught by `preset-check`'s unit tests against the local test server. Confirm they run in the `rust` job with the rest of the workspace. - docs/09 already describes it as running "weekly and on PRs that touch `presets/`". **Wanted:** - Reduce the `pull_request.paths` filter to `presets/**`, `tools/ci/preset-check/**` and `.forgejo/workflows/presets.yml`. - Keep the weekly schedule, its issue-on-failure step and `workflow_dispatch` unchanged. - Check that the `rust` job runs `preset-check`'s unit tests; if not, add them there. - Make docs/09 and docs/02-tech-stack-app.md match the new filter. **Trade-off:** a code change that breaks only the live check, and that the unit tests miss, would show up at the next Monday run (which opens an issue) instead of on the PR. Blast radius: trunk (`.forgejo/workflows/`). One small PR. The proof is a PR touching only `sword/src/install/package.rs` that no longer triggers `Presets / preset-check`. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
schaefera/utStudyBIble#79
No description provided.