Skip to content

ci(release): land releases on lightly-protected main (drop PAT)#13

Merged
DGINXREAL merged 1 commit into
developfrom
chore/release-to-main
Jun 12, 2026
Merged

ci(release): land releases on lightly-protected main (drop PAT)#13
DGINXREAL merged 1 commit into
developfrom
chore/release-to-main

Conversation

@DGINXREAL

Copy link
Copy Markdown
Member

Adapts the NoiXdev/inventorix model so releases work with no PAT.

Why

inventorix avoids a release token by pushing its changelog to a branch (main) whose ruleset has only deletion + non_fast_forward + required_linear_history — no PR/status-check rules — so the default GITHUB_TOKEN can push a normal linear commit directly. The strict PR gate lives on develop, where nothing auto-pushes.

Changes

  • release.yml — changelog job now checks out and pushes to main with the default GITHUB_TOKEN; the RELEASE_TOKEN PAT is removed.
  • scripts/main-ruleset.json + apply-main-ruleset.sh — the new protect-main ruleset (already applied live, id 17589891).
  • apply-develop-ruleset.sh — comment updated (develop no longer receives auto-pushes).

develop keeps its strict protect-develop ruleset unchanged.

New release ritual

  1. Merge develop → main (squash/linear merge to satisfy required_linear_history).
  2. Tag the release on main (vX.Y.Z).
  3. The workflow regenerates the CHANGELOG, commits it to main via GITHUB_TOKEN, and builds the installers.

No RELEASE_TOKEN secret required — you can delete it if you created one.

Mirror the NoiXdev/inventorix model: the release bot pushes the CHANGELOG to
`main`, which is only lightly protected (deletion + non-fast-forward +
linear-history, no PR/status-check rules), so the default GITHUB_TOKEN can
push it directly — no RELEASE_TOKEN PAT and no bypass actor.

- release.yml: checkout/commit/push CHANGELOG to main via GITHUB_TOKEN
- add protect-main ruleset (scripts/main-ruleset.json + applier)
- develop stays the strict, PR + CI gated integration branch

Release ritual: merge develop -> main (squash/linear), tag on main.
@DGINXREAL
DGINXREAL merged commit 098b4b8 into develop Jun 12, 2026
1 check passed
@DGINXREAL
DGINXREAL deleted the chore/release-to-main branch June 12, 2026 04:00
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