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

ci: Use updated fork of cargo-public-api-crates #3100

Merged
merged 2 commits into from
Dec 25, 2024

Conversation

jplatte
Copy link
Member

@jplatte jplatte commented Dec 25, 2024

So we no longer need to pin an old nightly.

Copy link
Collaborator

@Turbo87 Turbo87 left a comment

Choose a reason for hiding this comment

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

seems reasonable

is there a reason why we're not using https://github.com/obi1kenobi/cargo-semver-checks here?

@jplatte
Copy link
Member Author

jplatte commented Dec 25, 2024

No reason other than that nobody has put in the effort yet (and I think we'd have to discuss how to integrate it too). But to be clear that would be in addition, right?

@jplatte jplatte merged commit 1bc6948 into main Dec 25, 2024
18 checks passed
@jplatte jplatte deleted the jplatte/cargo-public-api-crates branch December 25, 2024 17:55
@Turbo87
Copy link
Collaborator

Turbo87 commented Dec 25, 2024

I don't have direct experience with either, but from their readmes it sounded like they do roughly the same thing unless I've missed something 😅

@jplatte
Copy link
Member Author

jplatte commented Dec 25, 2024

They do related but independent jobs, and both use rustdoc's JSON output to do their job:

cargo-semver-checks checks whether there's any breaking changes between two versions of a crate (I use it locally prior to publishing a non-semver-breaking crate release to ensure I'm not accidentally shipping something that does break, but it can also be integrated into CI of course).

cargo-public-api-crates ensures that your crate does not publically export items from / implements traits from any of its dependencies unless white-listed (such that upgrading that dependency is never a breaking change) - at some point this will be superseded by native Cargo support for marking dependencies as public or private (rust-lang/rust#44663).

@Turbo87
Copy link
Collaborator

Turbo87 commented Dec 25, 2024

I see. looks like I somehow misunderstood what cargo-public-api-crates does 😅

@jplatte
Copy link
Member Author

jplatte commented Dec 25, 2024

Well, it's hardly documented. Probably something I should fix in my fork too at some point ^^

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.

2 participants