-
Notifications
You must be signed in to change notification settings - Fork 20
Enable Oracle in CI #191
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Enable Oracle in CI #191
Conversation
7de39ec to
05d5c2b
Compare
|
Failure probably caused because Oracle container takes a few minutes to start and |
|
Warning Rate limit exceeded@nafg has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 9 minutes and 14 seconds before requesting another review. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ⛔ Files ignored due to path filters (2)
📒 Files selected for processing (4)
📝 WalkthroughWalkthroughThis set of changes enables Oracle database testing by adding the Oracle JDBC debug driver as a test dependency, activating the Oracle test configuration, and removing the Changes
Sequence Diagram(s)sequenceDiagram
participant Developer
participant CI Workflow
participant Docker Compose
participant Oracle DB
participant Test Suite
Developer->>CI Workflow: Pushes code / triggers workflow
CI Workflow->>Docker Compose: Starts all services (including Oracle)
Docker Compose->>Oracle DB: Boots up Oracle on port 49161
CI Workflow->>Test Suite: Runs tests (Oracle enabled)
Test Suite->>Oracle DB: Connects using debug driver for testing
Possibly related PRs
Poem
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (2)
.github/workflows/ci.ymlis excluded by!**/*.ymldocker-compose.ymlis excluded by!**/*.yml
📒 Files selected for processing (4)
build.sbt(1 hunks)ci.sbt(1 hunks)src/test/scala/slick/migration/api/dbs.scala(1 hunks)test-dbs/testkit.conf(1 hunks)
🔇 Additional comments (5)
src/test/scala/slick/migration/api/dbs.scala (1)
110-152: Excellent Oracle test implementation with comprehensive Oracle-specific handling.The
OracleTestclass is well-implemented with Oracle-specific configurations:
- Proper Oracle profile usage and capabilities configuration
- Custom table and sequence discovery using Oracle system views
- Oracle-specific cleanup with cascade constraints
- Appropriate schema configuration matching
testkit.conf- Correct JDBC type mappings for Oracle
Enabling this test class by removing the
@Ignoreannotation will provide thorough Oracle database testing coverage.test-dbs/testkit.conf (2)
15-15: Oracle testing enabled successfully.Enabling Oracle testing by setting
enabled = trueactivates the comprehensive Oracle configuration that includes proper user management, tablespace setup, and cleanup procedures.
17-17: Custom Oracle port configuration for containerized testing.The port change to
49161indicates Oracle is running in a Docker container with port mapping. This aligns with the PR comment about Oracle container startup timing and is appropriate for CI environments.ci.sbt (2)
18-18: Good generalization of Scala version patterns.Using the "x" pattern for Scala versions reduces maintenance overhead by automatically adapting to version updates while maintaining compatibility.
21-21: Improved Docker service startup for Oracle support.Changing from explicitly listing "mysql postgres" to
docker compose up -densures all services (including Oracle) are started. This addresses the Oracle container startup timing issue mentioned in the PR comments by allowing the Oracle container to start alongside other services.
| libraryDependencies += "com.oracle.database.jdbc.debug" % "ojdbc8_g" % "21.6.0.0.1" % Test | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Verification agent
🧩 Analysis chain
LGTM! Consider verifying the Oracle JDBC driver version.
The Oracle JDBC debug driver dependency is correctly added with test scope, following the existing pattern for other database drivers. The debug variant (ojdbc8_g) is appropriate for testing environments.
🌐 Web query:
What is the latest version of Oracle JDBC driver ojdbc8_g and are there any known security vulnerabilities in version 21.6.0.0.1?
💡 Result:
The latest version of the Oracle JDBC driver ojdbc8_g is 21.16.0.0, released on November 26, 2024. (mvnrepository.com)
Regarding version 21.6.0.0.1, released on June 14, 2022, there are no publicly disclosed security vulnerabilities associated with this specific version. However, it's important to note that this version is relatively old, and using outdated software can expose your system to potential security risks. For enhanced security and access to the latest features, it's recommended to upgrade to the most recent version of the Oracle JDBC driver.
Citations:
Upgrade Oracle JDBC Driver to Latest Version
The Oracle JDBC debug driver dependency is correctly added with test scope. However, version 21.6.0.0.1 is outdated—no known vulnerabilities have been disclosed, but upgrading ensures you benefit from security patches and new features.
• File: build.sbt
Lines: 30–31
Current:
- libraryDependencies += "com.oracle.database.jdbc.debug" % "ojdbc8_g" % "21.6.0.0.1" % Test
+ libraryDependencies += "com.oracle.database.jdbc.debug" % "ojdbc8_g" % "21.16.0.0" % TestReferences:
- Latest ojdbc8_g version is 21.16.0.0 (released Nov 26, 2024). [1]
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| libraryDependencies += "com.oracle.database.jdbc.debug" % "ojdbc8_g" % "21.6.0.0.1" % Test | |
| libraryDependencies += "com.oracle.database.jdbc.debug" % "ojdbc8_g" % "21.16.0.0" % Test |
🤖 Prompt for AI Agents
In build.sbt around lines 30 to 31, the Oracle JDBC debug driver dependency
version is set to 21.6.0.0.1, which is outdated. Update the version number to
the latest available, 21.16.0.0, to ensure the project benefits from the latest
security patches and features. Replace the existing version string with
"21.16.0.0" while keeping the rest of the dependency declaration unchanged.
No description provided.