Skip to content

chore(governance): retire the develop branch - #112

Merged
L4XB merged 1 commit into
mainfrom
chore/retire-develop
Sep 14, 2026
Merged

L4XB merged 1 commit into
mainfrom
chore/retire-develop

Conversation

@L4XB

@L4XB L4XB commented Sep 14, 2026

Copy link
Copy Markdown
Member

Why

With one maintainer there is nothing to integrate. Every change already goes
through a pull request that main gates on 19 required checks, code scanning,
DCO, CLA, signed commits and linear history. A second long-lived branch adds no
safety on top of that — it only has to be kept in step by hand.

It was not free. Because both branches allow squash merges only, the same
content necessarily gets a different commit on each. "Are they in sync?" could
only be answered by comparing tree hashes, and it looked like drift when it was
not. Keeping them level cost two pull requests (#95, #100) and two full CI runs
that produced no product change. With strict up-to-date on both, every merge
on one side invalidated pending work on the other.

Nothing depends on it. main is the default branch, no workflow needs
develop to exist, and release.yml already refuses to run unless it is
dispatched from refs/heads/main with the tag contained there — v0.2.0-alpha.1
was cut directly from main, even though the runbook said to promote from
develop.

What changes

ci.yml, codeql.yml, security.yml, dependency-review.yml branches: [main, develop][main]
.github/dependabot.yml 8 target-branch: develop entries removed
CONTRIBUTING.md, GOVERNANCE.md branch from and target main; the governance text says why there is no integration branch
docs/RELEASING.md, docs/RELEASE_CHECKLIST.md releases are cut from reviewed main commits
.github/scripts/claim_issue.py + its test the reply /claim sends a new contributor

After this: grep -rn '\bdevelop\b' across the tree returns nothing outside
development-dependencies and the word "developer".

Verification

uv run pytest tests/test_repository_automation.py -q  →  72 passed
uv run ruff check .github/scripts tests               →  All checks passed!
uv run ruff format --check .github/scripts tests      →  24 files already formatted
dependabot.yml: 8 ecosystems intact, 0 target-branch entries

After this merges

Two steps that are not part of the diff, in this order:

  1. Delete the Protect develop ruleset (23079701).
  2. Delete the develop branch.

The six Dependabot pull requests that targeted develop were landed first in
#111, so nothing is orphaned.

@L4XB

L4XB commented Sep 14, 2026

Copy link
Copy Markdown
Member Author

I have read and agree to the SixSentences CLA v1.0.

With one maintainer there is nothing to integrate. Every change already
goes through a pull request that main gates on the full check suite, code
scanning, DCO, CLA, signed commits and linear history, so a second
long-lived branch adds no safety — it only has to be kept in step by hand.

It was not free. Because both branches allow squash merges only, the same
content necessarily gets a different commit on each, so 'are they in sync?'
could only be answered by comparing tree hashes, and it looked like drift
when it was not. Keeping them level cost two pull requests and two full CI
runs that produced nothing. With strict up-to-date on both, every merge on
one side invalidated pending work on the other.

Nothing depended on it: main is the default branch, no workflow needs
develop to exist, and the release workflow already refuses to run unless it
is dispatched from refs/heads/main with the tag contained there.

Removes the branch from the four workflow trigger lists and the eight
Dependabot target-branch entries, and rewrites the contributing, governance,
releasing and checklist text plus the reply /claim sends a new contributor.

Signed-off-by: L4XB <L4XB@users.noreply.github.com>
@L4XB
L4XB force-pushed the chore/retire-develop branch from f46b78f to a23a087 Compare September 14, 2026 14:03
@L4XB
L4XB merged commit 444b46e into main Sep 14, 2026
23 checks passed
@L4XB
L4XB deleted the chore/retire-develop branch September 14, 2026 14:22
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