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

Move MSRV test to separate job with cargo +nightly update -Z minimal-versions #175

Merged
merged 9 commits into from
Nov 10, 2021

Conversation

ilslv
Copy link
Contributor

@ilslv ilslv commented Nov 10, 2021

This PR moves MSRV test into a separate job and adds cargo +nightly update -Z minimal-versions to downgrade into lowest compatible version from Cargo.toml.

For now, this crate depends on syn v1.0.0 and higher, which isn't quite true, because Path::get_ident() method seen here wasn't introduced until syn v1.0.3. To avoid problems like this, I've fixed main dependencies version to latest stable ones.

tyranron
tyranron previously approved these changes Nov 10, 2021
Copy link
Collaborator

@tyranron tyranron left a comment

Choose a reason for hiding this comment

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

Run CI

@ilslv
Copy link
Contributor Author

ilslv commented Nov 10, 2021

@tyranron bumping rustc_version to 0.4.0 fixes MSRV locally for me

Copy link
Collaborator

@tyranron tyranron left a comment

Choose a reason for hiding this comment

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

@ilslv so, at this moment -Z minimal-versions doesn't work because of peg 0.5 in [build-dependencies] not working correctly with -Z minimal-versions.

Actually there is a peg 0.7 already, but I doubt @JelteF will agree migrate to it, because at the time the whole idea of introducing peg was to avoid additional [dependencies] for parsing, while starting from peg 0.6 it works like [dependencies] not the [build-dependencies].

Is there any alternatives to peg which can produce parser in build time without living in direct [dependencies], while are maintained?

@tyranron
Copy link
Collaborator

@ilslv

bumping rustc_version to 0.4.0 fixes MSRV locally for me

Oh, nice! ♥️

So we can postpone peg question for now.

@tyranron
Copy link
Collaborator

@ilslv now it doesn't work because 1.36 Rust doesn't understand well newer .lock file format. 🙈

I guess we need for now to separate check for -Z minimal-versions and MSRV in different jobs, until MSRV is bumped up.

Copy link
Collaborator

@tyranron tyranron left a comment

Choose a reason for hiding this comment

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

@JelteF to summaize this PR:

  • adds CI job checking whether crate works OK on minimal crates versions described in Cargo.toml
  • fixes Clippy lints on latest nightly

@tyranron tyranron merged commit efbe824 into JelteF:master Nov 10, 2021
@tyranron
Copy link
Collaborator

@JelteF can we hope for a patch release with this, so downstream crates won't fail on -Z minimal-versions check?

@JelteF
Copy link
Owner

JelteF commented Nov 28, 2021

I released v0.99.17 just now, which includes this change.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants