-
Notifications
You must be signed in to change notification settings - Fork 41
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
CI: Build linux binaries using ubuntu 20-04 and add vulnerabilities check #1043
CI: Build linux binaries using ubuntu 20-04 and add vulnerabilities check #1043
Conversation
0df0ad7
to
3675535
Compare
The goal of this is to have binaries that depends on earlier version of glibc to be compatible with more systems. Using 22.04 (libc 2.35) we are compatible with debian Bookworm (12, libc 2.36.9) minimum, the latest version released. Using 20.04 (libc 2.31) we are also compatible with debian Bulleye (11, libc 2.31.13).
3675535
to
7e38bbf
Compare
@@ -4,10 +4,13 @@ hide_title: true | |||
hide_table_of_contents: true | |||
--- | |||
|
|||
## Download compiled binary |
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.
Sadly this title did not show in the sidebars (and it's level wasn't always appropriate) so I had to remove it from this common file to put it manually each time this file is used.
aa817e1
to
288f9fc
Compare
@@ -37,7 +29,7 @@ RUN /app/target/release/mithril-aggregator --version | |||
############################### | |||
# STEP 2: build a small image | |||
############################### | |||
FROM ubuntu:22.04 | |||
FROM debian:11-slim |
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.
why isn't the ubuntu-20.04
image used (the same as the CI)?
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.
Two reasons:
- I want to use debian in the dockerfiles as "compatibility test" to check that our ubuntu 20.04 built binaries are compatible with a later version of debian.
- this allow for the "dev" dockerfiles (the one without the
.ci
suffix) to use the rust builder images that are debian based, allowing a simplification of the builder step.
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.
LGTM 👍
Maybe we can create a test Docker image before merging to see if everything works as expected?
Already done locally using debian 11 as the image base and the binaries built by this branch CI :). |
In order to not collide with previous cache that are based on a ubuntu 22.04 since we are now building with 20.04.
Since it's now bundled alongside our binaries
288f9fc
to
8b7eb3c
Compare
Content
This PR changes the ubuntu version used to build the linux binaries in order to depends on a earlier version of glibc (2.31 instead of 2.35) to be compatible with more systems.
The minimum required version is now stated in the documentation.
It also add the dependency-review action to our check step.
Pre-submit checklist
Comments
This PR also update the documentation regarding the fact that sqlite is not required anymore to build & run the binaries (see #837).
Issue(s)
Closes #874, Closes #1037, Relates to #834 and #837