about summary refs log tree commit diff
path: root/src/bootstrap/toolstate.rs
AgeCommit message (Collapse)AuthorLines
2023-10-17move bootstrap core implementation to bootstrap/src/core moduleonur-ozkan-478/+0
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-07-30bootstrap: inline format!() argsMatthias Krüger-17/+15
2023-07-15Rollup merge of #113644 - jyn514:bootstrap-cleanups, r=albertlarsan68Matthias Krüger-4/+4
misc bootstrap cleanups - rename `detail_exit_macro` to `exit` - remove unnecessary `Builder::new_standalone` function - support `x suggest` with build-metrics
2023-07-14Make sure toolstates.json ends in a newlinejyn-1/+4
This avoids the following broken logging in CI: ``` {"book":"test-pass","reference":"test-pass","rustbook":"test-fail","rust-by-example":"test-pass","nomicon":"test-pass","embedded-book":"test-pass","edition-guide":"test-pass"}::group::Building bootstrap ```
2023-07-13Rename `detail_exit_macro` to `exit`jyn-4/+4
`detail` and `macro` weren't adding any info.
2023-05-30create `build_helper/src/util` modozkanonur-4/+4
Signed-off-by: ozkanonur <work@onurozkan.dev>
2023-02-27Allow building serde and serde_derive in parallelbjorn3-1/+1
This reduces build time of bootstrap by ~6s
2022-11-12Distinguish `--dry-run` from the automatic dry run checkJoshua Nelson-2/+2
2022-09-21miri is not in toolstate any moreRalf Jung-1/+0
2022-08-27Sunset RLSEric Huss-1/+0
2022-07-07squash the commitstoshiki goto-4/+4
implement detail_exit but I'm not sure it is right. not create new file and write detail exit in lib.rs replace std::process::exit to detail_exit that is not related to code runnning. remove pub
2022-04-16Require all paths passed to `ShouldRun::paths` to exist on diskJoshua Nelson-1/+1
This has two benefits: 1. There is a clearer mental model of how bootstrap works. Steps correspond to paths on disk unless it's strictly impossible for them to do so (e.g. dist components). 2. Bootstrap has better checks for internal consistency. This caught several issues: - `src/sanitizers` doesn't exist; I changed it to just be a `sanitizers` alias. - `src/tools/lld` doesn't exist; I removed it, since `lld` alone already works. - `src/llvm` doesn't exist; removed it since `llvm` and `src/llvm-project` both work. - `src/lldb_batchmode.py` doesn't exist, it was moved to `src/etc`. - `install` was still using `src/librustc` instead of `compiler/rustc`. - None of the tools in `dist` / `install` allowed using `src/tools/X` to build them. This might be intentional - I can change them to aliases if you like.
2022-03-05Merge build_helper into utilbjorn3-1/+1
2022-03-05Remove build_helperbjorn3-1/+1
The majority of the code is only used by either rustbuild or rustc_llvm's build script. Rust_build is compiled once for rustbuild and once for every stage. This means that the majority of the code in this crate is needlessly compiled multiple times. By moving only the code actually used by the respective crates to rustbuild and rustc_llvm's build script, this needless duplicate compilation is avoided.
2022-03-03Remove some dead code from toolstate.rsbjorn3-11/+2
2021-05-14Update bootstrap for in-tree rustfmtJoshua Nelson-5/+3
- Add rustfmt to `x.py check` - Update Cargo.lock - Remove rustfmt from the toolstate list - Make rustfmt an in-tree tool - Give an error on `x.py test rustfmt` if rustfmt fails to build or if tests fail - Don't call `save_toolstate` when testing rustfmt
2020-11-05Fix even more URLsGuillaume Gomez-2/+2
2020-06-15Avoid prematurely recording toolstatesMark Rousskov-0/+12
When we're running with dry_run enabled (i.e. all builds do this initially), we're guaranteed to save of a toolstate of TestFail for tools that aren't tested. In practice, we do test tools as well, so for those tools we would initially record them as being TestPass, and then later on re-record the correct state after actually testing them. However, this would not work well if the build failed for whatever reason (e.g. panicking in bootstrap, or as was the case in 73097, clippy failing to test successfully), we would just go on believing that things passed when they in practice did not. This commit also adjusts saving toolstate to never record clippy explicitly (otherwise, it would be recorded when building it); eventually that'll likely move to other tools as well but not yet. This is deemed simpler than checking everywhere we generically save toolstate. We also move clippy out of the "toolstate" no-fail-fast build into a separate x.py invocation; this should no longer be technically required but provides the nice state of letting us check toolstate for all tools and only then check clippy (giving full results on every build).
2020-05-06Rollup merge of #71731 - mark-i-m:guide-toolstate-off-for-now, r=kennytmDylan DPC-1/+1
Turn off rustc-dev-guide toolstate for now cc @rust-lang/wg-rustc-dev-guide @rust-lang/infra @ehuss When we first added toolstate, the intent was to use toolstate to linkcheck PRs so that we would know which PRs break links in the guide (e.g. by moving some definition). However, these days, we are mostly getting 429 errors (too many requests) from github (not sure when this changed), and every day, there seems to be a spurious failure of some other sort. This is all despite efforts to filter out spurious failures. Getting spurious gh pings is annoying, and we're not actually getting a lot out of this linkcheck beyond what we are getting with our CI on the guide's repo, so I'm proposing to disable this until we can figure out what might be a better path forward.
2020-05-05comment out rustc-dev-guide in NIGHTLY_TOOLSmark-1/+1
2020-05-03Remove clippy from some leftover lists of "possibly failing" toolsOliver Scherer-1/+0
2020-04-24Remove useless "" argsRustin-Liu-3/+3
Signed-off-by: Rustin-Liu <rustin.liu@gmail.com>
2020-04-04Auto merge of #69898 - spastorino:rename-rustc-guide2, r=Xanewokbors-1/+1
Move rustc-guide submodule to rustc-dev-guide r? @pietroalbini
2020-03-24Move rustc-guide submodule to rustc-dev-guideSantiago Pastorino-1/+1
2020-03-04Further clarifications and comments on toolstate operation.Eric Huss-4/+12
2020-03-04more toolstate commentsRalf Jung-3/+5
2020-03-04Toolstate: remove redundant beta-week check.Eric Huss-30/+9
2020-03-02Toolstate: don't duplicate nightly tool list.Eric Huss-1/+1
2020-03-01Toolstate: Don't block beta week on already broken tools.Eric Huss-63/+133
2020-02-03bootstrap: fix clippy warningsMatthias Krüger-1/+1
2019-12-22Format the worldMark Rousskov-36/+29
2019-12-19Remove newline from commit in toolstateMark Rousskov-1/+1
2019-12-19Rollup merge of #67432 - Mark-Simulacrum:fix-toolstate, r=CentrilMark Rousskov-1/+1
Fix toolstate history format We were inserting *before* the existing newline, so we should prepend it not append it to our inserted string.
2019-12-19Fix toolstate history formatMark Rousskov-1/+1
We were inserting *before* the existing newline, so we should prepend it not append it to our inserted string.
2019-12-18Set release channel on non-dist buildersMark Rousskov-3/+3
Toolstate publication only runs if the channel is "nightly" and previously the toolstate builders did not know that the channel was nightly (since they are not dist builders). A look through bootstrap seems to indicate that nothing should directly depend on the channel being set to `-dev` on the test builders, though this may cause some problems with UI tests (if for some reason they're dumping the channel into stderr), but we cannot find evidence of such so hopefully this is fine.
2019-12-10Move CI to new builtin check-toolstateMark Rousskov-0/+2
2019-12-10Add toolstate checking into bootstrapMark Rousskov-0/+405
This is not yet actually used by CI, but implements the logic for checking that tools are properly building on beta/stable and during beta cutoff week. This attempts to mirror the checking functionality in src/ci/docker/x86_64-gnu-tools/checktools.sh, and called scripts. It does not attempt to run the relevant steps (that functionality was originally desired to be moved into bootstrap as well, but doing so proved more difficult than expected). This is intended as a way to centralize and make clearer the logic involved in toolstate checking. In particular, the previous logic was spread across numerous python and shell scripts in such a way that made interpretation quite difficult.
2019-05-09remove unneeded `extern crate`s from build toolsAndy Russell-0/+2
2018-12-25Remove licensesMark Rousskov-10/+0
2017-12-27Clarify toolstate names. Move publish.py to a more convenient location.kennytm-4/+5
2017-12-27Revert "Add a file to trivially disable tool building or testing"kennytm-31/+0
This reverts commit ab018c76e14b87f3c9e0b7384cc9b02d94779cd5. This also adds the `ToolBuild::is_ext_tool` field to replace the previous `ToolBuild::expectation` field, to indicate whether a build-failure of certain tool is essential.
2017-12-03Record build and test result of extended tools into toolstates.json.kennytm-1/+1
2017-10-16rustbuild: Allow setting rls/rustfmt to "broken"Alex Crichton-0/+7
This commit enables configuring the RLS/rustfmt tools to the "broken" state and actually get it past CI. The main changes here were to update all dist-related code to handle the situation where the RLS isn't available. This in turn involved a homegrown preprocessor-like-function to edit the configuration files we pass to the various combined installer tools.
2017-09-27Add RLS and Rustfmt to the toolstate mechanismNick Cameron-0/+2
2017-09-19Add clippy to `toolstate.toml`Oliver Schneider-0/+1
2017-09-17Add a file to trivially disable tool building or testingOliver Schneider-0/+48