Skip to content

Java api compatibility check report#613

Open
tfkfan wants to merge 1 commit intoydb-platform:masterfrom
tfkfan:compatibility-report
Open

Java api compatibility check report#613
tfkfan wants to merge 1 commit intoydb-platform:masterfrom
tfkfan:compatibility-report

Conversation

@tfkfan
Copy link
Copy Markdown

@tfkfan tfkfan commented Mar 27, 2026

Backward compatibility report

Added revapi maven plugin https://revapi.org/revapi-site/main/index.html , ftl template and corresponding github action to provide backward compatibility report

Short description: revapi compares two compiled versions of module/library only. So the 'install' goal is required to make it work. You can provide versions to compare as arguments:

-Drevapi.oldVersion=O.O.O -Drevapi.newVersion=X.X.X

Revapi supports web and txt reports. Last one is used here with freemarker template.

<revapi.filter>
    <archives>
        <include>
            <item>tech.ydb.*</item>
        </include>
    </archives>
</revapi.filter>

Block above is required for packages scan process management

Comment looks this way:
image

@codecov-commenter
Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 68.88%. Comparing base (7c484d8) to head (4387efd).
⚠️ Report is 11 commits behind head on master.

Additional details and impacted files
@@             Coverage Diff              @@
##             master     #613      +/-   ##
============================================
- Coverage     68.92%   68.88%   -0.05%     
- Complexity     3131     3134       +3     
============================================
  Files           355      359       +4     
  Lines         15304    15328      +24     
  Branches       1621     1621              
============================================
+ Hits          10549    10558       +9     
- Misses         4094     4108      +14     
- Partials        661      662       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds automated backward-compatibility checking for the Java SDK using Revapi, publishing a text report (via a FreeMarker template) back to pull requests via a GitHub Actions workflow.

Changes:

  • Add Revapi Maven plugin configuration (with text reporter) to generate per-artifact breaking-change reports.
  • Add a FreeMarker template used by the text reporter to format a Markdown-friendly report.
  • Add a GitHub Actions workflow to run Revapi on PRs and post a sticky PR comment with the merged report.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 7 comments.

File Description
pom.xml Introduces Revapi plugin + reporter configuration and related dependency management.
config/revapi-report-template.ftl Adds the FreeMarker template used to format the text report.
.github/workflows/breaking.yaml Adds CI job to run Revapi and comment a merged compatibility report on PRs.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@tfkfan tfkfan force-pushed the compatibility-report branch from 7b9dea0 to 28ac811 Compare March 30, 2026 05:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants