feat: add YugabyteDB as a compatibility-tested database#315
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (4)
✅ Files skipped from review due to trivial changes (1)
🚧 Files skipped from review as they are similar to previous changes (2)
📝 WalkthroughWalkthroughYugabyteDB was added to the project's integration test matrix and tooling: CI workflow matrix expanded, Testcontainers-based YugabyteDB test container wired into integration tests, JDBC and Testcontainers dependencies added to libs, and a YugabyteDB badge added to the README. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
rect rgba(220,230,241,0.5)
CI->>Gradle: Trigger matrix job (db = MARIADB / YUGABYTEDB)
end
rect rgba(200,240,200,0.5)
Gradle->>TestRunner: run integrationTest -Ddb=${matrix.db}
end
rect rgba(255,235,205,0.5)
TestRunner->>Testcontainers: Start DB container (selected by matrix)
Testcontainers->>YugabyteDB: Launch yugabytedb/yugabyte image
end
rect rgba(240,220,255,0.5)
TestRunner->>Database: Run integration tests against DB
Database-->>TestRunner: Test results
end
rect rgba(230,240,250,0.5)
TestRunner->>CI: Publish artifacts & test reports (named by matrix.db)
CI-->>Stakeholders: Store artifacts / report status
end
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested labels
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
.github/workflows/build-and-test.yml (1)
127-129: Consider addingfail-fast: falsefor robustness.The
integration-testjob (line 87) explicitly setsfail-fast: falseto ensure all database tests run even if one fails. Thecompatibility-testjob doesn't have this setting, so if MARIADB fails, YUGABYTEDB won't run (and vice versa). This may be intentional, but for consistency and better test coverage visibility, consider:strategy: + fail-fast: false matrix: db: [ MARIADB, YUGABYTEDB ]🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.github/workflows/build-and-test.yml around lines 127 - 129, The compatibility-test job's matrix currently lists db: [ MARIADB, YUGABYTEDB ] but doesn't set fail-fast, so add fail-fast: false under the compatibility-test job's strategy (next to the existing matrix) to ensure all matrix variations (db values in the matrix) run even if one fails; reference the compatibility-test job and the strategy.matrix.db entries when making this change.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In @.github/workflows/build-and-test.yml:
- Around line 127-129: The compatibility-test job's matrix currently lists db: [
MARIADB, YUGABYTEDB ] but doesn't set fail-fast, so add fail-fast: false under
the compatibility-test job's strategy (next to the existing matrix) to ensure
all matrix variations (db values in the matrix) run even if one fails; reference
the compatibility-test job and the strategy.matrix.db entries when making this
change.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 2e6d3b87-1153-49e8-baf2-83dac5aff04b
📒 Files selected for processing (4)
.github/workflows/build-and-test.ymlREADME.mdcore/src/integrationTest/kotlin/net/samyn/kapper/AbstractDbTests.ktgradle/libs.versions.toml
Unit Tests 61 files ±0 61 suites ±0 3m 8s ⏱️ +6s Results for commit 3c25510. ± Comparison against base commit c431fe4. This pull request removes 40 and adds 40 tests. Note that renamed tests count towards both.♻️ This comment has been updated with latest results. |
Code Coverage
|
ee0e655 to
3c25510
Compare
|



Summary
Test plan
-Ddb=YUGABYTEDBSummary by CodeRabbit
New Features
Bug Fixes / CI
Documentation