Skip to content

Use gitsemver - #195

Merged
piontec merged 14 commits into
mainfrom
use-gitsemver
Jun 22, 2026
Merged

Use gitsemver#195
piontec merged 14 commits into
mainfrom
use-gitsemver

Conversation

@piontec

@piontec piontec commented Jun 2, 2026

Copy link
Copy Markdown
Contributor

Checklist

  • I have updated the CHANGELOG.md with a description of the change

piontec and others added 3 commits May 28, 2026 15:18
…architect

The local composite action .github/actions/gitsemver-install was referenced
as 'uses: ./.github/actions/...' from create-release.yaml and
create-release-pr.yaml, but those are reusable (workflow_call) workflows that
run in the caller's repo context — the path resolves against the consumer's
checkout, which lacks the action, so it failed for every consumer. Replace all
three usages with giantswarm/install-binary-action (gitsemver v1.1.2, which also
fixes the --version flag) and delete the composite action.

Also:
- Remove the unused architect install from update_project_go (the -dev bump is
  done entirely by gitsemver + sed; architect was never invoked there).
- Drop the dangling 'ref_version' if: guards left over after that output was
  removed (they always evaluated truthy).
- Annotate the build-artifacts architect install as transitional: it only
  serves consumer Makefiles still on the pre-gitsemver devctl template
  (architect project version); devctl's current template uses gitsemver version.

Aligns with architect-orb v9.0.0, making gitsemver the single source of
git-based semver.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@piontec
piontec requested a review from a team as a code owner June 2, 2026 12:21
@piontec
piontec marked this pull request as draft June 2, 2026 12:42
v2.0.0 only renamed `version` to `get`; `next` and `validate` are unchanged.
@QuentinBisson

Copy link
Copy Markdown
Contributor

@piontec i took the liberty of bumping gitsemver to 2.0.0

piontec and others added 7 commits June 3, 2026 12:28
This reverts commit 7603adc.
git push origin bare silently fails when persist-credentials: false is set
(credentials aren't available). Use the authenticated TAYLORBOT_GITHUB_ACTION
remote URL, matching the pattern used by every other push step in the file.
Also quote $release_branch and suppress expected stderr from
git rev-parse --verify when the branch doesn't yet exist.

Pre-existing bug on main — discovered during testing with the use-gitsemver branch.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…as no unique commits

When a release branch like main#release#minor-rc is freshly pushed from
main, github.sha is the base-branch HEAD. If that commit was created by
a previous release workflow it carries a Release-Workflow-Run: trailer,
causing check_skip to set skip=true before any PR is created.

Fix: only apply the Release-Workflow-Run: loop-prevention guard when the
release branch is ahead of its base (ahead_by > 0), i.e. the workflow
has already committed to it. A freshly-pushed branch with ahead_by = 0
skips straight to skip=false, so RC tokens (minor-rc, major-rc, etc.)
now create release PRs the same way stable tokens do.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…anches

The changelog PR check only handled major/minor/patch and bare X.Y.Z
versions, so RC release branches (main#release#minor-rc, #major-rc,
#patch-rc, #rc, #rc-release) and explicit RC versions (#v1.2.3-rc.4)
fell through to the error case and failed the required check.

Parse the release token from the segment after the last '#' (the same
way create-release-pr.yaml does) and match on it, instead of matching
the whole branch with *#release#<token> patterns. The version regexes
now allow an optional -rc.N suffix. This also fixes the prefix-less
release#<token> scheme, which the old patterns never matched because
they required a '#' before "release".

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
RC tags (vX.Y.Z-rc.N) were published as full GitHub releases, so a
release candidate could become the repo's "Latest release". Pass the
already-computed gather_facts.is_rc to ncipollo/release-action's
prerelease input so RC releases are flagged as pre-releases.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
piontec added a commit to giantswarm/devctl that referenced this pull request Jun 10, 2026
Add release-candidate bump tokens (major-rc, minor-rc, patch-rc, rc,
rc-release) to the create_release_pr.yaml template push triggers for the
main, master and release bases. Without these, repos generated by devctl
never start a release PR when an RC branch like main#release#minor-rc is
pushed, so RC releases couldn't be cut the way stable ones are.

Explicit-version and maintenance-branch patterns are unchanged: their
'v*.*.*' globs already match RC versions such as v2.1.0-rc.1.

Requires the matching reusable-workflow support in
giantswarm/github-workflows#195.

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
@piontec
piontec marked this pull request as ready for review June 11, 2026 11:14
@piontec
piontec merged commit 1d9d015 into main Jun 22, 2026
3 checks passed
@piontec
piontec deleted the use-gitsemver branch June 22, 2026 11:05
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.

3 participants