Commit Graph

12 Commits

Author SHA1 Message Date
Pietro Albini acd8e59b66
build-manifest: calculate checksums lazily and in parallel
This commit improves the way build-manifest calculates the checksums
included in the manifest, speeding it up:

* Instead of calculating all the hashes beforehand and then using the
  ones we need, the manifest is first generated with placeholder hashes,
  and then a function walks through the manifest and calculates only the
  needed checksums.

* Calculating the checksums is now done in parallel with rayon, to
  better utilize all the available disk bandwidth.

* Calculating the checksums now uses the sha2 crate instead of the
  sha256sum CLI tool: this avoids the overhead of calling another
  process, but more importantly uses hardware acceleration whenever
  available (the CLI tool doesn't support it at all).
2020-10-01 17:30:24 +02:00
Pietro Albini 89ffab76b7
build-manifest: refactor detecting package versions 2020-09-24 19:26:43 +02:00
Pietro Albini 3bddfea7e2
build-manifest: stop receiving release numbers from bootstrap 2020-09-18 17:42:58 +02:00
Ralf Jung 9138d3bb80 when Miri tests are not passing, do not add Miri component 2019-11-03 11:47:07 +01:00
Pietro Albini a7a6dedfe6
Revert "Rollup merge of #64451 - RalfJung:miri-manifest, r=pietroalbini"
This reverts commit 7975973e2b, reversing
changes made to f0320e54c7.
2019-09-17 09:58:55 +02:00
Ralf Jung 766c4a556e build-manifest: when Miri tests are not passing, do not add Miri component 2019-09-14 12:57:39 +02:00
Eric Huss 7d92cf4826 Bump toml dependency.
Just removing an old/duplicated dependency from the workspace.
2019-08-20 10:46:35 -07:00
Andy Russell b2f71fb540
remove unneeded `extern crate`s from build tools 2019-05-09 12:03:13 -04:00
Hirokazu Hata 6904fac6d9 Use derive feature of serde 2019-02-05 10:51:47 +09:00
Hirokazu Hata 5d9eed4191 Transition build-manifest to 2018 edition 2019-02-05 09:48:21 +09:00
Mark Simulacrum a1fa2681cf Update to toml 0.4 2017-07-20 11:23:59 -06:00
Alex Crichton 9e8785f017 rustbuild: Add manifest generation in-tree
This commit adds a new tool, `build-manifest`, which is used to generate a
distribution manifest of all produced artifacts. This tool is intended to
replace the `build-rust-manifest.py` script that's currently located on the
buildmaster. The intention is that we'll have a builder which periodically:

* Downloads all artifacts for a commit
* Runs `./x.py dist hash-and-sign`. This will generate `sha256` and `asc` files
  as well as TOML manifests.
* Upload all generated hashes and manifests to the directory the artifacts came
  from.
* Upload *all* artifacts (tarballs and hashes and manifests) to an archived
  location.
* If necessary, upload all artifacts to the main location.

This script is intended to just be the second step here where orchestrating
uploads and such will all happen externally from the build system itself.
2017-01-25 10:57:21 -08:00