Skip to content

ci: main stops carrying ci-<lang>.yml; document the CI layout - #90

Merged
walterjgsp merged 1 commit into
mainfrom
docs/ci-layout
Oct 10, 2026
Merged

walterjgsp merged 1 commit into
mainfrom
docs/ci-layout

Conversation

@walterjgsp

Copy link
Copy Markdown
Contributor

Step 3c of making Sync Downstream Branches robust. Steps a and b (#85 and #86 to #89) moved the shared steps into composite actions and made each branch's ci-<lang>.yml a thin file of its own; this finishes it.

Changes

  • Delete ci-kotlin.yml, ci-rust.yml, ci-ts.yml and ci-swift.yml from main. Their triggers only fire for their own branch, so they never ran on main; the copy there was only a template that both sides then edited. Each language branch keeps and owns its own.
  • docs/ci.md (new, linked from docs/README.md): who owns which CI file, the two composite actions, a template ci-<lang>.yml for a new language branch, and how the downstream sync works and what to do when it conflicts.
  • AGENTS.md: new rule 1.5, shared CI (release.yml, .github/actions/*) is edited on main only.

What the sync will do

A dry run of the post-merge main against each branch shows one modify/delete conflict per branch, on its own ci-<lang>.yml (deleted here, modified there), nothing else (swift's docs/README.md auto-merges). So the automatic sync fails once after this merges; I will resolve each branch by keeping its file, with git merge main, and re-run it. After that main has no file a branch edits, which is what kept conflicting.

Not in this PR: a guard that rejects a language-branch PR touching a shared file (idea 5); it would have to be called from each branch's own workflow.

🤖 Generated with Claude Code

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@walterjgsp
walterjgsp merged commit 77e1b08 into main Oct 10, 2026
3 checks passed
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.

1 participant