Skip to content

Conversation

@abondarev84
Copy link

Description

This PR adds ARM64 support to the build and release workflows, enabling the project to publish ARM64 binaries alongside existing AMD64 binaries.

The workflow has been refactored to use a matrix strategy that builds both AMD64 and ARM64 in parallel using GitHub's native ARM64 runners. Multi-arch Docker manifests are created so users automatically get the correct architecture when pulling images.

Link to tracking Issue

Fixes #148

Testing

  • YAML syntax validated with PyYAML
  • GitHub Actions workflow validated with actionlint v1.7.4
  • Verified runner labels (ubuntu-24.04-arm) are documented by GitHub
  • Confirmed backward compatibility - existing AMD64 build process unchanged
  • Tested workflow structure and job dependencies
  • Validated Docker buildx multi-arch manifest syntax
  • Verified artifact handling for both architectures

Documentation

  • Added .github/.actionlint.yaml configuration file for workflow validation
  • Workflow changes are self-documenting with clear job names and structure
  • Multi-arch manifest creation follows industry best practices from similar projects

Changes Summary

  • Refactored build-and-release.yaml to use matrix strategy for multi-architecture builds
  • Added ubuntu-24.04-arm runner for native ARM64 builds
  • Implemented multi-arch Docker manifest creation using docker buildx imagetools
  • Both AMD64 and ARM64 packages (.rpm, .deb) are now built and published
  • Builds run in parallel with no increase in total build time
  • Zero breaking changes - existing AMD64 functionality fully preserved

@abondarev84 abondarev84 requested a review from a team as a code owner December 5, 2025 14:45
@linux-foundation-easycla
Copy link

linux-foundation-easycla bot commented Dec 5, 2025

CLA Signed
The committers listed above are authorized under a signed CLA.

  • ✅ login: abondarev84 / name: Alex Bondarev (73741d7)

- Add multi-arch build support (AMD64 + ARM64)
- Use GitHub ARM64 runners (ubuntu-24.04-arm)
- Create multi-arch Docker manifests
- Build ARM64 packages (.rpm, .deb)
- Parallel builds for both architectures
- Zero breaking changes to AMD64 support

Fixes open-telemetry#148
@snadampal
Copy link

Hi @yonch , appreciate if you could take a look at it.

@yonch
Copy link
Contributor

yonch commented Dec 16, 2025

Sorry for missing the original notification. I'll try to review this week.

@abondarev84
Copy link
Author

any updates?

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.

Add support for ARM

3 participants