about summary refs log tree commit diff
path: root/src/tools/build-manifest
AgeCommit message (Collapse)AuthorLines
2023-01-05Add vendor to Fuchsia's target tripleDavid Koloski-2/+2
Historically, Rust's Fuchsia targets have been labeled x86_64-fuchsia and aarch64-fuchsia. However, they should technically contain vendor information. This CL changes Fuchsia's target triples to include the "unknown" vendor since Clang now does normalization and handles all triple spellings. This was previously attempted in #90510, which was closed due to inactivity.
2022-11-26Revert "Don't set `is_preview` for clippy and rustfmt"Joshua Nelson-2/+2
This reverts commit fb3e724d7602675f147a9b80e70fb6bd6512738c, which broke `rustup update` for anyone with clippy or rustfmt installed.
2022-11-24Don't set `is_preview` for clippy and rustfmtJoshua Nelson-2/+2
These have been shipped on stable for many years now and it would be very disruptive to ever remove them. Remove the `-preview` suffix from their dist components.
2022-11-09Rollup merge of #103933 - nicholasbishop:bishop-uefi-tier-2, r=JohnTitorDylan DPC-0/+3
Promote {aarch64,i686,x86_64}-unknown-uefi to Tier 2 MCP: https://github.com/rust-lang/compiler-team/issues/555 CC `@dvdhrm`
2022-11-04Promote {aarch64,i686,x86_64}-unknown-uefi to Tier 2Nicholas Bishop-0/+3
MCP: https://github.com/rust-lang/compiler-team/issues/555
2022-10-30Remove unnecessary argument to `package`Joshua Nelson-8/+3
2022-10-30More build-manifest docsJoshua Nelson-3/+2
2022-10-27Use PkgType for profiles, tooJoshua Nelson-37/+24
This makes it easier to remove `is_preview` from components in the future if we choose to do so.
2022-10-27Use PkgType in more placesJoshua Nelson-47/+27
In particular, this avoids serializing and parsing the pkg to a string, which allows getting rid of `PkgType::Other` altogether
2022-10-27Use an exhaustive match in `target_host_combination`.Joshua Nelson-37/+49
This avoids bugs where components are added to one part of the manifest but not another.
2022-10-27Use `PkgType::is_preview` to determine whether to add a rename to the manifestJoshua Nelson-8/+7
This caught a missing preview rename for `llvm-tools`.
2022-10-27Use `PkgType` to determine which packages to add to the manifestJoshua Nelson-21/+84
Previously, these had to be hard-coded (i.e. specified in both `PkgType` and `fn package`). Now they only have to be specified in `PkgType`.
2022-10-27build-manifest: Add a macro that makes it impossible to typo `-preview`, or ↵Joshua Nelson-47/+37
have a mismatch between parsing and stringifying
2022-10-27More build-manifest docsJoshua Nelson-18/+20
2022-10-01Give better errors when build-manifest failsJoshua Nelson-1/+11
2022-10-01Package `rust-docs-json` into nightly components (take 3)Joshua Nelson-1/+5
`dist` creates a `rust-docs-json.tar.xz` tarfile. But build-manifest expected it to be named `rust-docs-json-preview.tar.xz`. Change build-manifest to allow the name without the `-preview` suffix. This also adds `rust-docs-json` to the `rust` component. I'm not quite sure why it exists, but rustup uses it to determine which components are available.
2022-09-23Rollup merge of #102042 - LukeMathWalker:add-rust-json-docs-to-rustup, ↵Matthias Krüger-1/+4
r=Mark-Simulacrum Distribute rust-docs-json via rustup. I am not 100% sure on how to treat `rust-json-docs` in `target_host_combination`. I went along with a similar strategy to the one used for `rust-docs`, but looking for guidance there.
2022-09-22Distribute rust-json-docs via rustup.Luca Palmieri-1/+4
2022-09-22Auto merge of #102028 - oli-obk:miri_subtree, r=oli-obkbors-37/+2
Make miri a subtree instead of a submodule r? `@RalfJung` fixes #101867 fixes https://github.com/rust-lang/rust/issues/100134
2022-09-21Remove unused importsOli Scherer-13/+2
2022-09-21Remove miri from the submodule list and require it for CI to passOli Scherer-24/+0
2022-09-20Avoid panicking on missing fallbackMark Rousskov-2/+12
This just prints a message but continues on if a fallback is missing, which can happen when we're building a partial set of builders and producing a dev-static build from it (e.g., when no Apple builder runs at all). Probably the more extensive fix is to allow the build-manifest invoker to specify the expected set of targets & hosts, but that's a far more extensive change. The main risk from this is that we accidentally start falling back to linux docs across all platforms without noticing. I'm not sure that we can do much about that though at this time.
2022-08-15Revert "Revert "Remove num_cpus dependency from bootstrap, build-manifest ↵The 8472-2/+1
and rustc_session"" This reverts commit 1ae4b258267462da0b1aae1badcf83578153c799.
2022-06-28Let rust-analyzer ship on stable, non-previewJosh Stone-1/+2
2022-06-09Revert "Remove num_cpus dependency from bootstrap, build-manifest and ↵David Tolnay-1/+2
rustc_session" This reverts commit 2d854f9c340df887e30896f49270ae81feb3e227.
2022-04-07Promote x86_64-unknown-none to Tier 2bstrie-0/+1
2022-03-09Add support for targeting riscv32im-unknown-none-elfridwanabdillahi-0/+1
Update riscv32im-unknown-none-elf to Tier2 support. Downgrade to Tier 3 platform support.
2022-03-02Remove num_cpus dependency from bootstrap, build-manifest and rustc_sessionbjorn3-2/+1
2022-02-13Update `sha1`, `sha2`, and `md5` dependenciespierwill-1/+1
This removes the `cpuid-bool` dependency, which is deprecated, while adding `crypto-common` as a new dependency.
2022-02-07Drop rustc-docs from complete profileMark Rousskov-1/+4
2022-01-19Add assert that fallback targets must be available.Eric Huss-1/+4
2022-01-17Remove VERSION from manifest readme docs.Eric Huss-2/+1
The version was removed in https://github.com/rust-lang/rust/pull/77145/
2022-01-17Add manifest docs fallback.Eric Huss-41/+62
2022-01-10Update rayon and rustc-rayonJosh Stone-1/+1
2021-09-20Migrate to 2021Mark Rousskov-1/+1
2021-09-17build-manifest: Add m68k-unknown-linux-gnu targetJohn Paul Adrian Glaubitz-0/+1
2021-08-03Rollup merge of #87693 - badboy:enable-ios-sim-target-manifest, ↵Yuki Okushi-0/+1
r=Mark-Simulacrum Add `aarch64-apple-ios-sim` as a possible target to the manifest This should allow rustup and similar to actually make use of this new target now. r? ```@Mark-Simulacrum``` Followup to #85782
2021-08-02Add `aarch64-apple-ios-sim` as a possible target to the manifestJan-Erik Rediger-0/+1
This should allow rustup and similar to actually make use of this new target now.
2021-07-29rfc3052: Remove authors field from Cargo manifestsJade-1/+0
Since RFC 3052 soft deprecated the authors field anyway, hiding it from crates.io, docs.rs, and making Cargo not add it by default, and it is not generally up to date/useful information, we should remove it from crates in this repo.
2021-05-23Add BPF targetAlessandro Decina-0/+2
This change adds the bpfel-unknown-none and bpfeb-unknown-none targets which can be used to generate little endian and big endian BPF
2021-02-27Remove the x86_64-rumprun-netbsd targetSimonas Kazlauskas-1/+0
Closes #81514
2021-02-07Extend the comment of `check_toolstate()` to clarify that the tool won't be ↵hyd-dev-1/+4
shipped on all targets
2021-02-05Don't release Miri if its tests only failed on Windowshyd-dev-13/+12
2020-12-22Utilize PGO for rustc linux dist buildsMark Rousskov-0/+1
This implements support for applying PGO to the rustc compilation step (not standard library or any tooling, including rustdoc). Expanding PGO to more tools is not terribly difficult but will involve more work and greater CI time commitment. For the same reason of avoiding greater time commitment, this currently avoids implementing for platforms outside of x86_64-unknown-linux-gnu, though in practice it should be quite simple to extend over time to more platforms. The initial implementation is intentionally minimal here to avoid too much work investment before we start seeing wins for a subset of Rust users. The choice of workloads to profile here is somewhat arbitrary, but the general rationale was to aim for a small set that largely avoided time regressions on perf.rust-lang.org's full suite of crates. The set chosen is libcore, cargo (and its dependencies), and a few ad-hoc stress tests from perf.rlo. The stress tests are arguably the most controversial, but they benefit those cases (avoiding regressions) and do not really remove wins from other benchmarks. The primary next step after this PR lands is to implement support for PGO in LLVM. It is unclear whether we can afford a full LLVM rebuild in CI, though, so the approach taken there may need to be more staggered. rustc-only PGO seems well affordable on linux at least, giving us up to 20% wall time wins on some crates for 15 minutes of extra CI time (1 hour up from 45 minutes). The PGO data is uploaded to allow others to reuse it if attempting to reproduce the CI build or potentially, in the future, on other platforms where an off-by-one strategy is used for dist builds at minimal performance cost.
2020-11-22Drop support for cloudabi targetsLzu Tao-2/+0
2020-11-16build-manifest: strip newline from rustc versionPietro Albini-4/+4
2020-11-05ci: build docs for aarch64-unknown-linux-gnuPietro Albini-0/+1
2020-11-03build-manifest: remove legacy promote-release supportPietro Albini-93/+1
This commit removes support for the legacy promote-release, as that's not executed anymore on the nightly channel.
2020-10-29Auto merge of #78486 - pietroalbini:manifest-artifacts, r=Mark-Simulacrumbors-22/+125
Include non-rustup artifacts in the manifest This PR fixes https://github.com/rust-lang/promote-release/issues/22 by including all the files we ship in the generated manifests, even the ones that are not installable through rustup. In practice this adds the following "artifacts": * `source-code`: the tarball containing the full source code used to build the release (`rustc-{channel}-src.tar.xz`) * `installer-msi`: the MSI installer for Windows systems (`rust-{channel}-{target}.msi`) * `installer-pkg`: the PKG installer for macOS systems (`rust-{channel}-{target}.pkg`) These files are included in a new `artifacts` table of the manifest, like so: ```toml [[artifacts.installer-msi.target.aarch64-pc-windows-msvc]] url = "https://example.com/2020-10-28/rust-nightly-aarch64-pc-windows-msvc.msi" hash-sha256 = "6b41d5b829d20834c5d93628d008ec618f8914ee79303363bd13a86fd5f305dd" [[artifacts.installer-msi.target.i686-pc-windows-gnu]] url = "https://example.com/2020-10-28/rust-nightly-i686-pc-windows-gnu.msi" hash-sha256 = "83f020de6e180c155add9fce1cea2ac6e5f744edbd6dc1581e24de8f56b2ca7a" [[artifacts.installer-msi.target.i686-pc-windows-msvc]] url = "https://example.com/2020-10-28/rust-nightly-i686-pc-windows-msvc.msi" hash-sha256 = "dbc80c24e9d5df01616c6f216114b4351f51a94218e2368b5cebe4165b270702" [[artifacts.installer-msi.target.x86_64-pc-windows-gnu]] url = "https://example.com/2020-10-28/rust-nightly-x86_64-pc-windows-gnu.msi" hash-sha256 = "8196eca3f02d72d4c8776ad4fcc72897125e2cf6404ae933e31c07e197e3c9fa" [[artifacts.installer-msi.target.x86_64-pc-windows-msvc]] url = "https://example.com/2020-10-28/rust-nightly-x86_64-pc-windows-msvc.msi" hash-sha256 = "b2e7fd6463790732fcf9c726b9448068712341943199cb40fc11d1138b8a207b" [[artifacts.installer-pkg.target.aarch64-apple-darwin]] url = "https://example.com/2020-10-28/rust-nightly-aarch64-apple-darwin.pkg" hash-sha256 = "70421c191752fb33886f8033b029e634bcc993b72308cef52a38405840e91f5c" [[artifacts.installer-pkg.target.x86_64-apple-darwin]] url = "https://example.com/2020-10-28/rust-nightly-x86_64-apple-darwin.pkg" hash-sha256 = "ebd7a5acb61e82d85e855146cc9bd856f32228ee7f40dd94c659b00614ed4f1f" [[artifacts.source-code.target."*"]] url = "https://example.com/2020-10-28/rustc-nightly-src.tar.gz" hash-sha256 = "5fcc487ee4c15c689de8ddf7daac7ff6a65c80498197b9aea58622dc2b3bca10" [[artifacts.source-code.target."*"]] url = "https://example.com/2020-10-28/rustc-nightly-src.tar.xz" hash-sha256 = "0c618ef0ec5f64da1801e9d0df6c755f6ed1a8780ec5c8ee75e55614be51d42c" ``` Each artifact can be available for multiple targets, and each target can have multiple versions of the same file (for example, a `gz`-compressed one and a `xz`-compressed one). In the future rustup might add functionality to let users retrieve the artifacts, but that's not needed to land this PR, and whether to do the implementation is up to the rustup maintainers. r? `@kinnison` cc `@Mark-Simulacrum`
2020-10-28build-manifest: include artifacts in a new tablePietro Albini-22/+125
This commit adds to the generated manifest all files we ship that are not rustup components, namely: * Source code tarballs (rustc-{channel}-src.tar.xz) * Windows installers (rust-{channel}-{target}.msi) * macOS installers (rust-{channel}-{target}.pkg) Those files are included in a new "artifacts" table of the manifest, to avoid interfering with existing rustup installations.