fix(release): repair pipeline defects found in v0.1.0-rc.1 rehearsal #125

Merged
lerko merged 1 commits from fix/release-pipeline-rc1 into main 2026-06-12 20:38:54 +00:00
Owner

The rc.1 dress rehearsal did its job — found four defects:

  1. Docker build dead: Dockerfile pinned golang:1.26-alpine3.23 at a digest containing Go 1.26.3, while go.mod requires 1.26.4. The golang images set GOTOOLCHAIN=local, so no auto-download → go mod download hard-fails. Now pinned to 1.26.4-alpine3.23 by tag + digest, so the next drift fails loud at the tag level.
  2. Empty release notes on both platforms: changelog.disable: true skips the changelog pipe, which is what consumes --release-notes — the git-cliff notes (8.5KB, verified locally) were silently dropped. Re-enabled with a comment explaining the trap; with --release-notes set GoReleaser still skips its own generation.
  3. Redundant + broken relay step removed: the Gitea-side "Mirror release to GitHub" step (added this morning) 401'd and was never needed — .github/workflows/mirror-release.yml already relays the canonical Gitea assets on GitHub Actions with the built-in token. The GH_MIRROR_TOKEN secret and PAT can be revoked.
  4. mirror-release.yml fixes: jq '.body // empty' treats an empty string as truthy, so the notes fallback never fired; replaced with select(). rc tags now marked --prerelease on GitHub, and prerelease: auto added to .goreleaser.yaml for the Gitea side.

After merge: tag v0.1.0-rc.2 to rehearse the repaired pipeline end-to-end (Docker push is the unexercised path).

The rc.1 dress rehearsal did its job — found four defects: 1. **Docker build dead**: Dockerfile pinned `golang:1.26-alpine3.23` at a digest containing Go 1.26.3, while go.mod requires 1.26.4. The golang images set `GOTOOLCHAIN=local`, so no auto-download → `go mod download` hard-fails. Now pinned to `1.26.4-alpine3.23` by tag + digest, so the next drift fails loud at the tag level. 2. **Empty release notes on both platforms**: `changelog.disable: true` skips the changelog pipe, which is what consumes `--release-notes` — the git-cliff notes (8.5KB, verified locally) were silently dropped. Re-enabled with a comment explaining the trap; with `--release-notes` set GoReleaser still skips its own generation. 3. **Redundant + broken relay step removed**: the Gitea-side "Mirror release to GitHub" step (added this morning) 401'd and was never needed — `.github/workflows/mirror-release.yml` already relays the canonical Gitea assets on GitHub Actions with the built-in token. The `GH_MIRROR_TOKEN` secret and PAT can be revoked. 4. **mirror-release.yml fixes**: `jq '.body // empty'` treats an empty string as truthy, so the notes fallback never fired; replaced with `select()`. rc tags now marked `--prerelease` on GitHub, and `prerelease: auto` added to .goreleaser.yaml for the Gitea side. After merge: tag `v0.1.0-rc.2` to rehearse the repaired pipeline end-to-end (Docker push is the unexercised path).
lerko added 1 commit 2026-06-12 20:16:45 +00:00
fix(release): repair pipeline defects found in v0.1.0-rc.1 rehearsal
CI / test (pull_request) Successful in 1m44s
CI / lint (pull_request) Successful in 1m12s
CI / vulncheck (pull_request) Successful in 50s
Release Binaries / release (push) Successful in 2m11s
Release Docker / docker (push) Failing after 10m3s
f53dfa1c4c
Four defects from the rc.1 dress rehearsal:

- Dockerfile pinned golang:1.26-alpine3.23 at a 1.26.3 digest while
  go.mod requires 1.26.4; golang images set GOTOOLCHAIN=local, so the
  build hard-fails. Pin 1.26.4-alpine3.23 explicitly.
- changelog.disable swallowed --release-notes (the flag is consumed by
  the changelog pipe), publishing empty release bodies. Re-enable.
- Remove the Gitea-side GitHub relay step: redundant with
  .github/workflows/mirror-release.yml, which runs on GitHub Actions
  with the built-in token and copies the canonical Gitea assets.
- mirror-release.yml: jq '.body // empty' treats "" as truthy so the
  notes fallback never fired; use select(). Mark rc tags --prerelease.
lerko merged commit f53dfa1c4c into main 2026-06-12 20:38:54 +00:00
lerko deleted branch fix/release-pipeline-rc1 2026-06-12 20:38:54 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: lerkolabs/uptop#125