Skip to content

Conversation

@rh0dium
Copy link

@rh0dium rh0dium commented Feb 5, 2026

Summary

This PR adds support for building multi-architecture Docker images (linux/amd64 and linux/arm64), addressing the request in #85.

Changes

  • Dockerfile: Use TARGETARCH build arg (automatically set by Docker buildx) to dynamically select the correct OpenStudio package based on target platform
  • CI workflow: Add QEMU and Docker Buildx setup steps for cross-platform builds
  • deploy_docker.sh: Replace docker tag + docker push with docker buildx build --push --platform=linux/amd64,linux/arm64 (required for multi-platform manifests)

Why this works now

OpenStudio has been providing ARM64 builds for Ubuntu since v3.8.0:

  • OpenStudio-X.X.X-Ubuntu-24.04-arm64.deb
  • OpenStudio-X.X.X-Ubuntu-24.04-x86_64.deb

Testing

The existing test suite runs on amd64 (CI runners). The ARM64 build uses the same Dockerfile with TARGETARCH selecting the appropriate package.

anchapin and others added 4 commits December 31, 2025 12:54
Refine Docker image tag logic in manual installer workflow
This enables building Docker images for both linux/amd64 and linux/arm64
platforms, addressing the need for ARM64 support.

Changes:
- Dockerfile: Use TARGETARCH to dynamically select the correct OpenStudio
  package (x86_64 or arm64) based on the target platform
- CI workflow: Add QEMU and Docker Buildx setup for cross-platform builds
- deploy_docker.sh: Use `docker buildx build --push` with multi-platform
  support instead of separate tag/push commands

This is possible because OpenStudio now provides ARM64 builds for Ubuntu
(available since v3.8.0).

Closes NatLabRockies#85

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@rh0dium rh0dium marked this pull request as ready for review February 5, 2026 18:50
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