Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rustbuild: i686 rustc artifact is gone #38637

Closed
xen0n opened this issue Dec 27, 2016 · 2 comments
Closed

rustbuild: i686 rustc artifact is gone #38637

xen0n opened this issue Dec 27, 2016 · 2 comments
Labels
T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)

Comments

@xen0n
Copy link
Contributor

xen0n commented Dec 27, 2016

This is the reason of nightly packaging failing. I strongly suspect my own #38468 for that, although I don't yet know why the artifact is skipped in the first place. I'll investigate further.

@xen0n
Copy link
Contributor Author

xen0n commented Dec 27, 2016

Indeed:

In step.rs we have some logic to presumably shave off some test time by checking if the rule is host-only, limiting the cross product to hosts array if applicable. However after #38468 the hosts array only consists of the build triple, so the output of host rules is effectively filtered to build-triple-only.

My apologies. Patch pending.

@xen0n
Copy link
Contributor Author

xen0n commented Dec 27, 2016

Opened #38639.

Before #38468: (some additional debug info added by me, not present in the PR)

target rule dist-analysis: hosts=["x86_64-unknown-linux-gnu", "i686-unknown-linux-gnu"] arr=["x86_64-unknown-linux-gnu", "i686-unknown-linux-gnu"]
host rule dist-src: hosts=["x86_64-unknown-linux-gnu", "i686-unknown-linux-gnu"] arr=["x86_64-unknown-linux-gnu", "i686-unknown-linux-gnu"]
target rule dist-std: hosts=["x86_64-unknown-linux-gnu", "i686-unknown-linux-gnu"] arr=["x86_64-unknown-linux-gnu", "i686-unknown-linux-gnu"]
target rule dist-docs: hosts=["x86_64-unknown-linux-gnu", "i686-unknown-linux-gnu"] arr=["x86_64-unknown-linux-gnu", "i686-unknown-linux-gnu"]
target rule dist-mingw: hosts=["x86_64-unknown-linux-gnu", "i686-unknown-linux-gnu"] arr=["x86_64-unknown-linux-gnu", "i686-unknown-linux-gnu"]
host rule dist-rustc: hosts=["x86_64-unknown-linux-gnu", "i686-unknown-linux-gnu"] arr=["x86_64-unknown-linux-gnu", "i686-unknown-linux-gnu"]
bootstrap top targets:
        Step { name: "dist-analysis", stage: 2, host: "x86_64-unknown-linux-gnu", target: "x86_64-unknown-linux-gnu" }
        Step { name: "dist-analysis", stage: 2, host: "x86_64-unknown-linux-gnu", target: "i686-unknown-linux-gnu" }
        Step { name: "dist-analysis", stage: 2, host: "i686-unknown-linux-gnu", target: "x86_64-unknown-linux-gnu" }
        Step { name: "dist-analysis", stage: 2, host: "i686-unknown-linux-gnu", target: "i686-unknown-linux-gnu" }
        Step { name: "dist-src", stage: 2, host: "x86_64-unknown-linux-gnu", target: "x86_64-unknown-linux-gnu" }
        Step { name: "dist-src", stage: 2, host: "x86_64-unknown-linux-gnu", target: "i686-unknown-linux-gnu" }
        Step { name: "dist-src", stage: 2, host: "i686-unknown-linux-gnu", target: "x86_64-unknown-linux-gnu" }
        Step { name: "dist-src", stage: 2, host: "i686-unknown-linux-gnu", target: "i686-unknown-linux-gnu" }
        Step { name: "dist-std", stage: 2, host: "x86_64-unknown-linux-gnu", target: "x86_64-unknown-linux-gnu" }
        Step { name: "dist-std", stage: 2, host: "x86_64-unknown-linux-gnu", target: "i686-unknown-linux-gnu" }
        Step { name: "dist-std", stage: 2, host: "i686-unknown-linux-gnu", target: "x86_64-unknown-linux-gnu" }
        Step { name: "dist-std", stage: 2, host: "i686-unknown-linux-gnu", target: "i686-unknown-linux-gnu" }
        Step { name: "dist-docs", stage: 2, host: "x86_64-unknown-linux-gnu", target: "x86_64-unknown-linux-gnu" }
        Step { name: "dist-docs", stage: 2, host: "x86_64-unknown-linux-gnu", target: "i686-unknown-linux-gnu" }
        Step { name: "dist-docs", stage: 2, host: "i686-unknown-linux-gnu", target: "x86_64-unknown-linux-gnu" }
        Step { name: "dist-docs", stage: 2, host: "i686-unknown-linux-gnu", target: "i686-unknown-linux-gnu" }
        Step { name: "dist-mingw", stage: 2, host: "x86_64-unknown-linux-gnu", target: "x86_64-unknown-linux-gnu" }
        Step { name: "dist-mingw", stage: 2, host: "x86_64-unknown-linux-gnu", target: "i686-unknown-linux-gnu" }
        Step { name: "dist-mingw", stage: 2, host: "i686-unknown-linux-gnu", target: "x86_64-unknown-linux-gnu" }
        Step { name: "dist-mingw", stage: 2, host: "i686-unknown-linux-gnu", target: "i686-unknown-linux-gnu" }
        Step { name: "dist-rustc", stage: 2, host: "x86_64-unknown-linux-gnu", target: "x86_64-unknown-linux-gnu" }
        Step { name: "dist-rustc", stage: 2, host: "x86_64-unknown-linux-gnu", target: "i686-unknown-linux-gnu" }
        Step { name: "dist-rustc", stage: 2, host: "i686-unknown-linux-gnu", target: "x86_64-unknown-linux-gnu" }
        Step { name: "dist-rustc", stage: 2, host: "i686-unknown-linux-gnu", target: "i686-unknown-linux-gnu" }

After #38468, before #38639:

host rule dist-rustc: hosts=["x86_64-unknown-linux-gnu"] arr=["x86_64-unknown-linux-gnu"]
target rule dist-analysis: hosts=["x86_64-unknown-linux-gnu"] arr=["x86_64-unknown-linux-gnu", "i686-unknown-linux-gnu"]
target rule dist-std: hosts=["x86_64-unknown-linux-gnu"] arr=["x86_64-unknown-linux-gnu", "i686-unknown-linux-gnu"]
target rule dist-mingw: hosts=["x86_64-unknown-linux-gnu"] arr=["x86_64-unknown-linux-gnu", "i686-unknown-linux-gnu"]
host rule dist-src: hosts=["x86_64-unknown-linux-gnu"] arr=["x86_64-unknown-linux-gnu"]
target rule dist-docs: hosts=["x86_64-unknown-linux-gnu"] arr=["x86_64-unknown-linux-gnu", "i686-unknown-linux-gnu"]
bootstrap top targets:
        Step { name: "dist-rustc", stage: 2, host: "x86_64-unknown-linux-gnu", target: "x86_64-unknown-linux-gnu" }
        Step { name: "dist-analysis", stage: 2, host: "x86_64-unknown-linux-gnu", target: "x86_64-unknown-linux-gnu" }
        Step { name: "dist-analysis", stage: 2, host: "x86_64-unknown-linux-gnu", target: "i686-unknown-linux-gnu" }
        Step { name: "dist-std", stage: 2, host: "x86_64-unknown-linux-gnu", target: "x86_64-unknown-linux-gnu" }
        Step { name: "dist-std", stage: 2, host: "x86_64-unknown-linux-gnu", target: "i686-unknown-linux-gnu" }
        Step { name: "dist-mingw", stage: 2, host: "x86_64-unknown-linux-gnu", target: "x86_64-unknown-linux-gnu" }
        Step { name: "dist-mingw", stage: 2, host: "x86_64-unknown-linux-gnu", target: "i686-unknown-linux-gnu" }
        Step { name: "dist-src", stage: 2, host: "x86_64-unknown-linux-gnu", target: "x86_64-unknown-linux-gnu" }
        Step { name: "dist-docs", stage: 2, host: "x86_64-unknown-linux-gnu", target: "x86_64-unknown-linux-gnu" }
        Step { name: "dist-docs", stage: 2, host: "x86_64-unknown-linux-gnu", target: "i686-unknown-linux-gnu" }

After:

target rule dist-mingw: hosts=["x86_64-unknown-linux-gnu"] arr=["x86_64-unknown-linux-gnu", "i686-unknown-linux-gnu"]
target rule dist-docs: hosts=["x86_64-unknown-linux-gnu"] arr=["x86_64-unknown-linux-gnu", "i686-unknown-linux-gnu"]
host rule dist-rustc: hosts=["x86_64-unknown-linux-gnu"] arr=["x86_64-unknown-linux-gnu", "i686-unknown-linux-gnu"]
host rule dist-src: hosts=["x86_64-unknown-linux-gnu"] arr=["x86_64-unknown-linux-gnu", "i686-unknown-linux-gnu"]
target rule dist-analysis: hosts=["x86_64-unknown-linux-gnu"] arr=["x86_64-unknown-linux-gnu", "i686-unknown-linux-gnu"]
target rule dist-std: hosts=["x86_64-unknown-linux-gnu"] arr=["x86_64-unknown-linux-gnu", "i686-unknown-linux-gnu"]
bootstrap top targets:
        Step { name: "dist-mingw", stage: 2, host: "x86_64-unknown-linux-gnu", target: "x86_64-unknown-linux-gnu" }
        Step { name: "dist-mingw", stage: 2, host: "x86_64-unknown-linux-gnu", target: "i686-unknown-linux-gnu" }
        Step { name: "dist-docs", stage: 2, host: "x86_64-unknown-linux-gnu", target: "x86_64-unknown-linux-gnu" }
        Step { name: "dist-docs", stage: 2, host: "x86_64-unknown-linux-gnu", target: "i686-unknown-linux-gnu" }
        Step { name: "dist-rustc", stage: 2, host: "x86_64-unknown-linux-gnu", target: "x86_64-unknown-linux-gnu" }
        Step { name: "dist-rustc", stage: 2, host: "x86_64-unknown-linux-gnu", target: "i686-unknown-linux-gnu" }
        Step { name: "dist-src", stage: 2, host: "x86_64-unknown-linux-gnu", target: "x86_64-unknown-linux-gnu" }
        Step { name: "dist-src", stage: 2, host: "x86_64-unknown-linux-gnu", target: "i686-unknown-linux-gnu" }
        Step { name: "dist-analysis", stage: 2, host: "x86_64-unknown-linux-gnu", target: "x86_64-unknown-linux-gnu" }
        Step { name: "dist-analysis", stage: 2, host: "x86_64-unknown-linux-gnu", target: "i686-unknown-linux-gnu" }
        Step { name: "dist-std", stage: 2, host: "x86_64-unknown-linux-gnu", target: "x86_64-unknown-linux-gnu" }
        Step { name: "dist-std", stage: 2, host: "x86_64-unknown-linux-gnu", target: "i686-unknown-linux-gnu" }

xen0n added a commit to xen0n/rust that referenced this issue Dec 27, 2016
The comment touched, as originally written, only concerned itself with
the `test` steps. However, since rust-lang#38468 the `arr` variable actually has
gained an indirect relationship with the `dist` steps too. The comment
failed to convey the extra meaning, contributing to the misunderstanding
which eventually lead to rust-lang#38637. Fix that by moving the comment into the
right place near the relevant condition, and properly documenting
`arr`'s purpose.
@sanxiyn sanxiyn added the T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) label Dec 28, 2016
@bors bors closed this as completed in cf89453 Dec 28, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)
Projects
None yet
Development

No branches or pull requests

2 participants