diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 34b254c3..2a64ea1e 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -29,6 +29,7 @@ builds: - linux - windows goarch: + - "386" - amd64 - arm64 ignore: @@ -162,6 +163,24 @@ dockers: - --label=org.opencontainers.image.version={{.Version}} - --label=org.opencontainers.image.source={{.GitURL}} use: buildx +- goos: linux + goarch: "386" + dockerfile: distributions/otelcol-contrib/Dockerfile + image_templates: + - otel/opentelemetry-collector-contrib:{{ .Version }}-386 + - ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-contrib:{{ + .Version }}-386 + extra_files: + - configs/otelcol-contrib.yaml + build_flag_templates: + - --pull + - --platform=linux/386 + - --label=org.opencontainers.image.created={{.Date}} + - --label=org.opencontainers.image.name={{.ProjectName}} + - --label=org.opencontainers.image.revision={{.FullCommit}} + - --label=org.opencontainers.image.version={{.Version}} + - --label=org.opencontainers.image.source={{.GitURL}} + use: buildx - goos: linux goarch: amd64 dockerfile: distributions/otelcol-contrib/Dockerfile @@ -215,11 +234,14 @@ docker_manifests: .Version }}-arm64 - name_template: otel/opentelemetry-collector-contrib:{{ .Version }} image_templates: + - otel/opentelemetry-collector-contrib:{{ .Version }}-386 - otel/opentelemetry-collector-contrib:{{ .Version }}-amd64 - otel/opentelemetry-collector-contrib:{{ .Version }}-arm64 - name_template: ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-contrib:{{ .Version }} image_templates: + - ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-contrib:{{ + .Version }}-386 - ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-contrib:{{ .Version }}-amd64 - ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-contrib:{{ diff --git a/goreleaser/configure.go b/goreleaser/configure.go index fa565f4e..a7337ca3 100644 --- a/goreleaser/configure.go +++ b/goreleaser/configure.go @@ -22,18 +22,11 @@ import ( var ( ImagePrefixes = []string{"otel", "ghcr.io/open-telemetry/opentelemetry-collector-releases"} + Architectures = []string{"386", "amd64", "arm64"} distsFlag = flag.String("d", "", "Collector distributions(s) to build, comma-separated") ) -func architecturesForDist(dist string) []string { - architectures := []string{"386", "amd64", "arm64"} - if dist == "otelcol-contrib" { - architectures = []string{"amd64", "arm64"} - } - return architectures -} - func main() { flag.Parse() @@ -84,7 +77,7 @@ func Build(dist string) config.Build { Ldflags: []string{"-s", "-w"}, }, Goos: []string{"darwin", "linux", "windows"}, - Goarch: architecturesForDist(dist), + Goarch: Architectures, Ignore: []config.IgnoredBuild{ {Goos: "darwin", Goarch: "386"}, {Goos: "windows", Goarch: "arm64"}, @@ -157,7 +150,7 @@ func Package(dist string) config.NFPM { func DockerImages(imagePrefixes, dists []string) (r []config.Docker) { for _, dist := range dists { - for _, arch := range architecturesForDist(dist) { + for _, arch := range Architectures { r = append(r, DockerImage(imagePrefixes, dist, arch)) } } @@ -211,7 +204,7 @@ func DockerManifests(imagePrefixes, dists []string) (r []config.DockerManifest) func DockerManifest(imagePrefixes []string, dist string) (manifests []config.DockerManifest) { for _, prefix := range imagePrefixes { var imageTemplates []string - for _, arch := range architecturesForDist(dist) { + for _, arch := range Architectures { imageTemplates = append( imageTemplates, fmt.Sprintf("%s/%s:{{ .Version }}-%s", prefix, imageName(dist), arch),