Skip to content
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

build/push arm64 container images #180

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

abachmann
Copy link

@abachmann abachmann commented Sep 13, 2024

Extends the GA workflow to build and push ARM64 container images. The build-image script has been modified to use Docker Buildx for cross-building.

Preparation for: #179
Fixes: #155

@abachmann abachmann force-pushed the build-arm64-images branch 2 times, most recently from 9343f64 to dad4ff9 Compare September 13, 2024 19:47
@abachmann
Copy link
Author

@phlogistonjohn do you have time to look into this topic? It would be nice to see if the pipeline is running with my changes.

@phlogistonjohn
Copy link
Collaborator

I am currently traveling and dont have a lot of time too look, but I will allow the CI jobs to run!

Copy link
Collaborator

@obnoxxx obnoxxx left a comment

Choose a reason for hiding this comment

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

Thanks a lot for your contribution!

This looks like a good addition.

Siome CI checks have failed, please fix.
Especially the check-commits test. (no commit message body provided).

When Docker is used and the target architecture differs from the host
architecture, use buildx for cross-building.

Signed-off-by: Alexander Bachmann <[email protected]>
Extend the arch matrix parameter to enable arm64 builds for the server,
ad-server, client, toolbox and test-server images.

Signed-off-by: Alexander Bachmann <[email protected]>
@abachmann
Copy link
Author

abachmann commented Sep 24, 2024

@obnoxxx Thanks for the review. I have added a message body to all commits.

I found a potential reason for the pipeline failure: bd8e932

If it's okay to remove the arch parameter, I can squash the following commits:

@abachmann
Copy link
Author

abachmann commented Sep 25, 2024

Things are getting a bit more interesting now.
49.85 - Status code: 404 for https://mirrors.centos.org/metalink?repo=centos-resilientstorage-9-stream&arch=aarch64&protocol=https,http (IP: 8.43.85.73)

The centos-resilientstorage-9-stream repository is only available for the following architectures:

  • ppc64le
  • s390x
  • x86_64

It’s also possible to set the arch parameter to source. This will increase the build time, but we could add a check: if the target architecture is not supported, then fall back to source. This way, the amd64 builds won’t be affected.

I checked the list of available repositories and their architecture support. A lot of them support aarch64, but not the resilientstorage repositories. So, if we start building the packages from source, we might run into issues.

Before I proceed, I’d like to get your thoughts on this. Maybe you're already aware of the issue and have some solutions in mind.

Copy link
Collaborator

@obnoxxx obnoxxx left a comment

Choose a reason for hiding this comment

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

Thanks for adding commit message bodies, @abachmann !

If you want to squash the two commits that change the workflows, go ahead. I don't have a strong opinion on that part as long as the change that modifies the script remains a separate commit.

I didn't quite understand yet what makes it necessary to remove the explicit invocation of the arch from the workflows. I do prefer we keep testing arm builds in the ci.

some ci checks are still failing. please address.

@obnoxxx
Copy link
Collaborator

obnoxxx commented Oct 14, 2024

@abachmann, any updates here?

We'd really like to take the changes, but please address the requests.

@abachmann
Copy link
Author

abachmann commented Oct 14, 2024

@obnoxxx, sorry for the late response. I was busy with other things.

I didn't quite understand yet what makes it necessary to remove the explicit invocation of the arch from the workflows. I do prefer we keep testing arm builds in the ci.

Yeah, I initially thought the explicit invocation of the arch was causing the pipeline issue, but it turned out that wasn’t the case. So, I reverted the commit.

As I wrote in my last comment:

Things are getting a bit more interesting now.
49.85 - Status code: 404 for https://mirrors.centos.org/metalink?repo=centos-resilientstorage-9-stream&arch=aarch64&protocol=https,http (IP: 8.43.85.73)

The centos-resilientstorage-9-stream repository is only available for the following architectures:

  • ppc64le
  • s390x
  • x86_64

Addressing the pipeline issue isn't so easy. I'll try to find some time over the weekend to fix it.

@obnoxxx
Copy link
Collaborator

obnoxxx commented Oct 15, 2024

@abachmann wrote:

@obnoxxx, sorry for the late response. I was busy with other things.

sure. Thanks for following up! And sorry for nagging so badly!

I didn't quite understand yet what makes it necessary to remove the explicit invocation of the arch from the workflows. I do prefer we keep testing arm builds in the ci.

Yeah, I initially thought the explicit invocation of the arch was causing the pipeline issue, but it turned out that wasn’t the case. So, I reverted the commit.

Thanks for explaining. This makes more sense now.

As I wrote in my last comment:

Things are getting a bit more interesting now.
49.85 - Status code: 404 for https://mirrors.centos.org/metalink?repo=centos-resilientstorage-9-stream&arch=aarch64&protocol=https,http (IP: 8.43.85.73)

right. The centos repo mirrors do sometimes have issues with availability.

The centos-resilientstorage-9-stream repository is only available for the following architectures:

  • ppc64le
  • s390x
  • x86_64

Interesting.

Addressing the pipeline issue isn't so easy. I'll try to find some time over the weekend to fix it.

Thanks! Looking forward to seeing a solution.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add AARCH64 Support
3 participants