Skip to content

ci: fix errors with multiarch OCI builds - #936

Merged
imiric merged 5 commits into
masterfrom
imiric/build/fix-goreleaser
Oct 14, 2026
Merged

imiric merged 5 commits into
masterfrom
imiric/build/fix-goreleaser

Conversation

@imiric

@imiric imiric commented Oct 14, 2026

Copy link
Copy Markdown
Member

Description

This should fix the error of the v1.103.1 release building multiarch OCI images.

I tested it with the included goreleaser-dryrun workflow using its snapshot mode, and the job passed:

$ docker images exoscale/cli
REPOSITORY     TAG             IMAGE ID       CREATED         SIZE
exoscale/cli   1-amd64         f0371469f7a3   2 seconds ago   43.2MB
exoscale/cli   1.103-amd64     f0371469f7a3   2 seconds ago   43.2MB
exoscale/cli   1.103.1-amd64   f0371469f7a3   2 seconds ago   43.2MB
exoscale/cli   latest-amd64    f0371469f7a3   2 seconds ago   43.2MB
exoscale/cli   1-arm64         be66d1737047   2 seconds ago   40.6MB
exoscale/cli   1.103-arm64     be66d1737047   2 seconds ago   40.6MB
exoscale/cli   1.103.1-arm64   be66d1737047   2 seconds ago   40.6MB
exoscale/cli   latest-arm64    be66d1737047   2 seconds ago   40.6MB

$ docker run --rm --platform linux/amd64 exoscale/cli:latest-amd64 version; \
  docker run --rm --platform linux/arm64 exoscale/cli:latest-arm64 version
exo 1.103.1-SNAPSHOT-1e3eb9f9 1e3eb9f9 (egoscale v3.1.60)
exo 1.103.1-SNAPSHOT-1e3eb9f9 1e3eb9f9 (egoscale v3.1.60)

We should keep this workflow around, in case we ever need to test any goreleaser changes again.

Whether the images are actually published correctly... well, that can only be confirmed with another release... 🤞

Also note that we're disabling Docker build attestation for now, but we might want to consider enabling it at some point, since it could be useful for users. You can read more about it here.

Checklist

(For exoscale contributors)

  • Changelog updated (under Unreleased block, and add the Pull Request #number for each bit you add to the CHANGELOG.md)
  • Testing

Testing

See above.

Fixes [the error building v1.103.1][1]
```sh
  • publishing
    • docker images (v2)
      • creating images                              id=exoscale-cli
        images=
        │ exoscale/cli:1
        │ exoscale/cli:1.103
        │ exoscale/cli:1.103.1
        │ exoscale/cli:latest
  ⨯ release failed after 5m18s                       error=docker images (v2): failed to publish artifacts: exit status 1 message=could not build docker image args=docker buildx build --platform linux/amd64,linux/arm64 -t exoscale/cli:1 -t exoscale/cli:1.103 -t exoscale/cli:1.103.1 -t exoscale/cli:latest --push --attest=type=sbom --iidfile=id.txt --metadata-file=metadata.json --build-arg BUILD_DATE=2026-10-14T12:56:55Z --build-arg VCS_REF=082a53d4 --build-arg VERSION=1.103.1 . id=exoscale-cli
    output=
    │ ERROR: failed to build: Attestation is not supported for the docker driver.
    │ Switch to a different driver, or turn on the containerd image store, and try again.
    │ Learn more at https://docs.docker.com/go/attestations/
```

We can enable build attestation later if we want to, but let's avoid
complicating the build for now.

Also see [2].

[1]: https://github.com/exoscale/cli/actions/runs/38567250444/job/115862971308

[2]: https://goreleaser.com/customization/package/dockers_v2/#docker-manifests-vs-docker-images
This will help us test any changes to the release pipeline. It should
only be run manually.
@imiric
imiric requested a review from a team October 14, 2026 14:34
@imiric

imiric commented Oct 14, 2026

Copy link
Copy Markdown
Member Author

Merging this quickly, since I want to see this working today...

@imiric
imiric merged commit 56cf271 into master Oct 14, 2026
7 checks passed
@imiric
imiric deleted the imiric/build/fix-goreleaser branch October 14, 2026 14:46
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