-
Notifications
You must be signed in to change notification settings - Fork 2k
Use a deterministic hashmap for reproducible builds #3445
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
Conversation
4d12e4c
to
ff2afa8
Compare
Good morning! Sorry for not getting back to you yesterday. I did trigger the CI for you, and it seems there's some build/clippy failures in the unit tests. Could you have a look at those? |
Signed-off-by: Andrea Manzini <ilmanzo@gmail.com>
ff2afa8
to
c99d5bd
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.
LGTM! The binary files produced are indeed identical across runs now:
$ for i in $(seq 100) ; do cargo run -p seccompiler -- --input-file resource/seccomp/unimplemented.json --target-arch x86_64 --output-file x > /dev/null ; md5sum x ; done | sort | uniq -c
100 ccf7c06d325fee897449f7a3a698a243 x
Synced with @luminitavoicu off-line and decided to merge this as is. We'll have to do some changelog work before the release anyway, so we'll just add an entry when that happens |
Added missing entries for 1.3 release - bchalios@'s net scatter-gather improvements (firecracker-microvm#2958) - seccompiler change to make builds reproducible (firecracker-microvm#3445) Signed-off-by: Patrick Roy <roypat@amazon.co.uk>
Added missing entries for 1.3 release - bchalios@'s net scatter-gather improvements (firecracker-microvm#2958) - seccompiler change to make builds reproducible (firecracker-microvm#3445) Signed-off-by: Patrick Roy <roypat@amazon.co.uk>
Added missing entries for 1.3 release - bchalios@'s net scatter-gather improvements (firecracker-microvm#2958) - seccompiler change to make builds reproducible (firecracker-microvm#3445) Signed-off-by: Patrick Roy <roypat@amazon.co.uk>
Added missing entries for 1.3 release - bchalios@'s net scatter-gather improvements (firecracker-microvm#2958) - seccompiler change to make builds reproducible (firecracker-microvm#3445) Signed-off-by: Patrick Roy <roypat@amazon.co.uk>
Added missing entries for 1.3 release - bchalios@'s net scatter-gather improvements (firecracker-microvm#2958) - seccompiler change to make builds reproducible (firecracker-microvm#3445) Signed-off-by: Patrick Roy <roypat@amazon.co.uk>
Changes
Replace HashMap usage in
seccomp
with BTreeMap to preserve order of items.This enable reproducible builds (see issue #3439)
Reason
fixes #3439
License Acceptance
By submitting this pull request, I confirm that my contribution is made under
the terms of the Apache 2.0 license. For more information on following
Developer Certificate of Origin and signing off your commits, please check
CONTRIBUTING.md
.PR Checklist
CHANGELOG.md
.TODO
s link to an issue.rust-vmm
.