You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem or challenge?
DataFusion is a rapidly evolving codebase. With many minor and major changes every week, through this all we try to minimise unnecessary API changes/breaks as much as possible but every change has the possibility of causing API changes in ways we can not predict. Here is a nice article about this.
Describe the solution you'd like
cargo-semver-checks is a cargo tool made for specific purpose of automatically identifying API changes (and avoid breaking Semantic Versioning, not that relevant for us as we have pretty much only major release every month.).
Its general usage is explained in above mentioned article.
We can use this tool in a CI to check if a particular PR/merge has broken any API or not.
Note: (IMO)This CI check is not supposed to be a blocker but a way to avoid uninformed API changes.
Describe alternatives you've considered
Search for other similar tools or continue to predict API changes without any tool.
We can customise this github action to suit our needs. I am already giving it a shot.
It will save me(or anybody else trying this) some time if we agree on a couple of things.
When do we want to run this check? and against what baseline version?
I am thinking :-
PR: only changed crates. against current main.
for Push: all crates. against last release.
Also, this approach will probably require publishing CI Actions repo(for cargo semver-check) to github marketplace(for easy access). I hope that is not a problem.
Is your feature request related to a problem or challenge?
DataFusion is a rapidly evolving codebase. With many minor and major changes every week, through this all we try to minimise unnecessary API changes/breaks as much as possible but every change has the possibility of causing API changes in ways we can not predict. Here is a nice article about this.
Describe the solution you'd like
cargo-semver-checks
is a cargo tool made for specific purpose of automatically identifying API changes (and avoid breaking Semantic Versioning, not that relevant for us as we have pretty much only major release every month.).Its general usage is explained in above mentioned article.
We can use this tool in a CI to check if a particular PR/merge has broken any API or not.
Note: (IMO)This CI check is not supposed to be a blocker but a way to avoid uninformed API changes.
Describe alternatives you've considered
Search for other similar tools or continue to predict API changes without any tool.
Additional context
Discussion: More thorough contribution guideline.
Article: SemVer in Rust: Tooling, Breakage, and Edge Cases
The text was updated successfully, but these errors were encountered: