Repository navigation
Conversation
There was a problem hiding this comment.
🟢 Approval recommended
The pinned version preserves the existing input contract, and no blocking issues were identified.
No open issues 🎉
What changed in this PR
Updates Kotlin setup for CI tests and adjusts Dependabot discovery to cover individual local action directories.
Changes:
- Pins
fwilhe2/setup-kotlinto the commit forv2.1. - Uses a directory glob for Dependabot updates to local actions.
| File | Description |
|---|---|
.github/dependabot.yml |
Targets individual local action directories with a glob. |
.github/actions/prepare-test/action.yml |
Updates the Kotlin setup pin to v2.1 and normalizes input quoting. |
Review effort: Max
0d10f7b to
eac0005
Compare
setup-kotlin action to the latest versionubuntu-26.04-related CI failures
There was a problem hiding this comment.
🔵 Needs a closer look
Runner and compiler compatibility across the affected CodeQL matrix still needs confirmation from successful CI runs.
1 open issue
6 files not reviewed
.github/workflows/__go-tracing-autobuilder.yml: Excluded by your content exclusion settings.github/workflows/__go-tracing-custom-build-steps.yml: Excluded by your content exclusion settings.github/workflows/__go-tracing-legacy-workflow.yml: Excluded by your content exclusion settings.github/workflows/__multi-language-autodetect.yml: Excluded by your content exclusion settings.github/workflows/__rubocop-multi-language.yml: Excluded by your content exclusion settings.github/workflows/__rust.yml: Excluded by your content exclusion settings
Review effort: Max
| os: runnerImage, | ||
| version, | ||
| }); | ||
| if (runnerImage === "ubuntu-latest" && version === "stable-v2.20.7") { |
henrymercer
left a comment
There was a problem hiding this comment.
Thanks for doing this, I have a few suggestions, but none of them are blocking.
| // stable-v2.20.7 requires an older version of Java than the default on `ubuntu-latest`. | ||
| // We could install that older version on the newer runners, or use the older runner. | ||
| // We do the latter here. This can be removed once we stop supporting `v2.20.7`. | ||
| // Since this is typed as `DefaultTestVersion`, it will become an error once `stable-v2.20.7` | ||
| // is removed from `defaultTestVersions`. | ||
| const requiresOlderRunnerImage: DefaultTestVersion = "stable-v2.20.7"; | ||
| if ( | ||
| runnerImage === "ubuntu-latest" && | ||
| version === requiresOlderRunnerImage | ||
| ) { | ||
| matrix.push({ os: "ubuntu-24.04", version }); | ||
| } else { |
There was a problem hiding this comment.
Another valid approach here would be overriding the runner image for (I think just) the multi-language check, since I believe this issue only affects checks that analyze Java.
| // Since this is typed as `DefaultTestVersion`, it will become an error once `stable-v2.20.7` | ||
| // is removed from `defaultTestVersions`. |
There was a problem hiding this comment.
(Though I believe we don't build the PR checks project as part of CI, so we'd only see this locally)
There was a problem hiding this comment.
Nit: we should remove this from the deflake workflow, since the list of deflaked workflows isn't autogenerated.
| security-events: read | ||
| timeout-minutes: 45 | ||
| runs-on: ubuntu-latest | ||
| runs-on: ${{ case(matrix.version == 'stable-v2.20.7', 'ubuntu-24.04', 'ubuntu-latest') }} |
There was a problem hiding this comment.
You already added one in sync.ts, but I think this deserves a comment too explaining why we're using ubuntu-24.04 with older CLIs.
| # We currently need `security-events: read` to access feature flags. | ||
| security-events: read | ||
| runs-on: ubuntu-latest | ||
| runs-on: ${{ case(matrix.version == 'stable-v2.20.7', 'ubuntu-24.04', 'ubuntu-latest') }} |
| if: ${{ inputs.setup-kotlin == 'true' }} | ||
| with: | ||
| version: 1.8.21 | ||
| version: 2.1.20 |
There was a problem hiding this comment.
As mentioned in the PR description, this isn't the latest version of Kotlin. Consider adding a comment here explaining why we chose this version.
| use-all-platform-bundle: | ||
| description: "If true, we output a tools URL with codeql-bundle.tar.gz file rather than platform-specific URL" | ||
| default: 'false' | ||
| default: "false" |
There was a problem hiding this comment.
I presume this probably happened automatically, but we should consider adding a YAML formatter to CI to avoid this sort of noise.
| // A type representing version identifiers. | ||
| type Version = |
There was a problem hiding this comment.
This probably ought to be JSDoc (I see that this is an existing issue, but let's at least fix the new code)

ubuntu-latestis transitioning toubuntu-26.04, which is causing a number of our CI checks to fail. This PR addresses the immediate failures to unblock other PRs:setup-kotlinuses Java functionality that is hard-deprecated. Kotlin is installed on the runners by default, but the version that is pre-installed is too new to be supported by CodeQL. This PR bumps the Kotlin version to a newer version that is compatible, and also updates the verion ofsetup-kotlinitself in ourprepare-testaction to the latest version (v2.1).setup-kotlinaction hasn't been getting updates from Dependabot and I suspect the reason is that the Dependabot config is pointed at.github/actionswhile it expects to be pointed at the individual directories for re-usable actions. Thedirectorieskey supports glob patterns, so I have updated this to a suitable one.ubuntu-26.04. I updatedsync.tsto run them on the24.04images, but alternatively could have kept them on the newer ones with an explicitsetup-javastep to downgrade Java (although I didn't test whether that works or not).ubuntu-26.04. The one we installed previously is not supported there.code-scanning-rubocophasn't had any updates in 2 years and even the latest version of it doesn't work with the version of Ruby we now need to install.code-scanning-rubocop.