Skip to content

fix(release): hand the Windows channels final asset names - #43

Merged
rianjs merged 2 commits into
mainfrom
fix/release-final-asset-names
Sep 3, 2026
Merged

rianjs merged 2 commits into
mainfrom
fix/release-final-asset-names

Conversation

@rianjs

@rianjs rianjs commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Summary

  • The per-binary Windows asset resolution reads dist/artifacts.json from the snapshot build, whose names carry the snapshot version (gro_v1.2.1-SNAPSHOT-cd95e80_windows_amd64.zip). The published release names use the final version, so the Chocolatey and WinGet jobs 404'd on google-cli's first release.
  • Read the snapshot version from dist/metadata.json and replace it with the final version in the resolved names before building the channel matrices.

Test plan

  • actionlint passes
  • The jq transform run locally against a copy of google-cli's snapshot artifacts resolves gro_v1.2.1_windows_amd64.zip / gro_v1.2.1_windows_arm64.zip
  • Re-run of google-cli's v1.2.1 release after v1 moves must publish both Chocolatey packages and both WinGet manifests

The snapshot build names archives with the snapshot version, so the
Chocolatey and WinGet matrices were told to fetch gro_v1.2.1-SNAPSHOT-…
from a release that only has gro_v1.2.1_…. Rewrite the snapshot version
to the final one before enriching the matrices.

@monit-reviewer monit-reviewer 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.

Automated PR Review

Reviewed commit: f20d5fd

Approved with 1 non-blocking suggestion below. Address at your discretion.

Summary

Reviewer Findings
harness-engineering:harness-enforcement-reviewer 1
harness-engineering:harness-enforcement-reviewer (1 findings)

💡 Suggestion - .github/workflows/release.yml:200

The new metadata.json validation failure (::error::dist/metadata.json has no version) states what's wrong but not how to fix it. A short remediation hint (e.g. 'ensure the snapshot build step (goreleaser) writes a version field into dist/metadata.json') would help whoever debugs a failed release run act on the error immediately instead of having to trace the workflow.

1 info-level observations excluded. Run with --verbose to include.


Completed in 48s | $0.99 | sonnet | daemon 0.2.142 | Glorfindel
Field Value
Model sonnet
Reviewers hybrid-synthesis, harness-engineering:harness-architecture-reviewer, harness-engineering:harness-enforcement-reviewer, harness-engineering:harness-knowledge-reviewer
Engine claude · sonnet
Reviewed by pr-review-daemon · monit-pr-reviewer
Duration 48s wall · 45s compute (Reviewers: 29s · Synthesis: 16s)
Cost $0.99 (estimated)
Tokens 221.7k in / 6.0k out
Turns 8

Per-workstream usage

Workstream Model In Out Cache read Cache create Cost
hybrid-synthesis sonnet 55.4k 1.3k 26.4k 28.9k (1h) $0.20
harness-engineering:harness-architecture-reviewer sonnet 53.9k 362 0 53.9k (1h) $0.33
harness-engineering:harness-enforcement-reviewer sonnet 56.5k 2.4k 26.4k 30.1k (1h) $0.22
harness-engineering:harness-knowledge-reviewer sonnet 55.9k 2.0k 22.5k 33.4k (1h) $0.24

Re-reviews only run when @monit-reviewer is re-requested as a reviewer — push as many commits as you need, then re-request when ready. PRs targeting branches other than main, master are skipped, even when @monit-reviewer is re-requested.

Comment thread .github/workflows/release.yml Outdated
# version, so rewrite that substring before handing names to the
# Windows channels.
snapshot_version="$(jq -r '.version' dist/metadata.json)"
[ -n "$snapshot_version" ] && [ "$snapshot_version" != null ] || { echo "::error::dist/metadata.json has no version"; exit 1; }

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🔵 Low (harness-engineering:harness-enforcement-reviewer): The new metadata.json validation failure (::error::dist/metadata.json has no version) states what's wrong but not how to fix it. A short remediation hint (e.g. 'ensure the snapshot build step (goreleaser) writes a version field into dist/metadata.json') would help whoever debugs a failed release run act on the error immediately instead of having to trace the workflow.

Reply to this thread when addressed.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Addressed: the error now says the snapshot goreleaser step must write the version and what to check.

@rianjs
rianjs merged commit a7df7fc into main Sep 3, 2026
21 checks passed
@rianjs
rianjs deleted the fix/release-final-asset-names branch September 3, 2026 22:54
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