Conversation
…erges
Merging a plugin version bump to main is now the release: the zip build
detects an unreleased plugin Version header and creates the v{version}
tag + GitHub release with the readme.txt Upgrade Notice as the body and
the ZIP attached. The release is created inside the build job because
tags pushed with GITHUB_TOKEN don't trigger other workflows — a tag-push
hop would never fire the release build. Manual v* tag pushes remain a
backstop. Together with npm-publish.yml (which keys off package.json
independently), GitHub and npm releases now ship in sync from one merge.
Documents the automated flow in AGENTS.md (Versioning & Releases).
WalkthroughThe pull request automates plugin releases on merge to ChangesAutomated Plugin Release on Main Merge
🎯 3 (Moderate) | ⏱️ ~20 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
.github/workflows/build-plugin-zip.yml (1)
149-157: 📐 Maintainability & Code Quality | 💤 Low valueConsider using
gh release createdirectly (optional simplification).The workflow currently uses
softprops/action-gh-release. The static analysis tool suggests using the built-in GitHub CLI (gh release create) instead, which would reduce third-party action dependencies and use runner-native tooling. The current approach is perfectly fine and well-tested, so this is purely an optional simplification.Example alternative:
- name: Create tag + release for the new version (push to main) if: github.event_name == 'push' && github.ref == 'refs/heads/main' && steps.plugin_version.outputs.unreleased == 'true' env: GH_TOKEN: ${{ github.token }} run: | gh release create "v${{ steps.plugin_version.outputs.version }}" \ --title "v${{ steps.plugin_version.outputs.version }}" \ --notes-file "${{ runner.temp }}/release-notes.md" \ gk-block-mcp.zip🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.github/workflows/build-plugin-zip.yml around lines 149 - 157, The workflow step named "Create tag + release for the new version (push to main)" currently uses softprops/action-gh-release; to simplify and remove the third-party action, replace that step with a run step that invokes the GitHub CLI `gh release create` using the existing `steps.plugin_version.outputs.version` for tag/title, `runner.temp`/release-notes.md for notes, and include the artifact `gk-block-mcp.zip`; ensure you set env GH_TOKEN=${{ github.token }} so `gh` is authenticated and preserve the same conditional `if: github.event_name == 'push' && github.ref == 'refs/heads/main' && steps.plugin_version.outputs.unreleased == 'true'`.Source: Linters/SAST tools
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In @.github/workflows/build-plugin-zip.yml:
- Around line 149-157: The workflow step named "Create tag + release for the new
version (push to main)" currently uses softprops/action-gh-release; to simplify
and remove the third-party action, replace that step with a run step that
invokes the GitHub CLI `gh release create` using the existing
`steps.plugin_version.outputs.version` for tag/title,
`runner.temp`/release-notes.md for notes, and include the artifact
`gk-block-mcp.zip`; ensure you set env GH_TOKEN=${{ github.token }} so `gh` is
authenticated and preserve the same conditional `if: github.event_name == 'push'
&& github.ref == 'refs/heads/main' && steps.plugin_version.outputs.unreleased ==
'true'`.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 28cb80a4-5ea7-4ae7-aeb1-586ce58e93de
📒 Files selected for processing (2)
.github/workflows/build-plugin-zip.ymlAGENTS.md
Merging a plugin version bump to
mainnow performs the whole release — no manual tagging:build-plugin-zip.yml(main-push path) reads the pluginVersionheader; whenv{version}has no tag yet, it creates the tag + GitHub release with that version'sreadme.txtUpgrade Notice as the body andgk-block-mcp.zipattached.GITHUB_TOKEN-pushed tags don't trigger workflows — a separate tagging workflow would never fire the release build.v*tag pushes remain a backstop.npm-publish.ymlkeying offpackage.jsonindependently, GitHub and npm releases ship in sync from one merge while the plugin and MCP server keep versioning separately.AGENTS.mdVersioning & Releases updated to document the automated flow.Validated: YAML parses; version + Upgrade Notice extraction tested against the real files (yields
2.0.1and the 2.0.1 notice paragraph).Summary by CodeRabbit
Chores
Documentation
💾 Build file (f02f855).