Skip to content

x.py check creates work for itself #82461

Closed
@jyn514

Description

@jyn514

I tried this: x.py check && x.py check

I expected to see this happen: The first invocation does as much work as it needs to, and the second invocation does no work at all.

Instead, this happened: The second invocation checks rustdoc, clippy, and bootstrap twice.

Checking stage0 rustdoc artifacts (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
    Checking cfg-if v0.1.10
    Checking lazy_static v1.4.0
    Checking regex-syntax v0.6.22
    Checking itoa v0.4.6
    Checking libc v0.2.85
    Checking memchr v2.3.3
    Checking ryu v1.0.5
    Checking crossbeam-utils v0.7.2
    Checking crossbeam-utils v0.6.6
    Checking thread_local v1.0.1
    Checking serde_json v1.0.59
    Checking aho-corasick v0.7.13
    Checking pulldown-cmark v0.8.0
    Checking crossbeam-epoch v0.8.2
    Checking crossbeam-queue v0.1.2
    Checking getrandom v0.1.14
    Checking num_cpus v1.13.0
    Checking crossbeam-deque v0.7.3
    Checking rand_core v0.5.1
    Checking rustc-rayon-core v0.3.0
    Checking rand_chacha v0.2.2
    Checking rand v0.7.3
    Checking rustc-rayon v0.3.0
    Checking tempfile v3.1.0
    Checking regex v1.4.3
    Checking rustdoc v0.0.0 (/home/joshua/rustc2/src/librustdoc)
    Checking rustdoc-tool v0.0.0 (/home/joshua/rustc2/src/tools/rustdoc)
    Finished release [optimized] target(s) in 3.72s
Checking stage0 cranelift artifacts (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
warning: field is never read: `update_symbols`
  --> src/archive.rs:33:5
   |
33 |     update_symbols: bool,
   |     ^^^^^^^^^^^^^^^^^^^^
   |
   = note: `#[warn(dead_code)]` on by default

warning: 1 warning emitted

    Finished release [optimized] target(s) in 0.03s
Checking stage0 clippy artifacts (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
    Checking serde_json v1.0.59
    Checking cargo_metadata v0.12.0
    Checking clippy_lints v0.1.52 (/home/joshua/rustc2/src/tools/clippy/clippy_lints)
    Checking clippy v0.1.52 (/home/joshua/rustc2/src/tools/clippy)
    Finished release [optimized] target(s) in 4.53s
Checking stage0 bootstrap artifacts (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
    Checking cfg-if v0.1.10
    Checking lazy_static v1.4.0
    Checking regex-syntax v0.6.22
    Checking itoa v0.4.6
    Checking memchr v2.3.3
    Checking libc v0.2.85
    Checking ryu v1.0.5
    Checking log v0.4.11
    Checking thread_local v1.0.1
    Checking crossbeam-utils v0.7.2
    Checking serde_json v1.0.59
    Checking aho-corasick v0.7.13
    Checking bstr v0.2.13
    Checking time v0.1.43
    Checking filetime v0.2.12
    Checking num_cpus v1.13.0
    Checking regex v1.4.3
    Checking globset v0.4.5
    Checking ignore v0.4.16
    Checking bootstrap v0.0.0 (/home/joshua/rustc2/src/bootstrap)
    Finished release [optimized] target(s) in 3.95s
Build completed successfully in 0:00:13

Meta

Currently rebasing #79341 over fe1bf8e, but this has been happening for the last few weeks so I would expect any parent commit of fe1bf8e, to reproduce the issue.

Metadata

Metadata

Assignees

Labels

A-contributor-roadblockArea: Makes things more difficult for new or seasoned contributors to RustC-bugCategory: This is a bug.T-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions