Skip to content

Conversation

@mernst
Copy link
Contributor

@mernst mernst commented Oct 12, 2025

Summary by CodeRabbit

  • Chores
    • CI configuration updated to use stable Java versions only (17, 21, 24); early-access entry removed and version formatting normalized.
    • Lint directive added to suppress a workflow YAML warning; formatting adjustments made to workflow steps.
    • No changes to workflow logic, error handling, exported interfaces, or application behavior; no impact on end-user experience.

@coderabbitai
Copy link

coderabbitai bot commented Oct 12, 2025

📝 Walkthrough

Walkthrough

Updated the GitHub Actions Gradle workflow: standardized the Java matrix to ['17', '21', '24', '25'] (removed 25-ea) and added a yamllint disable comment on the on trigger line; no other workflow logic changed.

Changes

Cohort / File(s) Change summary
CI workflow matrix update
.github/workflows/gradle.yml
Adjusted Java versions in the matrix (removed 25-ea, now ['17','21','24','25']) and added a # yamllint disable comment on the on trigger line; steps indentation reformatted but no functional logic modified.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title succinctly describes the primary change of replacing testing against the early-access JDK 25-ea with the released JDK 25 in the CI workflow, directly matching the update to the Gradle CI matrix.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a 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

📥 Commits

Reviewing files that changed from the base of the PR and between 2dac4eb and 0687c25.

📒 Files selected for processing (1)
  • .github/workflows/gradle.yml (2 hunks)

strategy:
matrix:
java: [ '17', '21', '24', '25-ea' ]
java: ['17', '21', '24', '25']
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

Verify Temurin 25 availability before merging.

actions/setup-java@v5 with distribution: 'temurin' will fail if GA builds for JDK 25 aren't published yet. Please double-check that Adoptium exposes GA artifacts for 25 before landing this change.


🏁 Script executed:

#!/usr/bin/env bash
# Check whether Temurin GA builds for JDK 25 are available (Linux x64 JDK).
curl -s 'https://api.adoptium.net/v3/info/release_versions?heap_size=normal&image_type=jdk&jdk_version=25&os=linux&architecture=x64' | jq .

Length of output: 2172


Remove JDK 25 from the GitHub Actions matrix
setup-java@v5 with distribution ‘temurin’ will fail—no GA builds for JDK 25 are published (Adoptium only shows JDK 26 beta). Revert or remove ‘25’ until GA artifacts are available.

🤖 Prompt for AI Agents
.github/workflows/gradle.yml around line 12: the CI matrix currently includes
java: ['17', '21', '24', '25'] but setup-java@v5 with distribution 'temurin'
cannot install JDK 25 (no GA artifacts), causing workflow failures; remove '25'
from the matrix (or replace it with a supported version) so the action only
lists valid, published JDK versions (e.g., ['17','21','24'] or add a confirmed
supported version) and commit the updated workflow file.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

♻️ Duplicate comments (1)
.github/workflows/gradle.yml (1)

12-12: Confirm Temurin JDK 25 GA availability for setup-java.
If Temurin GA builds for 25 are live, this is good; if not, the job will fail. Please verify before merging. The earlier comment about 25 availability may now be outdated—recheck.

Run this script; expect to see at least one download URL printed (non-empty):

#!/usr/bin/env bash
# Check Temurin JDK 25 GA assets for Linux x64 JDK (hotspot).
set -euo pipefail
curl -s 'https://api.adoptium.net/v3/assets/latest/25/hotspot?os=linux&architecture=x64&image_type=jdk&heap_size=normal&vendor=eclipse' \
 | jq -r '.[]?.binary.package.link' | tee /dev/stderr | awk 'END{exit NR==0}'
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0687c25 and 81860c9.

📒 Files selected for processing (1)
  • .github/workflows/gradle.yml (2 hunks)
🔇 Additional comments (2)
.github/workflows/gradle.yml (2)

3-3: Yamllint disable is fine.
No issues with the truthy lint suppression on the trigger.


15-19: Checkout step looks good.
Shallow fetch with progress disabled is optimal for CI.

Comment on lines 10 to +12
strategy:
matrix:
java: [ '17', '21', '24', '25-ea' ]
java: ['17', '21', '24', '25']
Copy link

Choose a reason for hiding this comment

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

🧹 Nitpick | 🔵 Trivial

Consider making the matrix resilient.
Set fail-fast: false so one JDK failure doesn’t cancel others.

     strategy:
+      fail-fast: false
       matrix:
         java: ['17', '21', '24', '25']
📝 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.

Suggested change
strategy:
matrix:
java: [ '17', '21', '24', '25-ea' ]
java: ['17', '21', '24', '25']
strategy:
fail-fast: false
matrix:
java: ['17', '21', '24', '25']
🤖 Prompt for AI Agents
.github/workflows/gradle.yml around lines 10 to 12: the current matrix strategy
will abort all jobs if one JDK job fails; update the workflow strategy to add
fail-fast: false under the matrix so failing a single JDK does not cancel the
remaining matrix jobs. Ensure the fail-fast key is placed at the same
indentation level as matrix within strategy.

Comment on lines +20 to +25
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
check-latest: true
cache: 'gradle'
Copy link

Choose a reason for hiding this comment

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

🧹 Nitpick | 🔵 Trivial

Reduce CI nondeterminism from Java updates.
check-latest: true can pull newly released patch builds mid-run and cause flaky diffs. Pin to the latest patch on a schedule, or disable check-latest for stability.

       with:
         distribution: 'temurin'
         java-version: ${{ matrix.java }}
-        check-latest: true
+        check-latest: false
         cache: 'gradle'
📝 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.

Suggested change
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
check-latest: true
cache: 'gradle'
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
check-latest: false
cache: 'gradle'
🤖 Prompt for AI Agents
.github/workflows/gradle.yml around lines 20 to 25: the workflow uses
actions/setup-java@v5 with check-latest: true which can cause CI nondeterminism
by picking up new patch releases mid-run; change this to stabilize CI by either
setting check-latest to false or pinning java-version to a full patch version
(e.g., 17.0.x) and schedule periodic updates, so update the workflow to remove
or set check-latest: false or replace the matrix java entry with an explicit
full-version pin and document the update schedule.

Comment on lines +26 to +31
- name: ./gradlew build javadoc
run: ./gradlew build
- name: ./gradlew requireJavadoc
run: ./gradlew requireJavadoc
- name: ./gradlew spotlessCheck
run: ./gradlew spotlessCheck
Copy link

Choose a reason for hiding this comment

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

🧹 Nitpick | 🔵 Trivial

Streamline Gradle invocations and use --no-daemon in CI.
Multiple invocations re-do init work; --no-daemon is recommended in ephemeral runners.

-      - name: ./gradlew build javadoc
-        run: ./gradlew build
-      - name: ./gradlew requireJavadoc
-        run: ./gradlew requireJavadoc
-      - name: ./gradlew spotlessCheck
-        run: ./gradlew spotlessCheck
+      - name: Gradle build (build + requireJavadoc + spotlessCheck)
+        run: ./gradlew --no-daemon build requireJavadoc spotlessCheck
📝 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.

Suggested change
- name: ./gradlew build javadoc
run: ./gradlew build
- name: ./gradlew requireJavadoc
run: ./gradlew requireJavadoc
- name: ./gradlew spotlessCheck
run: ./gradlew spotlessCheck
- name: Gradle build (build + requireJavadoc + spotlessCheck)
run: ./gradlew --no-daemon build requireJavadoc spotlessCheck
🤖 Prompt for AI Agents
.github/workflows/gradle.yml around lines 26 to 31: the workflow runs Gradle
three times which repeats initialization and doesn't use the recommended
--no-daemon flag for ephemeral CI runners; replace the three separate gradle
steps with a single invocation and add --no-daemon (for example run ./gradlew
--no-daemon build requireJavadoc spotlessCheck) so tasks run in one JVM and
avoid daemon overhead in CI, and adjust the step name accordingly.

@mernst mernst merged commit 469a45a into plume-lib:master Oct 12, 2025
5 checks passed
@mernst mernst deleted the java-25-released-2 branch October 12, 2025 22:33
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