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

Miscellaneous changes to rustbuild and CI. #51459

Merged
merged 5 commits into from
Jun 9, 2018

Conversation

kennytm
Copy link
Member

@kennytm kennytm commented Jun 9, 2018

  1. Don't build LLVM when running rust-installer.
  2. If toolstate is unchanged, don't push a commit to the toolstate repo.
  3. Allow ./x.py build src/librustc_codegen_llvm
  4. Added log to track Spurious "syntax error in VERSION script" when linking the sanitizers on dist-x86_64-linux-alt #50887.

Conservatively only disable LLVM for rust-installer. This should shave
5 minutes from the x86_64-gnu-distcheck job by not building LLVM twice.
This should greatly reduce the commits on the rust-toolstate repository.

`publish_toolstate.py` defaults to keep the old status if a new one is not
found, so nothing needs to be changed to that file.
Use `./x.py build src/librustc_codegen_llvm` to build the codegen backend.
@rust-highfive
Copy link
Collaborator

r? @nikomatsakis

(rust_highfive has picked a reviewer for you, use r? to override)

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jun 9, 2018
@kennytm
Copy link
Member Author

kennytm commented Jun 9, 2018

r? @Mark-Simulacrum

Copy link
Member

@Mark-Simulacrum Mark-Simulacrum left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Otherwise looks good.

@@ -343,7 +350,7 @@ tool!(
Compiletest, "src/tools/compiletest", "compiletest", Mode::ToolTest;
BuildManifest, "src/tools/build-manifest", "build-manifest", Mode::ToolStd;
RemoteTestClient, "src/tools/remote-test-client", "remote-test-client", Mode::ToolStd;
RustInstaller, "src/tools/rust-installer", "fabricate", Mode::ToolStd;
RustInstaller, "src/tools/rust-installer", "fabricate", Mode::ToolStd, llvm_tools = false;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What makes RustInstaller special? Can we add a comment?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Mark-Simulacrum Added a FIXME in ab5e3e6. The main reason is I've only verified RustInstaller can run without the LLVM binaries in $PATH (as the main purpose is to remove unnecessary work from distcheck).

@Mark-Simulacrum
Copy link
Member

@bors r+

I suspect that this is insufficient for much of a gain on CI, since we presumably are still building the llvm tools... unless I missed something.

@bors
Copy link
Contributor

bors commented Jun 9, 2018

📌 Commit ab5e3e6 has been approved by Mark-Simulacrum

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jun 9, 2018
@bors
Copy link
Contributor

bors commented Jun 9, 2018

⌛ Testing commit ab5e3e6 with merge 2a00629...

bors added a commit that referenced this pull request Jun 9, 2018
Miscellaneous changes to rustbuild and CI.

1. Don't build LLVM when running rust-installer.
2. If toolstate is unchanged, don't push a commit to the toolstate repo.
3. Allow `./x.py build src/librustc_codegen_llvm`
4. Added log to track #50887.
@kennytm
Copy link
Member Author

kennytm commented Jun 9, 2018

The LLVM dependency was pulled in by the self.llvm_bin_path() call, so it will s actually sufficient.

@bors
Copy link
Contributor

bors commented Jun 9, 2018

☀️ Test successful - status-appveyor, status-travis
Approved by: Mark-Simulacrum
Pushing 2a00629 to master...

@bors bors merged commit ab5e3e6 into rust-lang:master Jun 9, 2018
@kennytm kennytm deleted the dist-at-stage-0 branch June 10, 2018 04:34
bors added a commit that referenced this pull request Jun 26, 2018
Do not build LLVM tools for any of the tools

None of the tools in the list should need LLVM tools themselves as far as I can
tell; if this is incorrect, we can re-enable the tool building later.

The primary reason for doing this is that rust-central-station uses the
BuildManifest tool and building LLVM there is not cached: it takes ~1.5
hours on the 2 core machine. This commit should make nightlies and
stable releases much faster.

Followup to #51459, r? @kennytm

I'm mostly relying on CI to test this so probably don't roll it up; I'm not sure how to (and not particularly inclined to) wait for multiple hours to test this locally. I imagine that the failures should be fairly obvious when/if encountered.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants