ci: trigger CI on PR creation, gate build-docs to push/dispatch only #169

Merged
rootiest merged 1 commits from ci/pr-trigger into main 2026-09-23 02:33:16 +00:00
Owner

Summary

.github/workflows/ci.yml only had a push: branches: [main] trigger — no pull_request trigger at all, so PRs never got automated CI feedback; the only gate was whatever a human (or agent) ran locally before merge. This adds one.

  • New pull_request: branches: [main] trigger, sharing the same paths: filter as push via a YAML anchor (&ci-paths / *ci-paths) instead of duplicating the list.
  • build-docs job gains github.event_name != 'pull_request' to its if:. It auto-commits generated docs (fish-config.md, .1, the component registry) straight to the checked-out ref and deploys the Cloudflare Pages production site with --branch=main — neither should run against PR content, which isn't main yet.
  • test job's existing if: (Gitea-only, racknerd-mini runner) needed no change — it already gates correctly for both event types.

Verification

  • python3 -c "import yaml; yaml.safe_load(open('.github/workflows/ci.yml'))" — valid YAML.
  • python3 docs/verify-manual.py — 84/84 passed.
  • fish tests/run-tests.fish — 757/757 assertions passed, exit 0.
## Summary `.github/workflows/ci.yml` only had a `push: branches: [main]` trigger — no `pull_request` trigger at all, so PRs never got automated CI feedback; the only gate was whatever a human (or agent) ran locally before merge. This adds one. - New `pull_request: branches: [main]` trigger, sharing the same `paths:` filter as `push` via a YAML anchor (`&ci-paths` / `*ci-paths`) instead of duplicating the list. - `build-docs` job gains `github.event_name != 'pull_request'` to its `if:`. It auto-commits generated docs (`fish-config.md`, `.1`, the component registry) straight to the checked-out ref and deploys the Cloudflare Pages **production** site with `--branch=main` — neither should run against PR content, which isn't `main` yet. - `test` job's existing `if:` (Gitea-only, `racknerd-mini` runner) needed no change — it already gates correctly for both event types. ## Verification - [x] `python3 -c "import yaml; yaml.safe_load(open('.github/workflows/ci.yml'))"` — valid YAML. - [x] `python3 docs/verify-manual.py` — 84/84 passed. - [x] `fish tests/run-tests.fish` — 757/757 assertions passed, exit 0.
rootiest added 1 commit 2026-09-23 02:32:29 +00:00
Adds a pull_request trigger (same path filters, YAML anchor to share
them with push) so branches get CI feedback before merge instead of
only after. build-docs is excluded on pull_request: it auto-commits
generated docs straight to the checked-out ref and deploys the
Cloudflare Pages production site with --branch=main, neither of which
should run against PR content that is not main yet.
rootiest added the Kind/ChoreArea/CI labels 2026-09-23 02:32:35 +00:00
rootiest merged commit 17a95abebe into main 2026-09-23 02:33:16 +00:00
rootiest deleted branch ci/pr-trigger 2026-09-23 02:33:21 +00:00
Sign in to join this conversation.
No Reviewers
No labels Area/CI Kind/Chore
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: rootiest/fish-config#169