-
Notifications
You must be signed in to change notification settings - Fork 14.5k
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
Add --platform to breeze shell and start-airflow #24626
Conversation
368fca2
to
4864e37
Compare
This allows Breeze to run images of another platform, such as AMD64 on an ARM machine.
4864e37
to
66f3cdc
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wooohooo! Breeze contribution!
The PR is likely ready to be merged. No tests are needed as no important environment files, nor python files were modified by it. However, committers might decide that full test matrix is needed and add the 'full tests needed' label. Then you should rebase it to the latest main or amend the last commit of the PR, and push it with --force-with-lease. |
Hmm, I was under the impression
So either |
Let me take a closer look at that |
Initially the idea was that you'd only ever need to "run" stuff on the platform you have - so all the "execution" shoudl by defaiult only be possible on the local platform of yours. Only the image building was considered as "multi-platform" capable. So I think the case here is that we probably do not properly detect the case where we do not have the local image available for the other-platform (because we do not check platform when we look for an image). Simply the "Image build" status is kept per "image" and not per "image+platform" combination. Actualy now when I think about it- I am not entirely sure if it is actually good idea to execute the "different" platform image. It works only when you have qemu configured properly to emulate the images and I am not even 100% sure if you can "force" the different platform when you already have image with the local platform available. |
but I might want to explore "fixing" the build status to be per image + platform combination. This seems like a useful thing to have. |
(or you might want to look at it if you want - I can take a look and point out to where they shoudl be changed @uranusjr ). might be good learning experience :D |
I think retaining the logic is fine—but the problem is that |
Ah yeah. This might also be handy when it comes to running tests on ARM in CI when we convert our CI to use the new breeze for testing (that one is still pending). but if it's only "tests" and "start-airflow" commands - then it 's easy to do so - a matter of adding platform: in the compose file and filling it with either default or chosen platform: |
Tests run docker-compose under the hoood. You can run it with |
This allows Breeze to run images of another platform, such as AMD64 on an ARM machine.
For some reason a dependency is not building correctly on ARM. I’ll probably look into that later, but this allows me to finish what I’m doing right now first.