Skip to content

chore(ci): add chore/* and docs/* to ci.yml push trigger#20

Merged
bakeb7j0 merged 1 commit into
mainfrom
chore/19-ci-branch-trigger-gap
Apr 8, 2026
Merged

chore(ci): add chore/* and docs/* to ci.yml push trigger#20
bakeb7j0 merged 1 commit into
mainfrom
chore/19-ci-branch-trigger-gap

Conversation

@bakeb7j0
Copy link
Copy Markdown
Contributor

@bakeb7j0 bakeb7j0 commented Apr 8, 2026

Summary

Add chore/* and docs/* to the .github/workflows/ci.yml push trigger branches array. Brings CI feedback parity to all four branch types defined in CLAUDE.md's "Branching Strategy" (feature, fix, chore, docs). Single-line additive change.

Surfaced during PR #18 (chore/17-ccfold) when gh pr checks --watch initially reported "no checks reported" until the pull_request event picked up the slack. Pre-fix behavior: chore/docs pushes were silently skipped on the push event. Post-fix: same fast-feedback loop as feature/fix branches.

Changes

  • .github/workflows/ci.yml (single line, +1/-1) — push trigger branches array goes from ["main", "feature/*", "fix/*"] to ["main", "feature/*", "fix/*", "chore/*", "docs/*"]. Existing patterns preserved, two new globs appended. No procedural logic added — complies with the new MANDATORY: No Procedural Logic in CI/CD YAML rule from chore(meta): fold CLAUDE.md template + bootstrap .claude-project.md #17.

Linked Issues

Closes #19

Test Plan

  • bun test — 111 pass / 0 fail / 330 expect() calls (unchanged from baseline; no code touched)
  • scripts/ci/validate.sh — full validation green (TypeScript + shellcheck + tests)
  • feature-dev:code-reviewer over the YAML change — reports "no issues found at medium risk or above", change is "correct, complete, and safe to merge"
  • Self-validating AC verified live — after pushing this chore/* branch with the fix in place, gh run list --branch chore/19-ci-branch-trigger-gap showed a push event CI run queued immediately. GitHub Actions evaluates workflow files from the branch being pushed, so the fix took effect on this very branch before merge. Compare to PR chore(meta): fold CLAUDE.md template + bootstrap .claude-project.md #18's pre-fix behavior, where the same query returned "no checks reported" until the pull_request event fired
  • Verified release.yml has no equivalent gap (it's tag-triggered only)
  • Verified the merge_group: trigger is unaffected — it uses GitHub's queue machinery independently of push.branches matching
  • Verified the new trigger doesn't introduce any side effects on the existing pull_request trigger or required-status-checks

Notes

  • The proof landed in the same step as the deploy. Most CI fixes only take effect after merging to main, so you have to trust the change. Here the validation was observable in real time on the branch itself.
  • CI cost trade-off: chore/docs branches now fire CI on every push instead of only on PR open. For this repo's volume and ~20-second workflow duration, the exposure is negligible. Net win for fast feedback.
  • No follow-up work needed. The fix is complete and self-contained. Stale origin/feature/* remote-tracking refs (10 of them) are a separate housekeeping item I flagged earlier — say the word and I'll prune them.

The CI workflow's push trigger only fired on main, feature/*, and fix/*
branches. chore/* and docs/* branches were silently skipped on push,
relying entirely on the pull_request trigger to provide CI feedback.
This created an asymmetry: feature/fix branches got immediate CI on
every push, but chore/docs branches had to wait for a PR to open.

CLAUDE.md "Branching Strategy" lists all four types as first-class, so
the CI trigger should match. Add chore/* and docs/* to the push trigger
branches array. Pure additive change — no procedural logic introduced,
no existing patterns removed, complies with the new MANDATORY: No
Procedural Logic in CI/CD YAML rule.

Surfaced during PR #18 (chore/17-ccfold-template-merge) when
`gh pr checks --watch` initially reported "no checks reported" until
the pull_request event picked up the slack a moment later.

The fix is self-validating: pushing this chore/* branch with the new
trigger in place either fires CI on the push event (success) or
doesn't (the pull_request fallback still covers the merge gate).

Closes #19

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@bakeb7j0 bakeb7j0 added this pull request to the merge queue Apr 8, 2026
Merged via the queue into main with commit e487128 Apr 8, 2026
4 checks passed
@bakeb7j0 bakeb7j0 deleted the chore/19-ci-branch-trigger-gap branch April 8, 2026 11:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

chore(ci): ci.yml push trigger missing chore/* and docs/* branch patterns

1 participant