ci(semantic-release): auto versioning via semantic-release
- .releaserc.json: commit-analyzer + release-notes-generator + changelog + exec (prepare) + git + github plugins. - .semrel/prepare.mjs: syncs next release version into package.json AND flake.nix before the release commit — guarantees a fresh Nix store path on every deploy (fixes the trap where a source change without a version bump reused the same store path and CI silently deployed stale code). - release.yml: runs semantic-release on main push (GITHUB_TOKEN, isolated /tmp/sr-tools install so package.json/bun.lock stay clean). - Release commit (no [skip ci]) triggers deploy.yml → auto build+deploy. - Baseline tag v1.1.1 backfilled at current HEAD.
This commit is contained in:
1 parent
9743fbf4b7
commit
f16161d38a
3 files changed
+106
No files matched your search
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"branches": ["main"],
|
||||
"plugins": [
|
||||
"@semantic-release/commit-analyzer",
|
||||
"@semantic-release/release-notes-generator",
|
||||
[
|
||||
"@semantic-release/changelog",
|
||||
{
|
||||
"changelogFile": "CHANGELOG.md"
|
||||
}
|
||||
],
|
||||
[
|
||||
"@semantic-release/exec",
|
||||
{
|
||||
"prepareCmd": "node ./.semrel/prepare.mjs '${nextRelease.version}' && bunx biome check package.json flake.nix CHANGELOG.md 2>/dev/null || true"
|
||||
}
|
||||
],
|
||||
[
|
||||
"@semantic-release/git",
|
||||
{
|
||||
"assets": ["package.json", "flake.nix", "CHANGELOG.md"],
|
||||
"message": "chore(release): ${nextRelease.version}\n\n${nextRelease.notes}"
|
||||
}
|
||||
],
|
||||
"@semantic-release/github"
|
||||
]
|
||||
}
|
||||
Reference in new issue
Block a user