fix(release): hand the Windows channels final asset names - #43
Conversation
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
left a comment
There was a problem hiding this comment.
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.
| # 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; } |
There was a problem hiding this comment.
🔵 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.
There was a problem hiding this comment.
Addressed: the error now says the snapshot goreleaser step must write the version and what to check.
Summary
dist/artifacts.jsonfrom 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.dist/metadata.jsonand replace it with the final version in the resolved names before building the channel matrices.Test plan
actionlintpassesgro_v1.2.1_windows_amd64.zip/gro_v1.2.1_windows_arm64.zipv1.2.1release afterv1moves must publish both Chocolatey packages and both WinGet manifests