Skip to content

Update release script - #161

Merged
oschwald merged 1 commit into
mainfrom
greg/update-release-script
Aug 9, 2026
Merged

Update release script#161
oschwald merged 1 commit into
mainfrom
greg/update-release-script

Conversation

@oschwald

@oschwald oschwald commented Aug 9, 2026

Copy link
Copy Markdown
Owner

Summary

  • synchronize the release safeguards with maxminddb-golang#226
  • validate the first changelog heading and pin the checked commit
  • bind GitHub operations to the repository from origin and create the release with --target
  • require Linux/amd64 for the native and race checks while retaining an explicit linux/386 test

Validation

  • bash -n dev-bin/release.sh
  • go mod tidy
  • go mod verify
  • go generate ./...
  • go test
  • go test ./...
  • go test -race ./...
  • CGO_ENABLED=0 GOOS=linux GOARCH=386 go test ./...
  • golangci-lint fmt
  • golangci-lint run
  • git diff --check

Summary by CodeRabbit

  • Bug Fixes

    • Improved release validation for Semantic Versioning, changelog dates, repository configuration, authentication, tags, and releases.
    • Added checks to prevent releases when the working commit changes during validation.
    • Added safeguards against remote tag conflicts before publishing.
  • Chores

    • Enhanced release checks for supported build environments and cross-platform compatibility.
    • Improved separation of branch publishing, tag creation, and GitHub release creation.

@qodo-code-review

Copy link
Copy Markdown

ⓘ Qodo reviews are paused because the subscription is no longer active. Ask your workspace admin to reactivate the subscription to resume reviews. Manage billing

@coderabbitai

coderabbitai Bot commented Aug 9, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 8c1b0327-e297-497f-a089-3bad8e0d82e9

📥 Commits

Reviewing files that changed from the base of the PR and between 90d6c68 and 08280aa.

📒 Files selected for processing (1)
  • dev-bin/release.sh

Walkthrough

The release script now validates changelog metadata, repository and release state, platform requirements, and build checks. It captures the release commit and separates branch pushing, tag race detection, and GitHub release preparation.

Changes

Release validation and publication

Layer / File(s) Summary
Release metadata and remote preflight
dev-bin/release.sh
The script validates the first changelog heading with Semantic Versioning and date rules. It resolves the GitHub repository and checks local tags, remote tags, authentication, and existing releases.
Platform and repository checks
dev-bin/release.sh
The script requires Linux/amd64 and CGO_ENABLED=1. It runs go mod tidy and a Linux/386 test with the existing release checks.
Race-safe publication
dev-bin/release.sh
The script verifies that HEAD is unchanged, pushes the branch separately, rechecks the remote tag, and prepares the GitHub release from the captured commit.

Estimated code review effort: 4 (Complex) | ~45 minutes

Sequence Diagram(s)

sequenceDiagram
  participant release.sh
  participant Git
  participant GitHub API
  release.sh->>Git: capture and verify HEAD
  release.sh->>GitHub API: validate repository and release state
  release.sh->>release.sh: run release checks
  release.sh->>Git: push branch
  release.sh->>GitHub API: recheck remote tag
  release.sh->>GitHub API: create release for captured commit
Loading

Poem

A rabbit checks the version line,
Then tests the build in strict design.
The branch hops first, the tag waits near,
A remote race gets checked with care.
The release follows the captured ear.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely identifies the main change: updates to the release script.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch greg/update-release-script

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@oschwald
oschwald merged commit 0607000 into main Aug 9, 2026
20 checks passed
@oschwald
oschwald deleted the greg/update-release-script branch August 9, 2026 00:08
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.

1 participant