Integrate cargo-public-api
Opened this issue · 1 comments
arlyon commented
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
jwiesler commented
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