-
Notifications
You must be signed in to change notification settings - Fork 118
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 CI action for uploading Docker image for wheels #3268
base: master
Are you sure you want to change the base?
Conversation
8f6ba67
to
0e6433d
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #3268 +/- ##
==========================================
- Coverage 67.07% 67.05% -0.02%
==========================================
Files 571 571
Lines 111113 111080 -33
==========================================
- Hits 74531 74489 -42
- Misses 36582 36591 +9 ☔ View full report in Codecov by Sentry. |
This comment has been minimized.
This comment has been minimized.
✔️ 0e6433d -> Azure artifacts URL |
This comment has been minimized.
This comment has been minimized.
✔️ 1904ec2 -> Azure artifacts URL |
✔️ dcc62f8 -> Azure artifacts URL |
✔️ 0e3c6a7 -> Azure artifacts URL |
This comment has been minimized.
This comment has been minimized.
✔️ de6cb90 -> Azure artifacts URL |
This comment has been minimized.
This comment has been minimized.
It turns out that the action is very slow to build the aarch64 image since it's using emulation instead of a native runner, so I for now it's easier and faster to just build things locally, and push to dockerhub/GHCR. Native Linux arm runners are on the way, but only in early 2025, so I'll leave this unmerged for now. |
Remove Python 3.13t (the free-threaded build) as we do not support it yet.
Quality Gate passedIssues Measures |
✔️ c5429d6 -> Azure artifacts URL |
The images on https://hub.docker.com/r/neuronsimulator/neuron_wheel/tags are a bit inconsistent; we should use one tag for all platforms (since Docker picks the right one based on the architecture when pulling, no need to have separate tags). They are also a bit of a pain to update: someone (with push permissions!) needs to build the image on their own machine, for both x86_64 and aarch64, tag them correctly, and then upload them to DockerHub. This whole process is a bit error-prone and can take a while.
This CI introduces a manual action that can be run (ran?) to automatically build the
neuronsimulator/neuron_wheel
image for both x86 and aarch64, and optionally pushes it to DockerHub (by settingupload
totrue
).Note that
DOCKERHUB_USERNAME
needs to be set as an env variable for this repo, andDOCKERHUB_TOKEN
needs to be set as an env secret for pushing to work.Once this is merged, and this action is ran at least once, I can make another PR which introduces the necessary changes to use a unified
neuronsimulator/neuron_wheel:latest
image everywhere.EDIT: after spending some time fiddling with it,
docker buildx
is a bit cumbersome to use locally, so in the interest of simplicity, the tags should bex86_64
andaarch64
(to match the outputs ofuname -m
).