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]
