Skip to content

ci: check api compatibility and report coverage - #10

Merged
TheMeinerLP merged 1 commit into
mainfrom
ci/api-diff-and-coverage
Oct 28, 2026
Merged

TheMeinerLP merged 1 commit into
mainfrom
ci/api-diff-and-coverage

Conversation

@TheMeinerLP

Copy link
Copy Markdown
Contributor

Proposed changes

Three clients depend on Quelea's HTTP API: the Velocity plugin, the generated Java client and, soon, the lobby. Until now nothing told a reviewer that a pull request changed that API in a way existing clients cannot follow: a renamed field, a removed route, a new required parameter. Such a change only showed up once a proxy started failing.

Every pull request now builds the OpenAPI document for its base and its head and compares them with oasdiff. The job summary lists every API change, and a breaking one fails the check. The specs stay inside CI and are not uploaded anywhere.

We also had no view of how much of the code the tests reach. JaCoCo now writes coverage after every test run, and a coverage job publishes it to Codecov, the same way Ingot does. Coverage never fails a build.

Types of changes

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation Update (if none of the other choices apply)

Checklist

  • I have added tests that prove my fix is effective or that my feature works
  • I have added necessary documentation (if appropriate)

Further comments

The shared gradle-build-pr workflow has no coverage inputs, so the coverage job runs the test suite once more on Linux. Codecov uploads work without CODECOV_TOKEN but are rate-limited; add the secret if the org has one. Checked other ways to catch API breaks (Pact, Schemathesis) and left them out for now: oasdiff needs no extra infrastructure and catches the common case.

@github-actions

github-actions Bot commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Test results

  147 files    147 suites   1m 16s ⏱️
  370 tests   370 ✅  0 💤 0 ❌
1 110 runs  1 036 ✅ 74 💤 0 ❌

Results for commit 8e83811.

♻️ This comment has been updated with latest results.

@TheMeinerLP
TheMeinerLP force-pushed the ci/api-diff-and-coverage branch from c55901c to 4a6f2ae Compare October 28, 2026 17:48
@TheMeinerLP
TheMeinerLP force-pushed the ci/api-diff-and-coverage branch from 4a6f2ae to 8e83811 Compare October 28, 2026 19:15
@TheMeinerLP
TheMeinerLP merged commit 33c404d into main Oct 28, 2026
11 checks passed
@TheMeinerLP
TheMeinerLP deleted the ci/api-diff-and-coverage branch October 28, 2026 19:21
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.

1 participant