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

Integrate cargo-public-api #531

Open
arlyon opened this issue Apr 8, 2024 · 1 comment
Open

Integrate cargo-public-api #531

arlyon opened this issue Apr 8, 2024 · 1 comment
Assignees

Comments

@arlyon
Copy link
Owner

arlyon commented Apr 8, 2024

Is your feature request related to a problem? Please describe.

We export a lot of code. We should use https://crates.io/crates/cargo-public-api to communicate / diff these.

Describe the solution you'd like

Add it to CI and run it on PRs

Describe alternatives you've considered

Additional context

No response

@arlyon arlyon self-assigned this Apr 10, 2024
@jwiesler jwiesler self-assigned this May 10, 2024
@jwiesler
Copy link
Collaborator

jwiesler commented May 10, 2024

Observations:

  • I omitted auto derived impls and blanket impls, which brought down the api json file from 25mb to 7mb
  • cargo public-api diff does not work, I couldn't get features to be passed to diff (opened an issue for this)
  • The test workflow would work, however, the output is not diffed and the file is 7mb. So this file would have to be diffed manually and the pipeline would always just report "not the same". Maybe there is some nice diff tool that can be used to generate a diff in the pipeline.

Open questions:

  • Does public-api exposes some api to generate the diff programatically
  • Which features do we want to use to check this?
    • With diff we could check the whole matrix
    • With the test approach every combination of features will need a dedicated file which adds up quickly in repo size

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

No branches or pull requests

2 participants