Skip to content

ci(release): tag automatically when a dev-v* branch merges to main - #6

Closed
roncodes wants to merge 1 commit into
mainfrom
ci/release-tag-automation
Closed

ci(release): tag automatically when a dev-v* branch merges to main#6
roncodes wants to merge 1 commit into
mainfrom
ci/release-tag-automation

Conversation

@roncodes

Copy link
Copy Markdown
Member

Adds the release-tag caller. Part of the rollout for fleetbase/fleetbase#620, which holds the reusable workflow this delegates to.

What it does

When a dev-v* branch is merged to main, it validates and pushes the tag — and nothing else. create-release.yml and the publish jobs in this repository already chain off push: tags: ['v*'], so a second release path would duplicate them.

The version is never retyped. It comes from the branch name (dev-v1.2.3v1.2.3), and the tag is refused unless every version file and RELEASE.md already agree with it.

Validation, each failing rather than warning

  • the PR was merged, not merely closed, from a dev-v<semver> branch
  • every version file exists, yields a version, and matches
  • RELEASE.md exists, is non-empty, and its first line names this version
  • no tag already exists at a different commit (same commit is a safe no-op)

The tag goes on the PR's merge commit, never on main at run time.

Before this can release

  1. ci(release): tag automatically when a dev-v* branch merges to main fleetbase#620 must merge first@main will not resolve until it does.
  2. This repo needs a RELEASE.md whose first line names the version, e.g.
    > v1.2.3 ~ "What this release is about"
    
    Without it the notes check fails and no tag is pushed. That check is the only thing that can distinguish notes written for this release from the previous release's notes nobody replaced.

🤖 Generated with Claude Code

Delegates to the reusable workflow in fleetbase/fleetbase, which validates and pushes
the tag; create-release.yml and the publish jobs here already chain off the tag push.

The version is never retyped — it comes from the dev-v* branch name, and the tag is
refused unless the version files and RELEASE.md already agree with it. This repository
is an ember addon plus a server, so it carries composer.json, package.json and extension.json.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@roncodes

Copy link
Copy Markdown
Member Author

Superseded — these changes went straight to dev-v0.0.2 (the working branch) as requested, in 29fa6866. That commit also adds the create-release.yml pallet was missing entirely, so tagging it now produces a GitHub Release rather than only npm and GitHub Packages.

@roncodes roncodes closed this Aug 17, 2026
@roncodes
roncodes deleted the ci/release-tag-automation branch August 17, 2026 05:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant