Skip to content

Adopt tag-driven crate releases - #54

Merged
hardbyte merged 1 commit into
mainfrom
brian/tag-driven-releases
Aug 31, 2026
Merged

Adopt tag-driven crate releases#54
hardbyte merged 1 commit into
mainfrom
brian/tag-driven-releases

Conversation

@hardbyte

Copy link
Copy Markdown
Contributor

Summary

  • replace the public-GitHub-Release trigger with a dedicated v* tag workflow
  • verify tag/version consistency and successful main CI on the exact tagged SHA
  • audit and dry-run the package before crates.io publication
  • publish with crates.io Trusted Publishing/OIDC and create the GitHub Release last
  • document one-time setup and the release operator procedure

Required before v0.5.1

Configure the gatehouse crate on crates.io with a GitHub Trusted Publisher for thepartly/gatehouse, workflow release.yml, with no environment.

Validation

  • parsed both workflow files as YAML
  • exercised tag/version and exact-SHA CI gate scripts locally
  • verified changelog extraction
  • cargo audit
  • cargo publish --dry-run --locked --allow-dirty
  • git diff --check

Copilot AI lite review requested due to automatic review settings August 31, 2026 23:27

@claude claude Bot 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.

Claude Code Review

This repository is configured for manual code reviews. Comment @claude review for a one-time review, or @claude review always to subscribe this PR to a review on every future push.

Tip: disable this comment in your organization's Code Review settings.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Aug 31, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-08-31T23:29:01.145192Z 1f2434e PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@hardbyte
hardbyte merged commit 11f9415 into main Aug 31, 2026
4 checks passed

@chatgpt-codex-connector chatgpt-codex-connector Bot 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1f2434efaf

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread RELEASING.md
Comment on lines +3 to +5
Gatehouse releases are driven by a version tag. Do not create or publish the
GitHub Release manually; the release workflow creates it only after crates.io
publication succeeds.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Update the agent release instructions

This tag-driven procedure leaves the root AGENTS.md telling coding agents the opposite release flow: it still says publishing a GitHub Release triggers cargo publish and describes a different split between feature and release PR versioning. Because scoped agent instructions take precedence over ordinary documentation, a future release task could follow that stale procedure, manually create the release, and cause this workflow's final job to fail after crates.io publication. Update AGENTS.md alongside this change.

AGENTS.md reference: AGENTS.md:L23-L24

Useful? React with 👍 / 👎.

@hardbyte
hardbyte deleted the brian/tag-driven-releases branch August 31, 2026 23:29

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR moves Gatehouse’s release process from “GitHub Release published triggers crates.io publish” to a tag-driven workflow (v*) that verifies the tag matches Cargo.toml, confirms CI passed on the exact tagged SHA, audits/dry-runs packaging, publishes via crates.io Trusted Publishing (OIDC), and only then creates the GitHub Release. It also adds operator documentation for the new process.

Changes:

  • Add a dedicated tag-push release workflow with version/CI gates, audit + dry-run checks, OIDC publish, and final GitHub Release creation.
  • Remove the previous CI workflow’s release: published trigger and crates.io publish job.
  • Document one-time crates.io Trusted Publisher setup and the step-by-step release procedure.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
RELEASING.md Documents the new tag-driven release process and required crates.io Trusted Publisher setup.
.github/workflows/release.yml Implements the tag-driven release pipeline (verification → audit/dry-run → OIDC publish → GitHub Release).
.github/workflows/ci.yml Removes the old “Release on GitHub Release published” publishing path from CI.

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

Comment on lines +65 to +69
-f branch=main \
-f head_sha="${EXPECTED_SHA}" \
-f event=push \
-f status=success \
-f per_page=100 \
Comment on lines +143 to +146
args=(--verify-tag --title "$TAG" --generate-notes)
if [ -s release-notes.md ]; then
args+=(--notes-file release-notes.md)
fi
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