-
Notifications
You must be signed in to change notification settings - Fork 165
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add arm32v7 to release configurations #349
Conversation
case ArmArch: | ||
for _, vers := range ArmVersions { | ||
r = append(r, DockerImage(imagePrefixes, dist, arch, vers)) | ||
} | ||
default: | ||
r = append(r, DockerImage(imagePrefixes, dist, arch, "")) | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Initially, for including the optional arm version, I thought about creating a new configuration type to default the arm version to empty string. For example:
type DockerImageConfig struct {
ImagePrefixes []string
Dist string
Arch string
ArmVersion string
}
Then in the future we can add more optional values such as AMD64 versions. However, it seems like that's more complicated for the current usage, that is, in most cases we only pass around 3 values (imagePrefixes, dist and arch). So for now, I opted to add new argument to DockerImages
instead. Happy to change it other suggestions/alternatives.
Can you please confirm we have this arch in the CI for both core and contrib repositories? |
Great question! Currently, the CI for both core and contrib repositories specify I'll try to add GOARM in the CI for both core and contrib so we can be explicit about the GOARM values. I will report back here once I completed the changes in the other repositories. |
Thank you. In the meantime, I'm converting this to draft, to prevent it from being inadvertently merged. |
Ready for re-review. Updated the ci in core and contrib to specifically for armv7:
Also, pulled in the latest main branch and rebase the pull request changes. |
CI started |
Sorry, I didn't realise I need to update the list of GOARCH as we splitted the builds by arch. Now, I have updated the GOARCH list to include arm and modified the qemu setup set to include |
CI started. |
The docker tag can't have Command output: click here to see • starting release...
• loading config file file=.goreleaser.yaml
• loading environment variables
• getting and validating git state
• ignoring errors because this is a snapshot error=git doesn't contain any tags. Either add a tag or use --snapshot
• building... commit=145f6ed8620be1ef2d83c026ab58b0790038f4b9 latest tag=v0.0.0
• pipe skipped reason=disabled during snapshot mode
• parsing tag
• setting defaults
• snapshotting
• building snapshot... version=0.0.0-SNAPSHOT-145f6ed
• checking distribution directory
• cleaning dist
• loading go mod information
• build prerequisites
• writing effective config file
• writing config=dist/config.yaml
• building binaries
• building binary=dist/otelcol_linux_arm64/otelcol
• building binary=dist/otelcol_linux_386/otelcol
• building binary=dist/otelcol_darwin_amd64_v1/otelcol
• building binary=dist/otelcol_darwin_arm64/otelcol
• building binary=dist/otelcol_linux_amd64_v1/otelcol
• building binary=dist/otelcol_linux_arm_7/otelcol
• building binary=dist/otelcol_linux_ppc64le/otelcol
• building binary=dist/otelcol_windows_386/otelcol.exe
• building binary=dist/otelcol_windows_amd64_v1/otelcol.exe
• building binary=dist/otelcol-contrib_darwin_amd64_v1/otelcol-contrib
• building binary=dist/otelcol-contrib_darwin_arm64/otelcol-contrib
• building binary=dist/otelcol-contrib_linux_386/otelcol-contrib
• building binary=dist/otelcol-contrib_linux_amd64_v1/otelcol-contrib
• building binary=dist/otelcol-contrib_linux_arm_7/otelcol-contrib
• building binary=dist/otelcol-contrib_linux_arm64/otelcol-contrib
• building binary=dist/otelcol-contrib_linux_ppc64le/otelcol-contrib
• building binary=dist/otelcol-contrib_windows_386/otelcol-contrib.exe
• building binary=dist/otelcol-contrib_windows_amd64_v1/otelcol-contrib.exe
• took: 46s
• archives
• creating archive=dist/otelcol_0.0.0-SNAPSHOT-145f6ed_darwin_amd64.tar.gz
• creating archive=dist/otelcol_0.0.0-SNAPSHOT-145f6ed_linux_amd64.tar.gz
• creating archive=dist/otelcol_0.0.0-SNAPSHOT-145f6ed_linux_ppc64le.tar.gz
• creating archive=dist/otelcol_0.0.0-SNAPSHOT-145f6ed_windows_amd64.tar.gz
• creating archive=dist/otelcol_0.0.0-SNAPSHOT-145f6ed_darwin_arm64.tar.gz
• creating archive=dist/otelcol_0.0.0-SNAPSHOT-145f6ed_linux_386.tar.gz
• creating archive=dist/otelcol_0.0.0-SNAPSHOT-145f6ed_linux_arm64.tar.gz
• creating archive=dist/otelcol_0.0.0-SNAPSHOT-145f6ed_windows_386.tar.gz
• creating archive=dist/otelcol_0.0.0-SNAPSHOT-145f6ed_linux_armv7.tar.gz
• creating archive=dist/otelcol-contrib_0.0.0-SNAPSHOT-145f6ed_linux_386.tar.gz
• creating archive=dist/otelcol-contrib_0.0.0-SNAPSHOT-145f6ed_darwin_amd64.tar.gz
• creating archive=dist/otelcol-contrib_0.0.0-SNAPSHOT-145f6ed_linux_ppc64le.tar.gz
• creating archive=dist/otelcol-contrib_0.0.0-SNAPSHOT-145f6ed_darwin_arm64.tar.gz
• creating archive=dist/otelcol-contrib_0.0.0-SNAPSHOT-145f6ed_windows_386.tar.gz
• creating archive=dist/otelcol-contrib_0.0.0-SNAPSHOT-145f6ed_windows_amd64.tar.gz
• creating archive=dist/otelcol-contrib_0.0.0-SNAPSHOT-145f6ed_linux_armv7.tar.gz
• creating archive=dist/otelcol-contrib_0.0.0-SNAPSHOT-145f6ed_linux_arm64.tar.gz
• creating archive=dist/otelcol-contrib_0.0.0-SNAPSHOT-145f6ed_linux_amd64.tar.gz
• took: 32s
• linux packages
• creating package=otelcol format=apk arch=ppc64le file=dist/otelcol_0.0.0-SNAPSHOT-145f6ed_linux_ppc64le.apk
• creating package=otelcol format=deb arch=386 file=dist/otelcol_0.0.0-SNAPSHOT-145f6ed_linux_386.deb
• creating package=otelcol format=apk arch=386 file=dist/otelcol_0.0.0-SNAPSHOT-145f6ed_linux_386.apk
• creating package=otelcol format=apk arch=arm7 file=dist/otelcol_0.0.0-SNAPSHOT-145f6ed_linux_armv7.apk
• creating package=otelcol format=apk arch=arm64 file=dist/otelcol_0.0.0-SNAPSHOT-145f6ed_linux_arm64.apk
• creating package=otelcol format=apk arch=amd64v1 file=dist/otelcol_0.0.0-SNAPSHOT-145f6ed_linux_amd64.apk
• creating package=otelcol format=deb arch=ppc64le file=dist/otelcol_0.0.0-SNAPSHOT-145f6ed_linux_ppc64le.deb
• creating package=otelcol format=deb arch=arm64 file=dist/otelcol_0.0.0-SNAPSHOT-145f6ed_linux_arm64.deb
• creating package=otelcol format=deb arch=amd64v1 file=dist/otelcol_0.0.0-SNAPSHOT-145f6ed_linux_amd64.deb
• creating package=otelcol format=deb arch=arm7 file=dist/otelcol_0.0.0-SNAPSHOT-145f6ed_linux_armv7.deb
• creating package=otelcol format=rpm arch=arm64 file=dist/otelcol_0.0.0-SNAPSHOT-145f6ed_linux_arm64.rpm
• creating package=otelcol format=rpm arch=amd64v1 file=dist/otelcol_0.0.0-SNAPSHOT-145f6ed_linux_amd64.rpm
• creating package=otelcol format=rpm arch=arm7 file=dist/otelcol_0.0.0-SNAPSHOT-145f6ed_linux_armv7.rpm
• creating package=otelcol format=rpm arch=386 file=dist/otelcol_0.0.0-SNAPSHOT-145f6ed_linux_386.rpm
• creating package=otelcol format=rpm arch=ppc64le file=dist/otelcol_0.0.0-SNAPSHOT-145f6ed_linux_ppc64le.rpm
• creating package=otelcol-contrib format=apk arch=arm7 file=dist/otelcol-contrib_0.0.0-SNAPSHOT-145f6ed_linux_armv7.apk
• creating package=otelcol-contrib format=apk arch=amd64v1 file=dist/otelcol-contrib_0.0.0-SNAPSHOT-145f6ed_linux_amd64.apk
• creating package=otelcol-contrib format=apk arch=arm64 file=dist/otelcol-contrib_0.0.0-SNAPSHOT-145f6ed_linux_arm64.apk
• creating package=otelcol-contrib format=deb arch=arm7 file=dist/otelcol-contrib_0.0.0-SNAPSHOT-145f6ed_linux_armv7.deb
• creating package=otelcol-contrib format=apk arch=386 file=dist/otelcol-contrib_0.0.0-SNAPSHOT-145f6ed_linux_386.apk
• creating package=otelcol-contrib format=apk arch=ppc64le file=dist/otelcol-contrib_0.0.0-SNAPSHOT-145f6ed_linux_ppc64le.apk
• creating package=otelcol-contrib format=deb arch=386 file=dist/otelcol-contrib_0.0.0-SNAPSHOT-145f6ed_linux_386.deb
• creating package=otelcol-contrib format=deb arch=amd64v1 file=dist/otelcol-contrib_0.0.0-SNAPSHOT-145f6ed_linux_amd64.deb
• creating package=otelcol-contrib format=deb arch=ppc64le file=dist/otelcol-contrib_0.0.0-SNAPSHOT-145f6ed_linux_ppc64le.deb
• creating package=otelcol-contrib format=deb arch=arm64 file=dist/otelcol-contrib_0.0.0-SNAPSHOT-145f6ed_linux_arm64.deb
• creating package=otelcol-contrib format=rpm arch=arm7 file=dist/otelcol-contrib_0.0.0-SNAPSHOT-145f6ed_linux_armv7.rpm
• creating package=otelcol-contrib format=rpm arch=386 file=dist/otelcol-contrib_0.0.0-SNAPSHOT-145f6ed_linux_386.rpm
• creating package=otelcol-contrib format=rpm arch=amd64v1 file=dist/otelcol-contrib_0.0.0-SNAPSHOT-145f6ed_linux_amd64.rpm
• creating package=otelcol-contrib format=rpm arch=ppc64le file=dist/otelcol-contrib_0.0.0-SNAPSHOT-145f6ed_linux_ppc64le.rpm
• creating package=otelcol-contrib format=rpm arch=arm64 file=dist/otelcol-contrib_0.0.0-SNAPSHOT-145f6ed_linux_arm64.rpm
• took: 9s
• calculating checksums
• took: 1s
• docker images
• building docker image image=otel/opentelemetry-collector:0.0.0-SNAPSHOT-145f6ed-386
• building docker image image=otel/opentelemetry-collector:0.0.0-SNAPSHOT-145f6ed-arm64
• building docker image image=otel/opentelemetry-collector:0.0.0-SNAPSHOT-145f6ed-ppc64le
• building docker image image=otel/opentelemetry-collector-contrib:0.0.0-SNAPSHOT-145f6ed-386
• building docker image image=otel/opentelemetry-collector:0.0.0-SNAPSHOT-145f6ed-armv7
• building docker image image=otel/opentelemetry-collector:0.0.0-SNAPSHOT-145f6ed-amd64
• building docker image image=otel/opentelemetry-collector-contrib:0.0.0-SNAPSHOT-145f6ed-amd64
• building docker image image=otel/opentelemetry-collector-contrib:0.0.0-SNAPSHOT-145f6ed-armv7
• building docker image image=otel/opentelemetry-collector-contrib:0.0.0-SNAPSHOT-145f6ed-arm64
• building docker image image=otel/opentelemetry-collector-contrib:0.0.0-SNAPSHOT-145f6ed-ppc64le
• took: 2m36s
• storing release metadata
• writing file=dist/artifacts.json
• writing file=dist/metadata.json
• release succeeded after 4m3s
• thanks for using goreleaser! |
CI started |
@MovieStoreGuy , would you like to take a final look at this one as well? |
I'm merging this, but I'd still appreciate an OK from @MovieStoreGuy after the merge. |
Summary
This pull request is looking to introduce arm32v7 release for otelcol and otel-contrib distribution.
The pull request builds on top of the changes in #146, I changed
--platform
tolinux/arm/v7
to hopefully fix the CI build error.Manual Tests
goreleaser release --clean --snapshot