Skip to content

Release tool - #2

Merged
feO2x merged 13 commits into
mainfrom
release-tool
Sep 27, 2026
Merged

feO2x merged 13 commits into
mainfrom
release-tool

Conversation

@feO2x

@feO2x feO2x commented Sep 27, 2026

Copy link
Copy Markdown
Owner
  • introduces a release tool that makes changes across plugin.json, CHANGELOG.md, and git tags to properly publish a new version
  • also introduces a corresponding GitHub Actions Release workflow

feO2x and others added 6 commits September 27, 2026 07:18
Move the common test project settings (Exe output, test project flag,
xUnit v3 reference) into tests/Directory.Build.props and the common tool
project settings into tools/Directory.Build.props. Both import the root
Directory.Build.props.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
GuidedCoding.Release proposes the next version from the commits since the
last vMAJOR.MINOR.PATCH tag, updates the manifests and CHANGELOG.md,
validates, commits, tags, pushes main and the tag atomically, and runs
gh skill publish.

The package validation tests no longer pin a specific version, and the
changelog now collects changes under an Unreleased heading.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Add a --yes flag that skips the confirmation prompt so the tool can run
without a terminal. Stop setting the agent-skills repository topic during
a release: GitHub's workflow token lacks the admin permission it needs,
and the topic is a one-time setup that is already in place.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
The Release workflow runs the release tool with --yes on main. It accepts
an optional version and defaults to a dry run, so a first run only shows
the proposed version.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@feO2x feO2x self-assigned this Sep 27, 2026
@feO2x feO2x added the enhancement New feature or request label Sep 27, 2026
feO2x and others added 7 commits September 27, 2026 08:01
Run the Claude Code plugin validation, which executes an unpinned npm
package, in a separate job with read-only permissions. The release job
depends on it and is the only job with contents: write. Pin the actions
in the release workflow to commit SHAs.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Commit and tag are local and reversible, so they now run under the same
guard as the file changes and validations. A failing hook or signature
resets to the original HEAD and restores the release files instead of
leaving a staged bump or an untagged release commit behind.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Release tags are now plain MAJOR.MINOR.PATCH versions, so a tag is the
version itself. gh skill resolves pinned versions as plain git tags and
does not require the prefix. No release tags exist yet, so nothing needs
to be migrated.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Pushing the release also pushed any local commits that never reached
origin/main, bypassing pull requests and CI. The release tool now
requires main to match origin/main, so the release pushes nothing but
its own commit.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Every tag in the repository is now a release tag. The release tool used
to skip tags in other forms, so a v-prefixed tag from a manual
gh skill publish went unnoticed: the tool derived the next version from
an older release and could release an existing version a second time.
It now refuses to run while any tag is not a plain MAJOR.MINOR.PATCH
version.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@feO2x
feO2x merged commit 72c3772 into main Sep 27, 2026
2 checks passed
@feO2x
feO2x deleted the release-tool branch September 27, 2026 11:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant