Repository navigation
Switch release workflow to manual trigger with version input - #16
Merged
Merged
Conversation
Replace the release-created trigger, which retagged and force-pushed to commit the built plugin onto the tag, with a manual workflow_dispatch that takes a version number input. The tag is now created exactly once, already pointing at the built and versioned code, and is never moved or force-pushed — matching the approach taken in hm-query-loop and satisfying Packagist's tag immutability requirement. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JuiSYc2zyC3snrT5wKS1iA
Playwright E2E Test Results (PHP 8.4, WP latest)Details
|
roborourke
marked this pull request as ready for review
August 7, 2026 10:12
Add a Release Process section covering the new manually-triggered workflow: how to run it, what it does step by step, and why tags are immutable (Packagist compatibility). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JuiSYc2zyC3snrT5wKS1iA
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What & why
The old
release.ymltriggered onrelease: created. Because the release already existed at a tag, the workflow had to build the plugin, commit the compiled assets, and then force-push the tag to move it onto the new commit. Retagging + force-pushing is the behaviour we wanted to get rid of — it breaks Packagist's tag immutability and is generally fragile.This mirrors the change already made in
hm-query-loop: the release is now cut from a manualworkflow_dispatchwith aversioninput. The tag is created exactly once, already pointing at the built and versioned code, and is never moved or force-pushed.Changes
.github/workflows/release.yml:on: release: createdtoon: workflow_dispatchwith a requiredversioninput (X.Y.Z, no leadingv).v<version>tag already exists.main, runsnpm ci && npm run build, and stamps the version intopopup.php(__VERSION__placeholder).build/output so the tagged tree is self-contained, commits, creates an annotated tag once, and pushes only that tag — no force push.popup.zipvia the existingnpm run plugin-zipscript and publishes a GitHub release (with generated notes) usingsoftprops/action-gh-release@v2.How to use
Run the Release workflow from the Actions tab and supply the version (e.g.
1.2.3).Notes
npm run plugin-zipmechanism rather than thegit archiveapproachhm-query-loopuses, since this repo has no.gitattributesandplugin-zipwas already the established tooling here.build-and-release.yml(the release-branch mirror on push tomain) is unchanged.Generated by Claude Code