Skip to content

Commit f3bc13f

Browse files
committed
ci: stop committing releases back to main
The Actions app cannot be granted a ruleset bypass, so @semantic-release/git could never push past the two-stage rule without a personal token. Dropping it leaves the tag, the npm publish and the GitHub Release, all of which the built-in token can do.
1 parent 6a205d6 commit f3bc13f

5 files changed

Lines changed: 14 additions & 161 deletions

File tree

.github/workflows/release.yml

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,12 @@ jobs:
2727
steps:
2828
- uses: actions/checkout@v4
2929
with:
30-
# @semantic-release/git pushes the `chore(release)` commit straight to
31-
# main, which the `two-stage` ruleset otherwise requires a PR for.
32-
# The GitHub Actions app (id 15368) is a bypass actor on that ruleset,
33-
# so the built-in token is sufficient — matching turbo-sdk, which runs
34-
# the same release with the plain GITHUB_TOKEN. No PAT to expire.
35-
# A push made with this token does not re-trigger workflows, and the
36-
# release commit carries [skip ci] regardless.
30+
# semantic-release pushes only the version tag, and the `two-stage`
31+
# ruleset covers refs/heads/main, not refs/tags — so the built-in
32+
# token is enough and no personal credential is involved. Nothing
33+
# here writes to main: @semantic-release/git was removed precisely
34+
# because the Actions app cannot be granted a ruleset bypass
35+
# ("must be part of the ruleset source or owner organization").
3736
token: ${{ github.token }}
3837
fetch-depth: 0
3938
fetch-tags: true

.releaserc.json

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,7 @@
1010
"plugins": [
1111
"@semantic-release/commit-analyzer",
1212
"@semantic-release/release-notes-generator",
13-
"@semantic-release/changelog",
1413
"@semantic-release/npm",
15-
"@semantic-release/github",
16-
[
17-
"@semantic-release/git",
18-
{
19-
"assets": ["package.json", "CHANGELOG.md"],
20-
"message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
21-
}
22-
]
14+
"@semantic-release/github"
2315
]
2416
}

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
# Changelog
2+
3+
Release notes for 1.0.2 onward are published on the
4+
[Releases page](https://github.com/ar-io/ar-io-deploy/releases), generated from
5+
the same Conventional Commits that drive the version bump. The entries below are
6+
the historical record through 1.0.1, when the changelog was committed in-repo.
7+
18
## [1.0.1](https://github.com/ar-io/ar-io-deploy/compare/v1.0.0...v1.0.1) (2026-07-20)
29

310

package.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,6 @@
6262
"@commitlint/config-conventional": "^19.6.0",
6363
"@oclif/prettier-config": "^0.2.1",
6464
"@oclif/test": "^4.1.14",
65-
"@semantic-release/changelog": "^6.0.3",
66-
"@semantic-release/git": "^10.0.1",
6765
"@semantic-release/npm": "^13.1.1",
6866
"@types/mime-types": "^2.1.4",
6967
"@types/node": "^22.10.2",

0 commit comments

Comments
 (0)