Skip to content

fix(release): make publishing branch-protection safe - #30

Open
sozercan wants to merge 1 commit into
masterfrom
fix/release-publishing
Open

fix(release): make publishing branch-protection safe#30
sozercan wants to merge 1 commit into
masterfrom
fix/release-publishing

Conversation

@sozercan

Copy link
Copy Markdown
Member

Summary

  • split release version preparation into a reviewed PR so the protected master branch and DCO checks remain enforced
  • publish a deterministic GitHub prerelease, verify the public archive checksum and embedded package version, then propose Artifact Hub metadata in a second reviewed PR
  • update transferred repository URLs, align prerelease metadata, and document the release procedure

Why

The existing workflow commits release metadata directly to master, which the current repository ruleset rejects. The retained 0.2.0 archive also contains package version 0.1.1, and Artifact Hub marks it as stable while GitHub marks it as a prerelease. These workflows make future releases fail closed on those mismatches.

Validation

  • actionlint .github/workflows/*.yaml
  • npm run format -- --check (Node 22)
  • npm run lint (Node 22)
  • npm run tsc (Node 22)
  • CI=true npm test (Node 22; 137 tests)
  • make validate (Node 22)

Signed-off-by: Sertac Ozercan <sozercan@gmail.com>
Copilot AI balanced review requested due to automatic review settings August 13, 2026 22:51

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Introduces branch-protection-safe release automation using reviewed PRs and verified release artifacts.

Changes:

  • Adds a workflow to prepare version-bump PRs.
  • Publishes deterministic prereleases and proposes verified Artifact Hub metadata.
  • Updates repository URLs and release documentation.

Verification: Author-reported checks were not independently rerun.

Show a summary per file
File Description
README.md Clarifies Plugin Catalog filtering.
CONTRIBUTING.md Documents the two-PR release process.
artifacthub-pkg.yml Updates URLs, checksum, and prerelease metadata.
.github/workflows/release.yaml Publishes, verifies, and proposes release metadata.
.github/workflows/prepare-release.yaml Creates reviewed version-bump PRs.

Review details

馃挕 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

  • Files reviewed: 5/5 changed files
  • Comments generated: 3
  • Review effort level: Balanced

remote_branch="$(git ls-remote --heads origin "refs/heads/$RELEASE_BRANCH")"
if [ -n "$remote_branch" ]; then
git fetch origin "refs/heads/$RELEASE_BRANCH:refs/remotes/origin/$RELEASE_BRANCH"
if ! git diff --quiet "origin/$RELEASE_BRANCH" -- package.json package-lock.json; then
Comment on lines +139 to +143
if gh release view "$RELEASE_VERSION" --repo "$GITHUB_REPOSITORY" >/dev/null 2>&1; then
echo 'value=true' >> "$GITHUB_OUTPUT"
else
echo 'value=false' >> "$GITHUB_OUTPUT"
fi
remote_branch="$(git ls-remote --heads origin "refs/heads/$METADATA_BRANCH")"
if [ -n "$remote_branch" ]; then
git fetch origin "refs/heads/$METADATA_BRANCH:refs/remotes/origin/$METADATA_BRANCH"
if ! git diff --quiet "origin/$METADATA_BRANCH" -- artifacthub-pkg.yml; then
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.

2 participants