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

[WIP] Bring rust-semverver in-tree and test that it builds. #73902

Closed
wants to merge 589 commits into from

Conversation

eddyb
Copy link
Member

@eddyb eddyb commented Jun 30, 2020

What is rust-semverver?

rust-semverver is a tool to check semver-compliance in Rust library crates. The core of the tool has been developed as a student project during the Google Summer of Code 2017.

Details on the work done during GSoC 2017 can be found here.


This PR initializes src/tools/rust-semverver to rust-lang/rust-semverver@0bbdabf using git subtree add, akin to what @oli-obk did to bring clippy in-tree. Only the last 3 commits are mine.

I was also able to make ./x.py check src/tools/semverver and ./x.py build src/tools/semverver work, but for now I've kept ./x.py test src/tools/semverver equivalent to build (i.e. not actually running any tests), pending actual test integration.

To get tests working I suspect we'll have to rewrite some of the test driving logic in src/tools/semverver/tests to rely more on environment variables than relative paths (akin to what clippy does).

In order to get rust-semverver to build successfully in-tree, I had to work around the fact that it depends on some Cargo crates which do not build with SourceType::InTree (i.e. Cargo doesn't build with -Drust_2018_idioms), so for now it's using SourceType::Submodule despite that being incorrect for src/tools/semverver itself.

I also updated it to the latest rustc and Cargo, but I haven't tested that it still works afterwards.

r? @Mark-Simulacrum cc @ibabushkin @rust-lang/compiler @rust-lang/dev-tools @Manishearth @JohnTitor

@rust-highfive

This comment has been minimized.

@eddyb

This comment has been minimized.

@rust-highfive

This comment has been minimized.

@mati865

This comment has been minimized.

@eddyb

This comment has been minimized.

@ehuss

This comment has been minimized.

@mati865

This comment has been minimized.

@eddyb
Copy link
Member Author

eddyb commented Jul 1, 2020

mingw-check passes now, after I changed it from Ubuntu 16.04 to 18.04, thanks @mati865 and @ehuss!

@eddyb
Copy link
Member Author

eddyb commented Jul 1, 2020

@bors rollup=never (in case the tools builder fails)

@nikomatsakis
Copy link
Contributor

I am a strong supporter of us shipping this tool, but I'd like to understand the maintenance plan -- can we create a team for it under the dev-tools team, for example?

@Mark-Simulacrum
Copy link
Member

Yes, that's one of the questions I was hoping an MCP (or similar, perhaps RFC or so) would answer.

To be clear, I've not been planning on reviewing this until someone with "T-compiler" hat on says that we're going to merge this in and we have some sort of plan for maintenance etc.

@Manishearth
Copy link
Member

The dev tools team has been "maintenance mode" maintaining it, doing rustups. We can continue keeping an eye on it, in part one of the things we do is keep an eye out for these smaller tools. We'd need maintainers to do more

@mati865

This comment has been minimized.

Manishearth added a commit to Manishearth/rust that referenced this pull request Jul 4, 2020
Bump mingw-check CI image from Ubuntu 16.04 to 18.04.

I chose 18.04 because we use it for other builders, and it's enough to get a version of MinGW that can build `libssh2-sys`.

This is a prereq for rust-lang#73902, where `libssh2-sys` shows up as an indirect dependency of `x.py check src/tools/semverver` (through `src/tools/cargo`, which we don't currently `x.py check` because it's not in-tree). See also rust-lang#73902 (comment).

r? @Mark-Simulacrum cc @mati865
@bors

This comment has been minimized.

@Manishearth
Copy link
Member

@bors rollup=never

@bors
Copy link
Contributor

bors commented Jul 18, 2020

☔ The latest upstream changes (presumably #73441) made this pull request unmergeable. Please resolve the merge conflicts.

@bors
Copy link
Contributor

bors commented Jul 28, 2020

☔ The latest upstream changes (presumably #73265) made this pull request unmergeable. Please resolve the merge conflicts.

@Dylan-DPC-zz
Copy link

Closing this as it's blocked for a long time

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-blocked Status: Marked as blocked ❌ on something else such as an RFC or other implementation work.
Projects
None yet
Development

Successfully merging this pull request may close these issues.