- .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.
27 lines
695 B
JSON
27 lines
695 B
JSON
{
|
|
"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"
|
|
]
|
|
} |