Skip to content

Cut releases from the Actions tab - #14

Merged
loloDawit merged 1 commit into
mainfrom
release-from-actions
Sep 9, 2026
Merged

loloDawit merged 1 commit into
mainfrom
release-from-actions

Conversation

@loloDawit

Copy link
Copy Markdown
Owner

Releasing still meant knowing the next version, tagging by hand and getting the
tag format right — three chances to be wrong about something a script can work
out. As asked: it should be a button.

Actions → Release → Run workflow, then choose:

Choice v2.0.0 becomes
patch (default) v2.0.1
minor v2.1.0
major v3.0.0

The workflow reads the last tag, works out the next version, runs both test
suites, tags the commit and publishes with generated notes.

Details worth checking in review

  • Version sorting uses --sort=-v:refname, so v10.0.0 beats v2.9.9 rather
    than losing to it alphabetically. Verified against a repository with
    v2.0.0, v2.9.9, v2.10.0, v10.0.0 and v2.0.10: a plain sort picks
    v2.9.9, the version-aware sort picks v10.0.0.
  • The arithmetic was tested across the rollover cases: v2.9.9 as a minor
    gives v2.10.0, not v2.1.0, and v2.0.9 as a patch gives v2.0.10.
  • It refuses to run from anywhere but main, and refuses to reuse a version
    that already exists.
  • The chosen version is written to the run summary before anything is pushed.

The tag-push trigger is removed. Two routes to a release is one more than is
useful, and a tag pushed by a workflow does not trigger other workflows, so
keeping it would have been a trap: a tag created here would silently not have
published.

Releasing still meant knowing the next version, tagging by hand and
getting the tag format right, which is three chances to be wrong about
something a script can work out.

Actions -> Release -> Run workflow now offers major, minor or patch,
patch being the default. The workflow reads the last tag, works out the
next version, runs both suites, tags the commit and publishes.

- Version sorting is version-aware, so v10.0.0 wins over v2.9.9 rather
  than losing to it alphabetically, and v2.9.9 as a minor gives v2.10.0.
- It refuses to run from anywhere but main, and refuses to reuse a
  version that already exists.
- The chosen version appears in the run summary before anything is
  pushed.

The tag-push trigger is gone: two routes to a release is one more than
is useful, and a tag pushed by a workflow does not trigger workflows
anyway, so it would have been a trap.
@loloDawit
loloDawit merged commit b15f487 into main Sep 9, 2026
2 checks passed
@loloDawit
loloDawit deleted the release-from-actions branch September 9, 2026 19:06
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