Struct bootstrap::core::build_steps::toolstate::ToolStateCheck
source · pub struct ToolStateCheck;
Trait Implementations§
source§impl Clone for ToolStateCheck
impl Clone for ToolStateCheck
source§fn clone(&self) -> ToolStateCheck
fn clone(&self) -> ToolStateCheck
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for ToolStateCheck
impl Debug for ToolStateCheck
source§impl Hash for ToolStateCheck
impl Hash for ToolStateCheck
source§impl PartialEq for ToolStateCheck
impl PartialEq for ToolStateCheck
source§impl Step for ToolStateCheck
impl Step for ToolStateCheck
source§fn run(self, builder: &Builder<'_>)
fn run(self, builder: &Builder<'_>)
Checks tool state status.
This is intended to be used in the checktools.sh
script. To use
this, set save-toolstates
in config.toml
so that tool status will
be saved to a JSON file. Then, run x.py test --no-fail-fast
for all
of the tools to populate the JSON file. After that is done, this
command can be run to check for any status failures, and exits with an
error if there are any.
This also handles publishing the results to the history
directory of
the toolstate repo https://github.com/rust-lang-nursery/rust-toolstate
if the env var TOOLSTATE_PUBLISH
is set. Note that there is a
separate step of updating the latest.json
file and creating GitHub
issues and comments in src/ci/publish_toolstate.sh
, which is only
performed on master. (The shell/python code is intended to be migrated
here eventually.)
The rules for failure are:
- If the PR modifies a tool, the status must be test-pass. NOTE: There is intent to change this, see https://github.com/rust-lang/rust/issues/65000.
- All “stable” tools must be test-pass on the stable or beta branches.
- During beta promotion week, a PR is not allowed to “regress” a stable tool. That is, the status is not allowed to get worse (test-pass to test-fail or build-fail).
source§type Output = ()
type Output = ()
PathBuf
when directories are created or to return a Compiler
once
it’s been assembled.source§fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_>
fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_>
make_run
is called
directly.source§fn make_run(run: RunConfig<'_>)
fn make_run(run: RunConfig<'_>)
source§const DEFAULT: bool = false
const DEFAULT: bool = false
true
here can still be overwritten by should_run
calling default_condition
.source§const ONLY_HOSTS: bool = false
const ONLY_HOSTS: bool = false
impl Copy for ToolStateCheck
impl Eq for ToolStateCheck
impl StructuralPartialEq for ToolStateCheck
Auto Trait Implementations§
impl Freeze for ToolStateCheck
impl RefUnwindSafe for ToolStateCheck
impl Send for ToolStateCheck
impl Sync for ToolStateCheck
impl Unpin for ToolStateCheck
impl UnwindSafe for ToolStateCheck
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<T> Pointable for T
impl<T> Pointable for T
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 0 bytes