-
Notifications
You must be signed in to change notification settings - Fork 11
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
cargo2junit will stop working with Rust 1.70 #79
Comments
It's not like they did it for fun, they have fixed long standing issue that cargo2junit has been relying on:rust-lang/rust#75526 Note: I'm not a team member, just wasn't happy with tone of that message. |
The tone was intentional. They could have chosen any number of alternatives. They made the choice to break users. |
For what it's worth, I have replaced cargo2junit with nextest with great success: https://nexte.st/book/junit.html |
Thanks @marmeladema, I'll take a look. |
You still can use |
This is the tracking issue for the unstable option |
Sorry for the radio silence - I'm a little confused here - does stable rust now have no structured logging for |
This project is using cargo2junit with the unstable option, which seems to work fine on 1.71: https://github.com/mthom/scryer-prolog/actions/runs/5859200266/job/15884709552 |
Correct.
Incorrect 😉 To be fair to the devs, it wasn't so much "let's break this specific thing here even though there's no replacement", it was about closing an inconsistency with the command line arguments that incidentally affected this. OTOH, a couple of them have been a bit derisive about the fact that people relied on this, even though it met a need that's fairly widespread but unmet by anything else official, and there's not a solid "laundry list" of things needed to get it stabilised (although there's this). Meanwhile, the real goal, jUnit XML output, seems fundamentally incompatible with libtest's current architecture (not in the sense it could never happen, but in that it could be a surprising amount of work to achieve).
(Suggestions from someone who has time to summarise this stuff because I already did it for colleagues anyway, but not time to actually help with the suggestions?)
Either way, thanks for your work on this so far, it made adoption of Rust in an existing project that much more smooth. |
This is using |
Yes, thank you for clarifying. Though I'd like to note that this project only does this on the specific call to |
Rust 1.70 finally stopped allowing `cargo test -- -Z unstable-options` which is required by `cargo2junit` to work. Instead, use `cargo nextest` to drive the tests in CI. See: johnterickson/cargo2junit#79
The Rust libs team quietly decided to start blocking
-Zunstable-options
in Rust 1.70 outside of nightly builds. Rust 1.70 is now in beta.rust-lang/rust#109044
Arguably cargo2unit users were playing with fire by taking a dependency on this... but nonetheless this will strand users on 1.69 who depend on JSON output in their CI builds.
Luckily, it seems that setting
RUSTC_BOOTSTRAP=1
in the environment before launching the test will work around this. This seems strictly worse than the status quo since it allows other Rust unstable features to be used as well. Oh well.Perhaps the README should be updated to reflect this.
The text was updated successfully, but these errors were encountered: