Skip to content
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

buildRustCrate: remap the current build dir to / for (more) reproducible builds #79299

Merged
merged 1 commit into from Feb 11, 2020

Conversation

@andir
Copy link
Member

@andir andir commented Feb 6, 2020

Motivation for this change

Distributed remote builds had been haunted by a reproducibility and compiler error due to metadata in crates not lining up. The issue seems to (partially) be that the metadata in the .rlib files wouldn't always be the same. One impurity that was found now is the source path that is embedded in the files.

We can simply set those to / and have the same root path in all the crates be built. This already allowed me to have bit-by-bit reproducibility for the brotli crate used in the buildRustCrate tests.

Things done

@GrahamcOfBorg build rustCrateTest

@ofborg ofborg bot added the 6.topic: rust label Feb 6, 2020
…ble builds
@andir andir force-pushed the andir:buildRustCrate-remap-source-path branch from 9f704df to 56e11bc Feb 6, 2020
@andir andir changed the title buildRustCrate: remap the current build dir to /nix-build for (more) reproducible builds buildRustCrate: remap the current build dir to / for (more) reproducible builds Feb 6, 2020
@andir
Copy link
Member Author

@andir andir commented Feb 6, 2020

@GrahamcOfBorg build rustCrateTest

@andir
Copy link
Member Author

@andir andir commented Feb 6, 2020

@GrahamcOfBorg build buildRustCrateTests

@andir andir merged commit a352631 into NixOS:master Feb 11, 2020
19 checks passed
19 checks passed
rustCrateTest on aarch64-linux No attempt
Details
rustCrateTest on x86_64-darwin No attempt
Details
rustCrateTest on x86_64-linux No attempt
Details
Evaluation Performance Report Evaluator Performance Report
Details
buildRustCrateTests on aarch64-linux Success
Details
buildRustCrateTests on x86_64-darwin Success
Details
buildRustCrateTests on x86_64-linux Success
Details
grahamcofborg-eval ^.^!
Details
grahamcofborg-eval-check-maintainers matching changed paths to changed attrs...
Details
grahamcofborg-eval-check-meta config.nix: checkMeta = true
Details
grahamcofborg-eval-darwin nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A darwin-tested
Details
grahamcofborg-eval-nixos nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./nixos/release-combined.nix -A tested
Details
grahamcofborg-eval-nixos-manual nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./nixos/release.nix -A manual
Details
grahamcofborg-eval-nixos-options nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./nixos/release.nix -A options
Details
grahamcofborg-eval-nixpkgs-manual nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A manual
Details
grahamcofborg-eval-nixpkgs-tarball nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A tarball
Details
grahamcofborg-eval-nixpkgs-unstable-jobset nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A unstable
Details
grahamcofborg-eval-package-list nix-env -qa --json --file .
Details
grahamcofborg-eval-package-list-no-aliases nix-env -qa --json --file . --arg config { allowAliases = false; }
Details
@andir andir mentioned this pull request Mar 28, 2020
3 of 3 tasks complete
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

1 participant
You can’t perform that action at this time.