Each shippable artifact (prb, probod server group, probod-bootstrap, @probo/n8n-nodes-probo, @probo/cookie-banner) now has its own version file, its own CHANGELOG.md, its own annotated-tag scheme of the form <track>/v<version>, and its own GitHub Actions release workflow. The unified release.yaml is removed; the unified CHANGELOG.md becomes a short index pointing at each per-track file, with the prior history preserved in CHANGELOG.archive.md. Probod's CHANGELOG carries the post-split monorepo releases (0.174.0 through 0.181.0) so the server-group history stays continuous and the probod docker image keeps its existing version line. contrib/claude/release.md is split into contrib/claude/release/ with one entrypoint per track plus a README that drives the agent: detect which tracks have user-facing commits since their last tag and skip tracks with no relevant changes, so a release request never tags an unchanged track. The cookie-banner and n8n-node entrypoints add an explicit npm run build step after the version bump (build.mjs bakes package.json's version into __SDK_VERSION__) so compile errors and package-lock.json updates are caught before tagging. Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2.1 KiB
Release @probo/n8n-nodes-probo
Entrypoint for releasing the n8n nodes package. Read README.md first for overall flow, changelog rules, and the non-empty-track guarantee.
Track facts
- Tag pattern:
@probo/n8n-nodes-probo/v*(the@and/are valid in Git tag refs) - Version source:
packages/n8n-node/package.json - Changelog:
packages/n8n-node/CHANGELOG.md - Workflow:
.github/workflows/release-npm-n8n-node.yaml - Path filter (for log/scoping):
packages/n8n-node
Steps
-
From a clean
main, list commits since the last@probo/n8n-nodes-probotag:git log $(git describe --tags --abbrev=0 --match='@probo/n8n-nodes-probo/v*')..HEAD --oneline \ -- packages/n8n-nodeIf the list is empty (or contains only non-user-facing commits), do not release this track.
-
Decide the version bump (PATCH for fixes, MINOR for features).
-
Bump the version using npm so
package.jsonandpackage-lock.jsonstay consistent:npm --workspace @probo/n8n-nodes-probo version <X.Y.Z> --no-git-tag-version -
Run the workspace build to confirm it succeeds with the new version (and to surface any compile errors before we tag):
npm --workspace @probo/n8n-nodes-probo run build -
Write the new entry in
packages/n8n-node/CHANGELOG.mdfollowing the rules in README.md. -
Show the user the changelog diff and the new version. Wait for confirmation.
-
Stage the files modified by the version bump and changelog edit (typically
packages/n8n-node/package.json,packages/n8n-node/CHANGELOG.md, andpackage-lock.json). Commit subject:Release @probo/n8n-nodes-probo/v<version>. No body. -
Annotated tag:
git tag -a @probo/n8n-nodes-probo/v<version> -m "@probo/n8n-nodes-probo/v<version>". -
Push:
git push origin main --follow-tags.
CI workflow release-npm-n8n-node.yaml verifies the tag matches
package.json, publishes to npm with provenance + SBOM, and creates a
GitHub Release.