Skip to content

Conversation

loitly
Copy link
Contributor

@loitly loitly commented Oct 14, 2025

Ticket: https://jira.ipac.caltech.edu/browse/FIREFLY-1875

This PR refactors the Docker build process to support multi-platform images (amd64 & arm64) and improve build efficiency.
Also added a PLATFORM option to Firefly Jenkins Job. Defaults to multiarch for OPS builds.

Key changes

  • Optimize build stages

    • Reordered build steps for better Docker cache reuse.
    • Split and minimized dependency layers to speed up subsequent builds.
  • Add platform logic

    • Introduced platform-aware logic for Docker Buildx.
    • Avoided slow emulation by separating architecture-dependent build stages from shared ones.

Test: https://fireflydev.ipac.caltech.edu/firefly-1875-docker-multiplatform/firefly/

How to Test

  • Verify on Kubernetes deployment (amd64)

    • Go to /admin/status?debug=true
    • Confirm os.arch: amd64
  • Verify locally on macOS (arm64)

  • Verify multi-arch manifests on Docker Hub

@loitly loitly added this to the 2025.5 milestone Oct 14, 2025
@loitly loitly requested a review from robyww October 14, 2025 21:46
@loitly loitly self-assigned this Oct 14, 2025
@loitly loitly added the build Gradle, Webpack, package.json, Docker, babel, etc... label Oct 14, 2025
- optimize build stages
- add platform logic
@loitly loitly force-pushed the FIREFLY-1875-docker-multiplatform branch from 8b889ba to d75a9c9 Compare October 15, 2025 16:41
Copy link
Contributor

@robyww robyww left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks really cool!

@robyww
Copy link
Contributor

robyww commented Oct 15, 2025

I pulled the test container and it seems to work fine

@robyww
Copy link
Contributor

robyww commented Oct 15, 2025

@loitly one more thing... remember you are going to put os.arch in the overview section of the admin/status page

@loitly loitly merged commit e1e8e67 into dev Oct 15, 2025
@loitly loitly deleted the FIREFLY-1875-docker-multiplatform branch October 15, 2025 21:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build Gradle, Webpack, package.json, Docker, babel, etc...

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants