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

[auto-toolstate] Upload the toolstate result to an external git repository, and removes BuildExpectation #46554

Conversation

kennytm
Copy link
Member

@kennytm kennytm commented Dec 7, 2017

This PR consists of 3 commits.

  1. (Steps 4–6) The toolstate.json output previously collected is now pushed to the https://github.com/rust-lang-nursery/rust-toolstate repository.
  2. (Step 7) Revert commit ab018c7, thus removing all traces of BuildExpectation and toolstate.toml.
  3. (Step 8) Adjust CONTRIBUTION.md for the new procedure.

These are the last steps of #45861. After this PR, the toolstate will be automatically computed and published to https://rust-lang-nursery.github.io/rust-toolstate/. There is no need to manage toolstate.toml again.

Closes #45861.

@kennytm kennytm added the S-blocked Status: Marked as blocked ❌ on something else such as an RFC or other implementation work. label Dec 7, 2017
@rust-highfive
Copy link
Collaborator

r? @nikomatsakis

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

@kennytm
Copy link
Member Author

kennytm commented Dec 7, 2017

WIP —

  • Re-verify toolstate is correctly calculated and uploaded:

    • 1st try — obtain current status (miri: broken, everything else: testing)
    • 2nd try — deliberately break the testing code of several tools to see the effect
    • 3rd try — restore testability of these tools
  • Change publish.py to actually mention people

  • Administrative — move kennytm/rust-toolstate to rust-lang-nursery/rust-toolstate

  • Blocked by Validate miri against the HIR const evaluator #45002, which reenables miri, and another PR which unbricks clippy

@kennytm kennytm force-pushed the 45861-step-4-5-6-7-upload-test-result-and-remove-toolstate-toml branch from b1e7095 to 601da1a Compare December 7, 2017 08:53
@kennytm
Copy link
Member Author

kennytm commented Dec 7, 2017

@bors try

@bors
Copy link
Contributor

bors commented Dec 7, 2017

⌛ Trying commit 601da1abce3d0442597033873cf3f95f5c604168 with merge 3c298ceb67465e8c644db661e8702180add73731...

@bors
Copy link
Contributor

bors commented Dec 7, 2017

☀️ Test successful - status-travis
State: approved= try=True

@kennytm
Copy link
Member Author

kennytm commented Dec 7, 2017

clippy is broken? 🤔

@oli-obk
Copy link
Contributor

oli-obk commented Dec 7, 2017

Jup, I'm fixing it :)

@oli-obk
Copy link
Contributor

oli-obk commented Dec 7, 2017

You can update the submodule to clippy's master branch. It was just some whitespace changes in ui output

@kennytm
Copy link
Member Author

kennytm commented Dec 7, 2017

@oli-obk OK thanks 😄 It is worrying that the CI did not catch this, so I've updated checktools.sh to stop relying on $?, instead grep the test result directly.

@kennytm kennytm force-pushed the 45861-step-4-5-6-7-upload-test-result-and-remove-toolstate-toml branch 4 times, most recently from edf37eb to 4913a4e Compare December 7, 2017 10:52
@kennytm
Copy link
Member Author

kennytm commented Dec 7, 2017

@bors try

Second try:

  • Updated clippy to master to unbreak it
  • Overwrite a test in rustfmt to try to make the state fallback to Compiling.

@bors
Copy link
Contributor

bors commented Dec 7, 2017

⌛ Trying commit 4913a4e00e8eee49adb6fcbd2ec2de198bd4a19b with merge d215e0befefe6c0024072c3e5b94715872a55108...

@bors
Copy link
Contributor

bors commented Dec 7, 2017

💔 Test failed - status-travis

@kennytm kennytm force-pushed the 45861-step-4-5-6-7-upload-test-result-and-remove-toolstate-toml branch from 4913a4e to 0316a5a Compare December 7, 2017 12:27
@bors
Copy link
Contributor

bors commented Dec 7, 2017

⌛ Trying commit 0316a5aea8da99d41e253188bb8b67d92465af73 with merge e7f03ae4e474aefeb8129bcda1deba52327b64b8...

@bors
Copy link
Contributor

bors commented Dec 7, 2017

💔 Test failed - status-travis

@kennytm kennytm force-pushed the 45861-step-4-5-6-7-upload-test-result-and-remove-toolstate-toml branch from 0316a5a to 6e4a35c Compare December 7, 2017 12:37
@bors
Copy link
Contributor

bors commented Dec 7, 2017

⌛ Trying commit 6e4a35c96ff889557bec2db33bb8ec575e3244f1 with merge 13211b7c46993c26873b647f20df9952e33cd4e6...

@bors
Copy link
Contributor

bors commented Dec 7, 2017

💔 Test failed - status-travis

@kennytm
Copy link
Member Author

kennytm commented Dec 7, 2017

@oli-obk Just to let you know, clippy's dogfood test failed to run due to read-only file system.

[01:07:12] running 2 tests
[01:07:12] test compile_test ... FAILED
[01:07:12] test dogfood ... FAILED
[01:07:12] 
[01:07:12] failures:
[01:07:12] 
[01:07:12] ---- compile_test stdout ----
[01:07:12] 	thread 'compile_test' panicked at 'called `Result::unwrap()` on an `Err` value: Error { repr: Os { code: 30, message: "Read-only file system" } }', /checkout/src/libcore/result.rs:906:4
[01:07:12] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[01:07:12] 
[01:07:12] ---- dogfood stdout ----
[01:07:12] 	thread 'dogfood' panicked at 'called `Result::unwrap()` on an `Err` value: Error { repr: Os { code: 2, message: "No such file or directory" } }', /checkout/src/libcore/result.rs:906:4
[01:07:12] 
[01:07:12] 
[01:07:12] failures:
[01:07:12]     compile_test
[01:07:12]     dogfood
[01:07:12] 
[01:07:12] test result: FAILED. 0 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out
[01:07:12] 
[01:07:12] error: test failed, to rerun pass '--test compile-test'

Looks like clippy was not tested at all previously 😂, thus there were no report of such failure.

check-aux:
$(Q)$(BOOTSTRAP) test \
src/tools/cargo \
src/tools/rls \
src/tools/rustfmt \
src/tools/miri \
src/test/pretty \
src/test/run-pass/pretty \
src/test/run-fail/pretty \
src/test/run-pass-valgrind/pretty \
src/test/run-pass-fulldeps/pretty \
src/test/run-fail-fulldeps/pretty \
$(BOOTSTRAP_ARGS)

@kennytm
Copy link
Member Author

kennytm commented Dec 26, 2017

@bors r=alexcrichton

@bors
Copy link
Contributor

bors commented Dec 26, 2017

📌 Commit c9d3303 has been approved by alexcrichton

@kennytm kennytm added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-blocked Status: Marked as blocked ❌ on something else such as an RFC or other implementation work. labels Dec 26, 2017
@bors
Copy link
Contributor

bors commented Dec 26, 2017

⌛ Testing commit c9d330303df7d8dedb2e9103c9e0c0ee52cea614 with merge cf104e543b15d200679f6a6a88a7938656d1c3e9...

@bors
Copy link
Contributor

bors commented Dec 26, 2017

💔 Test failed - status-appveyor

@kennytm kennytm force-pushed the 45861-step-4-5-6-7-upload-test-result-and-remove-toolstate-toml branch from c9d3303 to 44954ab Compare December 26, 2017 16:01
@kennytm
Copy link
Member Author

kennytm commented Dec 26, 2017

@bors r=alexcrichton

@bors
Copy link
Contributor

bors commented Dec 26, 2017

📌 Commit 44954ab has been approved by alexcrichton

@bors
Copy link
Contributor

bors commented Dec 26, 2017

⌛ Testing commit 44954ab with merge 503153e...

bors added a commit that referenced this pull request Dec 26, 2017
…and-remove-toolstate-toml, r=alexcrichton

[auto-toolstate] Upload the toolstate result to an external git repository, and removes BuildExpectation

This PR consists of 3 commits.

1. (Steps 4–6) The `toolstate.json` output previously collected is now pushed to the https://github.com/rust-lang-nursery/rust-toolstate repository.
2. (Step 7) Revert commit ab018c7, thus removing all traces of `BuildExpectation` and `toolstate.toml`.
3. (Step 8) Adjust CONTRIBUTION.md for the new procedure.

These are the last steps of #45861. After this PR, the toolstate will be automatically computed and published to https://rust-lang-nursery.github.io/rust-toolstate/. There is no need to manage toolstate.toml again.

Closes #45861.
@bors
Copy link
Contributor

bors commented Dec 26, 2017

☀️ Test successful - status-appveyor, status-travis
Approved by: alexcrichton
Pushing 503153e to master...

@bors bors merged commit 44954ab into rust-lang:master Dec 26, 2017
kennytm-githubbot added a commit to rust-lang-nursery/rust-toolstate that referenced this pull request Dec 26, 2017
Tested on commit rust-lang/rust@503153e.

💔 rls on windows: test-fail → build-fail (cc @nrc).
💔 rls on linux: test-fail → build-fail (cc @nrc).
💔 rustfmt on windows: test-pass → build-fail (cc @nrc).
💔 rustfmt on linux: test-pass → build-fail (cc @nrc).
@oli-obk
Copy link
Contributor

oli-obk commented Dec 26, 2017

wooohoo! Thanks for the awesome work @kennytm

@kennytm kennytm deleted the 45861-step-4-5-6-7-upload-test-result-and-remove-toolstate-toml branch December 27, 2017 04:40
bors added a commit that referenced this pull request Dec 30, 2017
[WIP] Requires tools to test-pass if the corresponding submodule is updated.

Follow up of #46554. Breaking a tool would not stop bors from accepting a merge, but this also means when we intend to *fix* a tool but failed, bors will *still* accept the PR. This behavior is not helpful to the tool maintainers.

This PR attempts to fix this by rejecting the tool-update merge when a tool failed. It recognizes a PR as "tool-updating" when the corresponding submodule is changed, compared with the previous commit.

[WIP] - Final check to ensure the CI is interpreting the PR description correctly.
bors added a commit that referenced this pull request Dec 30, 2017
Requires tools to test-pass if the corresponding submodule is updated.

Follow up of #46554. Breaking a tool would not stop bors from accepting a merge, but this also means when we intend to *fix* a tool but failed, bors will *still* accept the PR. This behavior is not helpful to the tool maintainers.

This PR attempts to fix this by rejecting the tool-update merge when a tool failed. It recognizes a PR as "tool-updating" when the corresponding submodule is changed, compared with the previous commit.
@kennytm kennytm mentioned this pull request Jan 4, 2018
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.

8 participants