Commit 1c53be3
authored
🤖 ci: unify :main and release image builds via goreleaser (#87)
## Summary
Unify container publishing so `:main` and release images are both built
by GoReleaser, and enable multi-arch (`linux/amd64` + `linux/arm64`)
Docker output.
## Background
Previously, the CI `publish-main` job manually built an amd64 binary and
used `docker/build-push-action`, while release images were built via
GoReleaser. This duplicated image logic and left `:main` single-arch.
## Implementation
- Updated `.goreleaser.yaml`:
- Added `release.disable` gate for main-channel runs
(`GORELEASER_CHANNEL=main`) so CI can use `goreleaser release` without
creating a GitHub release.
- Made Docker tags channel-aware:
- main-channel: `main`
- release-channel: `{{ .Version }}` and `latest`
- Enabled Docker platforms:
- `linux/amd64`
- `linux/arm64`
- Made OCI version label channel-aware.
- Updated `.github/workflows/ci.yaml` `publish-main` job:
- Added `fetch-depth: 0` for git metadata availability.
- Replaced manual build + docker push steps with
`goreleaser/goreleaser-action`.
- Added env for main-channel execution:
- `GORELEASER_CURRENT_TAG=v0.0.0-main`
- `GORELEASER_CHANNEL=main`
- Included `.goreleaser.yaml` in publish path filtering.
## Validation
- `make verify-vendor`
- `make test`
- `make build`
- `make lint`
- `go run github.com/rhysd/actionlint/cmd/actionlint@v1.7.10`
- `go run github.com/goreleaser/goreleaser/v2@v2.13.1 check`
- `GORELEASER_CHANNEL=main go run
github.com/goreleaser/goreleaser/v2@v2.13.1 check`
- `GORELEASER_CHANNEL=main GORELEASER_CURRENT_TAG=v0.0.0-main go run
github.com/goreleaser/goreleaser/v2@v2.13.1 release --clean
--skip=announce,publish,docker,validate`
## Risks
- Main-channel GoReleaser execution depends on the synthetic tag env
(`GORELEASER_CURRENT_TAG`). If altered/removed, the main publish job may
fail on untagged commits.
- Multi-arch image publishing now depends on Buildx/QEMU behavior
through GoReleaser integration in CI.
---
_Generated with `mux` • Model: `openai:gpt-5.3-codex` • Thinking:
`xhigh` • Cost: `$0.61`_
<!-- mux-attribution: model=openai:gpt-5.3-codex thinking=xhigh
costs=0.61 -->1 parent e0a1163 commit 1c53be3
2 files changed
Lines changed: 46 additions & 33 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
68 | 68 | | |
69 | 69 | | |
70 | 70 | | |
| 71 | + | |
71 | 72 | | |
72 | 73 | | |
73 | 74 | | |
| |||
477 | 478 | | |
478 | 479 | | |
479 | 480 | | |
| 481 | + | |
480 | 482 | | |
481 | 483 | | |
482 | 484 | | |
| |||
485 | 487 | | |
486 | 488 | | |
487 | 489 | | |
488 | | - | |
489 | | - | |
490 | | - | |
491 | | - | |
492 | | - | |
493 | | - | |
494 | | - | |
495 | | - | |
496 | | - | |
497 | | - | |
498 | 490 | | |
499 | 491 | | |
500 | 492 | | |
| |||
505 | 497 | | |
506 | 498 | | |
507 | 499 | | |
508 | | - | |
509 | | - | |
510 | | - | |
511 | | - | |
512 | | - | |
513 | | - | |
| 500 | + | |
| 501 | + | |
514 | 502 | | |
515 | | - | |
516 | | - | |
517 | | - | |
518 | | - | |
519 | | - | |
520 | | - | |
521 | | - | |
522 | | - | |
523 | | - | |
524 | | - | |
525 | | - | |
526 | | - | |
527 | | - | |
528 | | - | |
529 | | - | |
530 | | - | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
531 | 510 | | |
532 | 511 | | |
533 | 512 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
29 | 32 | | |
30 | | - | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
31 | 64 | | |
32 | 65 | | |
33 | 66 | | |
| |||
38 | 71 | | |
39 | 72 | | |
40 | 73 | | |
| 74 | + | |
41 | 75 | | |
42 | 76 | | |
43 | 77 | | |
| |||
0 commit comments