Skip to content

[#1193] Set up the JDK of the release for the CodeQL Java analysis, so that its results no longer follow the default JDK of the runner image - #1194

Merged
vharseko merged 2 commits into
OpenIdentityPlatform:masterfrom
vharseko:fix/1193-codeql-jdk
Oct 22, 2026
Merged

vharseko merged 2 commits into
OpenIdentityPlatform:masterfrom
vharseko:fix/1193-codeql-jdk

Conversation

@vharseko

Copy link
Copy Markdown
Member

Fixes #1193

Problem

The java-kotlin job of the CodeQL workflow runs with build-mode: none and sets up no JDK. CodeQL infers no JDK from the project (No specific JDK inferred from the project being analysed; using the java on the PATH), so it models the JDK API on the default java of the runner image. On 2026-10-19 ubuntu-latest moved from ubuntu-24.04 to ubuntu-26.04, and that java changed from 17 to 25. Code scanning then opened alerts for APIs deprecated only after Java 11, the version the release is built with. The details are in #1193.

Fix

  • deploy.yml and release.yml set up temurin instead of zulu, as the deploy and release workflows of commons, OpenDJ, OpenICF, OpenIDM and OpenIG do. build.yml stays on zulu, like the Build workflows of all of them.
  • The two workflow files get the CDDL header that the workflows of OpenDJ carry.
  • Before Initialize CodeQL, the java-kotlin job sets up the JDK that the release is built with, with the actions/setup-java parameters of release.yml: temurin, 8 on sustaining/15.2.x and 11 otherwise. The branch is taken from github.base_ref for a pull request and from github.ref_name for a push.
  • The commented-out JDK step of the manual build section is removed. If that build is turned on, the new step serves it.

The other languages do not use the step. The same change for OpenDJ is OpenIdentityPlatform/OpenDJ#1232.

Test

The change only takes effect in a CodeQL run, so the CodeQL run of this PR is the test. The java-kotlin job log must show Java version: 11... from Eclipse Adoptium, where master shows Java version: 25.0.4.1.

A pull request analysis only reports results on the changed lines, so it cannot show the alerts going away. They are closed by the first analysis of master after the merge.

…ther projects do

deploy.yml and release.yml set up zulu. The deploy and release workflows
of commons, OpenDJ, OpenICF, OpenIDM and OpenIG set up temurin, and the
Build workflows of all of them, this one included, set up zulu. Deploy
and release now set up temurin here too; build.yml is not changed.

The two workflow files get the CDDL header that the workflows of OpenDJ
carry.
…eQL Java analysis, so that its results no longer follow the default JDK of the runner image

Fixes OpenIdentityPlatform#1193

With build-mode 'none' CodeQL infers no JDK from the project and models
the JDK API on the java found on the PATH. When ubuntu-latest moved to
ubuntu-26.04 on 2026-10-19 that java became 25 instead of 17, and code
scanning opened alerts for APIs deprecated only after Java 11, the
version the release is built with.

The java-kotlin job now sets up the JDK of the release before Initialize
CodeQL, with the setup-java parameters of release.yml: temurin, 8 on
sustaining/15.2.x and 11 otherwise.

The commented-out JDK step of the manual build is gone, since the step
now serves it too.
@vharseko vharseko added bug security Security fix or hardening (CVE, GHSA, XSS/CSRF/SSRF) ci CI, GitHub Actions, or build pipeline labels Oct 22, 2026
@vharseko
vharseko requested a review from maximthomas October 22, 2026 10:26

@maximthomas maximthomas left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

praise: The analysis JDK now comes from the workflow instead of the runner image, and the job log shows it.

  • Set up JDK (.github/workflows/codeql.yml:84-89) runs before Initialize CodeQL, only for java-kotlin.
  • This PR's java-kotlin job logs Java version: 11.0.32.1, vendor: Eclipse Adoptium, while master's push run 39647411727 logs 25.0.4.1. Both log No specific JDK inferred from the project being analysed, which is the mechanism the description states.

@vharseko
vharseko merged commit 98b9e1b into OpenIdentityPlatform:master Oct 22, 2026
16 checks passed
@vharseko
vharseko deleted the fix/1193-codeql-jdk branch October 22, 2026 16:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug ci CI, GitHub Actions, or build pipeline security Security fix or hardening (CVE, GHSA, XSS/CSRF/SSRF)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CodeQL: the Java analysis takes its JDK from the runner image, which moved from Java 17 to 25 with ubuntu-26.04

2 participants