-
Notifications
You must be signed in to change notification settings - Fork 3.4k
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
Docker multiplatform build support #1974
base: master
Are you sure you want to change the base?
Docker multiplatform build support #1974
Conversation
050c1c3
to
f8b613b
Compare
This was the initial implementation of the build job, but ended up taking very long. Over an hour to build an ARM build on the AMD build workers. Is there any chance you could test on a local repository how long the GitHub runners take to build the single image before this PR, and how long it would take to build all three? This does have the benefit of only building on releases, which I'm less worried about having long build times. However, would still enjoy specific timings before merging this in. |
Will report back. I'll add the time consuming build step only runs on one platform (amd64)! (so we won't be building on arm). The multiplatform build step will be taking the amd64 build files and putting them in crossplatform supported nginx containers. |
Oh, that's actually a really cool solution. Never mind then, the previous implementation also built on every other platform, which was incredibly slow. This seems far better. Don't worry about timing it, I'll be happy to test it out when I get time. |
I had triggered a release last week. However it seems the CI OS image You might have similar issues on the next release. https://github.com/PathToLife/CyberChef/actions/runs/13350228747/job/37285773548
|
I was hoping this PR had fixed this issue, which made it into mainline around a month ago: https://github.com/gchq/CyberChef/pull/1972/files |
Looks like releases.yml is missing that change. I'll apply it and give it a go. CyberChef/.github/workflows/releases.yml Lines 26 to 29 in d3357d2
|
…able NPM Publish for testing
22007ef
to
b85036b
Compare
Is there a reason we are using buildah? I'd recommend using docker buildx in the CI step as it's more simple. If we want to stick with buildah, it might be better to manually generate tags per arch, and then merge them together to a docker pullable manifest. Manifest comparison redhat-actions/buildah-build vs docker buildx
User docker pull experienceIt's not ideal as standard pull on arm64 server fails
|
Adds multiplatform docker support for arm64 and armv7 architectures. Power efficient.. hopefully🔋🌲
Github workflow will need a test. However working locally with docker buildx and test image has been published below.
pathtolife/cyberchef:v10.19.4
https://hub.docker.com/r/pathtolife/cyberchef/tags
Command to run and remove on stop (--rm)
docker run --rm -p 8080:80 pathtolife/cyberchef:v10.19.4
Thanks!