Skip to content

Fix Docker latest tag gating and PGO failure visibility#157

Merged
jeremy merged 3 commits intomainfrom
first-release
Feb 25, 2026
Merged

Fix Docker latest tag gating and PGO failure visibility#157
jeremy merged 3 commits intomainfrom
first-release

Conversation

@jeremy
Copy link
Member

@jeremy jeremy commented Feb 25, 2026

Summary

Post-release fixes from v0.1.0 review findings:

  • Docker latest tag gating: Only tag Docker images as latest for non-prerelease versions. Previously, a -rc1 or -beta tag would steal latest from the last stable release. Uses goreleaser's {{ if not .Prerelease }}latest{{ end }} template — empty tags are silently ignored.
  • PGO failure visibility: Replace || true with per-package failure tracking and a summary warning. Benchmark failures no longer silently degrade profile quality.
  • Runbook wording: RELEASE_CLIENT_ID is a repo variable (vars.*), not a secret.

Test plan

  • goreleaser check passes
  • Next prerelease tag (e.g. v0.2.0-rc1) should produce versioned Docker tag only, no latest
  • Next stable tag should produce both versioned and latest Docker tags

- Only tag Docker images as `latest` for non-prerelease versions
  (prevents -rc/-beta tags from stealing latest)
- Surface PGO benchmark failures with per-package warnings and
  a summary count instead of silently swallowing them
- Fix runbook wording: RELEASE_CLIENT_ID is a repo variable, not a secret
Copilot AI review requested due to automatic review settings February 25, 2026 06:57
Drop redundant version heading (already in release title), use fenced
code block for install instructions, add auth login step.
Omarchy-first, macOS second in release notes header template.
Copy link

Copilot AI left a comment

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 applies post–v0.1.0 release-process fixes to prevent prereleases from overwriting the Docker latest tag and to surface when PGO benchmark collection fails (so profile quality degradation isn’t silent).

Changes:

  • Gate the Docker latest tag so it’s only produced for non-prerelease versions.
  • Replace || true in the PGO benchmark loop with per-package failure tracking and a summary warning.
  • Add a first-release plan/runbook doc under .claude/.

Reviewed changes

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

File Description
.goreleaser.yaml Makes latest tagging conditional on non-prerelease versions.
.github/workflows/release.yml Improves PGO benchmark failure visibility and keeps the workflow moving with warnings.
.claude/first-release-plan.md Adds release planning/runbook documentation for the initial release process.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@jeremy jeremy merged commit 638d766 into main Feb 25, 2026
10 checks passed
@jeremy jeremy deleted the first-release branch February 25, 2026 07:01
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