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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add binary compatibility validator #2131

Merged

Conversation

mateuszkwiecinski
Copy link
Contributor

@mateuszkwiecinski mateuszkwiecinski commented Jul 15, 2023

Closes #2111

Description

I wasn't sure if I should add a Changelog entry, since this does not affect consumers at all 馃憖

Binary compatibility validator will compare the commited public API surface with current one. Task apiCheck will run on every check invocation.
If the public API changes, the apiCheck task will fail and will require dumping a new one with ./gradlew apiDump.

I'm proposing to verify binary compatibility of every project that is published (and can be consumed by third party clients)

Checklist

Before submitting the PR, please check following (checks which are not relevant may be ignored):

  • Commit message are well written. In addition to a short title, the commit message also explain why a change is made.
  • At least one commit message contains a reference Closes #<xxx> or Fixes #<xxx> (replace<xxx> with issue number)
  • Tests are added
  • KtLint format has been applied on source code itself and violations are fixed
  • CHANGELOG.md is updated
  • PR description added

Documentation is updated. See difference between snapshot and release documentation

@mateuszkwiecinski mateuszkwiecinski marked this pull request as ready for review July 15, 2023 13:07
@paul-dingemans
Copy link
Collaborator

I wasn't sure if I should add a Changelog entry, since this does not affect consumers at all 馃憖

I am not 100% strict in this. For example, documentation change I never add. In this case, I would like it to be added to the changelog as it informs our API consumers that we took measures against unintended API changes.

@paul-dingemans
Copy link
Collaborator

I'm proposing to verify binary compatibility of every project that is published (and can be consumed by third party clients)

Yes, that seems like a fine plan.

Copy link
Collaborator

@paul-dingemans paul-dingemans left a comment

Choose a reason for hiding this comment

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

Tnx for implementing this!

build.gradle.kts Show resolved Hide resolved
@mateuszkwiecinski mateuszkwiecinski force-pushed the binary_compatibility branch 3 times, most recently from 7a45526 to df247e9 Compare July 15, 2023 22:59
build.gradle.kts Show resolved Hide resolved
@paul-dingemans paul-dingemans merged commit 43b6131 into pinterest:master Jul 16, 2023
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add binary-compatibility-validator
2 participants