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

Docker multiplatform build support #1974

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

Conversation

PathToLife
Copy link

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

image

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

image

Thanks!

@CLAassistant
Copy link

CLAassistant commented Feb 13, 2025

CLA assistant check
All committers have signed the CLA.

@PathToLife PathToLife force-pushed the feature/docker-multiplatform-build branch from 050c1c3 to f8b613b Compare February 13, 2025 07:58
@a3957273
Copy link
Member

a3957273 commented Feb 15, 2025

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.

@PathToLife
Copy link
Author

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?

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.

image

@a3957273
Copy link
Member

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.

@PathToLife
Copy link
Author

PathToLife commented Feb 25, 2025

I had triggered a release last week. However it seems the CI OS image ubuntu-latest has updated the version of chrome. Therefore the UI Tests step fails, reporting the chrome versions are incompatiable with the npm driver.

You might have similar issues on the next release.

https://github.com/PathToLife/CyberChef/actions/runs/13350228747/job/37285773548

value: {
       error: 'session not created',
       message: 'session not created: This version of ChromeDriver only supports Chrome version 130\n' +
         'Current browser version is 133.0.6943.53 with binary path /opt/google/chrome/chrome',
       stacktrace: ''
     }

image

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.

3 participants