Files
probo/contrib/claude/release/probod.md
Bryan Frimin ac526fb54d Split release into per-track packages
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>
2026-05-06 16:04:36 +02:00

1.9 KiB

Release probod (server group)

Entrypoint for releasing the probod server group. Read README.md first for overall flow, changelog rules, and the non-empty-track guarantee.

This track ships probod, @probo/console, @probo/trust, and @probo/ui together as the Docker image and accompanying binary archive. They share the same version.

Track facts

  • Tag pattern: probod/v*
  • Version source: cmd/probod/VERSION (contains only X.Y.Z)
  • Changelog: cmd/probod/CHANGELOG.md (covers all four components)
  • Workflow: .github/workflows/release-probod.yaml
  • Path filter (for log/scoping): cmd/probod apps/console apps/trust packages/ui pkg

Steps

  1. From a clean main, list commits since the last probod tag:

    git log $(git describe --tags --abbrev=0 --match='probod/v*')..HEAD --oneline \
      -- cmd/probod apps/console apps/trust packages/ui pkg
    

    If the list is empty (or contains only non-user-facing commits), do not release this track.

  2. Decide the version bump (PATCH for fixes, MINOR for features).

  3. Bump the version in cmd/probod/VERSION.

  4. Write the new entry in cmd/probod/CHANGELOG.md covering changes across probod, @probo/console, @probo/trust, and @probo/ui. Follow the rules in README.md.

  5. Show the user the changelog diff and the new version. Wait for confirmation.

  6. Stage only cmd/probod/VERSION and cmd/probod/CHANGELOG.md. Commit subject: Release probod/v<version>. No body.

  7. Annotated tag: git tag -a probod/v<version> -m "probod/v<version>".

  8. Push: git push origin main --follow-tags.

CI workflow release-probod.yaml builds the frontends, builds the Go binaries, builds and pushes the multi-arch image to ghcr.io/getprobo/probo:probod-v<version> (and :latest), runs Trivy + cosign + attestations, and publishes the GitHub Release.