-
Notifications
You must be signed in to change notification settings - Fork 60
Use JDK 25 as the canary version #648
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
Conversation
📝 WalkthroughWalkthroughThe CI configurations migrate canary and test matrices from Java 24/21 to Java 25 across Azure Pipelines and CircleCI. New Java 25 typecheck jobs are added, dependencies are rewired to 25-based jobs, canary_version macros are updated to 25, a testingSuffix variable is set empty, and prior Java 25 blocker comments are removed. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor Dev as Developer
participant CI as CI Orchestrator
participant J25 as JDK25 Jobs
participant TC25 as Typecheck JDK25
participant Legacy as Legacy JDK{8,11,17,21,24}
Dev->>CI: Push/PR
Note over CI: Resolve canary_version = 25
CI->>J25: Trigger quick/nonquick/nontxt/misc/kvasir (Ubuntu/Rocky) on JDK25
CI->>TC25: Trigger typecheck-latest-ubuntu-jdk25<br/>and typecheck-bundled-ubuntu-jdk25
par JDK25 test matrix
J25-->>CI: Status
TC25-->>CI: Status
end
CI->>Legacy: Trigger legacy jobs (if configured) depending on JDK25 completion
Legacy-->>CI: Status
CI-->>Dev: canary_jobs completion status
Note over CI: Canary dependsOn JDK25 variants and typecheck JDK25
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Pre-merge checks (3 passed)✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests
Comment |
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: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (6)
.azure/azure-pipelines.yml(58 hunks).azure/defs.m4(1 hunks).azure/jobs.m4(1 hunks).circleci/config.yml(2 hunks).circleci/config.yml.m4(1 hunks).circleci/defs.m4(1 hunks)
🧰 Additional context used
🪛 YAMLlint (1.37.1)
.circleci/config.yml
[warning] 1517-1517: comment not indented like content
(comments-indentation)
.azure/azure-pipelines.yml
[error] 514-514: wrong indentation: expected 4 but found 2
(indentation)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (7)
- GitHub Check: codespecs.daikon (typecheck_latest_ubuntu_jdk25)
- GitHub Check: codespecs.daikon (quick_ubuntu_jdk25)
- GitHub Check: codespecs.daikon (nonquick_ubuntu_jdk25)
- GitHub Check: codespecs.daikon (typecheck_bundled_ubuntu_jdk25)
- GitHub Check: codespecs.daikon (nontxt_ubuntu_jdk25)
- GitHub Check: codespecs.daikon (misc_ubuntu_jdk25)
- GitHub Check: codespecs.daikon (kvasir_ubuntu_jdk25)
🔇 Additional comments (10)
.azure/defs.m4 (1)
5-5: Update Azure canary version to Java 25.The macro update correctly aligns with the CircleCI configuration and the overall PR objective to migrate to JDK 25 as the canary version.
.azure/azure-pipelines.yml (3)
15-17: Configure testingSuffix variable appropriately.Setting
testingSuffixto an empty value is correct for production usage. The commented lines show the testing configuration, which provides good documentation for future testing scenarios.
29-35: Update canary job dependencies to Java 25.The migration from JDK 24 to JDK 25 dependencies is correctly implemented. All canary jobs now depend on their JDK 25 counterparts, establishing the new canary baseline.
91-94: Verify job dependency structure consistency.The dependency chain where JDK 24 jobs depend on both
canary_jobsand their JDK 25 counterparts creates an appropriate migration path. This ensures JDK 25 jobs run first as the new canary baseline..circleci/config.yml.m4 (1)
70-70: Enable Ubuntu 25 typecheck-latest dependency.Uncommenting
job_dependences(ubuntu, 25, typecheck-latest)correctly incorporates JDK 25 typecheck jobs into the workflow dependencies, completing the CircleCI migration to Java 25..circleci/config.yml (3)
740-760: Add typecheck-latest-ubuntu-jdk25 job.The new job definition follows the established pattern with appropriate Docker image, resource allocation, and test script execution. The configuration is consistent with other typecheck jobs in the pipeline.
1379-1386: Update canary job requirements to JDK 25.The migration from JDK 21 to JDK 25 requirements establishes the new canary baseline. This ensures all canary tests run on Java 25 before other jobs proceed.
1544-1544: Complete typecheck job integration.Both
typecheck-latest-ubuntu-jdk25andtypecheck-bundled-ubuntu-jdk25are properly integrated into the workflow, with older JDK versions correctly depending on their JDK 25 counterparts.Also applies to: 1550-1550
.azure/jobs.m4 (1)
44-44: Verify Azure YAML job wiring and agent JDK 25rg returned "No files were searched" when scanning .azure; I couldn't confirm presence of typecheck_latest_ubuntu_jdk25 or any jdk25 selectors.
- Confirm generated YAML includes "typecheck_latest_ubuntu_jdk25".
- Ensure the agent/container has JDK 25 on PATH — add a pre-step that runs
java -versionto catch mismatches.Run locally and paste output:
rg -n "typecheck_latest_ubuntu_jdk25|typecheck_bundled_ubuntu_jdk25" -g ".azure/**" rg -nP "(jdk25|java[ _-]?25)" -C2 -g ".azure/**".circleci/defs.m4 (1)
5-5: Canary promoted to JDK 25 — verify CI images & remove stale jdk21/jdk24 refs.defs.m4 defines canary_version = 25 and config templates reference ubuntu-jdk[]canary_version; confirm there are no explicit "jdk21" or "jdk24" image/tags left and update any CI image references to jdk25.
Locations: .circleci/defs.m4 (lines 4–6), .circleci/config.yml.m4 (lines 27–32).
|
|
Yes. Everything else was passing. |
Summary by CodeRabbit