laskoviymishka opened a new pull request, #2166:
URL: https://github.com/apache/iceberg-go/pull/2166

   Part of the v1.0 freeze work in #2062. After the 1.0.0 tag, any breaking 
change to the exported API needs a /v2 module, so we want CI to catch them.
   
   The new "API compatibility" workflow runs golang.org/x/exp/cmd/apidiff in 
module mode on every pull request. It exports the API of the base branch tip 
the PR merges onto and compares the merged result against it. Internal packages 
are skipped. The list of incompatible changes goes to the job summary.
   
   Until 1.0 we still make intentional breaks, so a break only fails the check 
when the PR title does not declare it with the Conventional Commits "!" marker 
(for example "refactor(io)!: ..."), which the repo already uses for breaking 
changes. Editing the title re-runs the check. After the tag, the title escape 
hatch can be dropped so any break fails.
   
   If apidiff itself fails, for example because the base or the PR does not 
build, the script prints the error and exits 2, so a broken build is not 
reported as an API break.
   
   The logic lives in dev/check-api-compat.sh so it can also be run locally 
against any base ref. CONTRIBUTING.md now mentions the check and the "!" 
convention.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to