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 Kotlin binary compatibility validator. #1120
Conversation
88660a2
to
da6cb5f
Compare
da6cb5f
to
8768819
Compare
A sample output comparing with v10.2.0 release:
|
@pengdev several q:
|
8768819
to
ba13c41
Compare
sounds good to me, will add the workflow to the PR templates.
I just added the api files for v10.2.0 release tag, to get a sense on how the bot works. Just updated the api files to match the latest codebase. |
cb68bf9
to
cc56e60
Compare
@@ -23,6 +23,9 @@ workflows: | |||
- verify-docs: | |||
requires: | |||
- verify-code | |||
- verify-kotlin-binary-compatibility: | |||
requires: | |||
- verify-code | |||
- verify-api: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we remove verify-api?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think verify-api is a good indicator on reporting major/breaking changes, the binary compatibility validator and metalava doesn't report breaking changes automatically.
IMO naming is a bit confusing, both api / binary compatibility mean similar things and it's not clear how are these checks different. WDYT about renaming, for example might be :
|
So, it's manual step, right? Sadly =\ |
yes, it's a manual step, but I will try to make a simple MakeFile config to do the api file update. |
Sounds good to me, I will address it in follow-up PR when introducing |
Summary of changes
This PR:
Here's the suggested Workflow:
When starting to validate your library public API, we recommend the following workflow:
Preparation phase (one-time action):
apiDump
..api
files to your VCS.check
task will validate public API along with test run and will failthe build if API differs.
Regular workflow
actions should be performed.
check
task on your CI will validate everything.adjustments in existing one,
check
task will start to fail.apiDump
should be executed manually,the resulting diff in
.api
file should be verified: only signatures you expected to change should be changed..api
diff along with code changes.User impact (optional)
Pull request checklist:
@JvmOverloads
,@file:JvmName
, etc).mapbox-maps-android
changelog:<changelog></changelog>
.v10.[version]
release branch fix / enhancement, merge it tomain
firstly and then port tov10.[version]
release branch.Fixes: < Link to related issues that will be fixed by this pull request, if they exist >
PRs must be submitted under the terms of our Contributor License Agreement CLA.