-
-
Notifications
You must be signed in to change notification settings - Fork 112
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
Simplify the Docker image build process #123
Conversation
The build currently does spuriously fail with:
In the future, it might be best to comment out the line |
This reverts commit a43e545.
I went ahead and dropped building armv7. I kept getting random errors:
In addition, armv7 is currently not a "tier 1 platform" according to Rust. Mainstream distros, such as Fedora, don't even support it anymore. Users still using older Raspberry Pis may be able to use older images, or re-contribute support. In addition, I ended up commenting out testing in the Dockerfile. For the most part, this Dockerfile is just to get an MVP back up and running again. If requested, I'd be totally fine squashing all my commits to make reverting easier down the line. Here's a successful build, please ignore #125 as I meant to make it on my fork: Edit: #126 might fix this as a whole |
Closing as #126 was merged! |
The original PR by @nohoster, #59, aimed to completely overhaul the container build pipeline to greatly speed up builds by de-deduplicating work by downloading redlib binaries built in CI. However,
build-artifacts
for whatever reason, does not trigger the upload artifacts step. This means issues such as #104, #122, and apparently, #118 (based on the comment about updating) appear. This has not been fixed in awhile (5 releases!).As a result, I propose moving back towards a more traditional Dockerfile. Instead of downloading a pre-completed build, the contents of the git tree are built as usual.
This PR also re-introduces testing in the Dockerfile, and both the builder and release images are on the same distro, as opposed to the ubuntu -> alpine pattern as before. Doing it this way also ensures users can build for more platforms than 64-bit x86 and ARM, as well as 32-bit ARM.