Skip to content

Commit 9d7ab2a

Browse files
author
George-Cosmin Hanta
committed
ci: keep CodeQL on v4 but drop Kotlin until a CLI ships 2.4.0
The Kotlin 2.4.0 extractor support (github/codeql#21970) is merged but not yet in a released CodeQL CLI — the latest (2.25.6) still caps at < 2.3.30, so the java-kotlin job fails regardless of action version. Keep the v4 upgrade (off the deprecated v3 / Node 20) and scope to c-cpp + actions; the comment records the exact condition to re-add Kotlin.
1 parent aa9dc20 commit 9d7ab2a

1 file changed

Lines changed: 13 additions & 29 deletions

File tree

.github/workflows/codeql.yml

Lines changed: 13 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,18 @@ on:
88
schedule:
99
- cron: '23 5 * * 1' # weekly, Monday 05:23 UTC
1010

11-
# CodeQL doesn't support Dart (the bulk of lib/), so this covers the native code:
12-
# the Android player/HDR Kotlin, the Windows-runner C++ (GDI overlay, HDR badges),
13-
# and the workflow YAML. Kotlin/C++ are Flutter-driven, so CodeQL's autobuild can't
14-
# build them — they use `build-mode: manual` with an explicit `flutter build` on
15-
# their native OS runner.
11+
# CodeQL doesn't support Dart (the bulk of lib/), so this covers the native code
12+
# it can: the Windows-runner C++ (GDI overlay, HDR badges) and the workflow YAML.
1613
#
17-
# Not covered: javascript-typescript (web/ is only Flutter's generated bootstrap)
18-
# and swift (the iOS/macOS shells are Flutter template code, no first-party logic).
19-
#
20-
# Uses codeql-action v4 — v3 is deprecated (Dec 2026) and its bundled CodeQL CLI
21-
# predated Kotlin 2.4.0 support (the app is on 2.4.0); v4's CLI includes it.
14+
# Not covered:
15+
# - java-kotlin (the Android player/HDR code): the app is on Kotlin 2.4.0, and
16+
# the latest released CodeQL CLI (2.25.6) still caps at < 2.3.30 ("Kotlin
17+
# version 2.4.0 is too recent"). Support is merged upstream
18+
# (github/codeql#21970) but not yet in a CLI release. Re-add a
19+
# `{language: java-kotlin, build-mode: manual}` entry (with setup-java +
20+
# `flutter build apk` + `lfs: true`) once a CLI past 2.25.6 ships it.
21+
# - javascript-typescript: web/ is only Flutter's generated bootstrap (no source).
22+
# - swift: the iOS/macOS shells are Flutter template code (no first-party logic).
2223
permissions:
2324
contents: read
2425

@@ -38,9 +39,6 @@ jobs:
3839
fail-fast: false
3940
matrix:
4041
include:
41-
- language: java-kotlin
42-
build-mode: manual
43-
runner: ubuntu-latest
4442
- language: c-cpp
4543
build-mode: manual
4644
runner: windows-latest
@@ -49,35 +47,21 @@ jobs:
4947
runner: ubuntu-latest
5048
steps:
5149
- uses: actions/checkout@v7
52-
with:
53-
# The Kotlin build links the libdovi libmpv AAR (Git LFS).
54-
lfs: ${{ matrix.language == 'java-kotlin' }}
5550

5651
- uses: github/codeql-action/init@v4
5752
with:
5853
languages: ${{ matrix.language }}
5954
build-mode: ${{ matrix.build-mode }}
6055

61-
# ---- Manual builds: Flutter drives the Kotlin/C++ compilers CodeQL traces ----
62-
- if: matrix.language == 'java-kotlin'
63-
uses: actions/setup-java@v5
64-
with:
65-
distribution: temurin
66-
java-version: '17'
67-
56+
# C++ is Flutter-driven, so CodeQL's autobuild can't build it — run the real
57+
# Flutter build under build-mode manual so the tracer sees the compiler.
6858
- if: matrix.build-mode == 'manual'
6959
uses: subosito/flutter-action@v2
7060
with:
7161
flutter-version: ${{ env.FLUTTER_VERSION }}
7262
channel: stable
7363
cache: true
7464

75-
- name: Build Android (Kotlin)
76-
if: matrix.language == 'java-kotlin'
77-
run: |
78-
flutter pub get
79-
flutter build apk --debug
80-
8165
- name: Build Windows (C++)
8266
if: matrix.language == 'c-cpp'
8367
run: |

0 commit comments

Comments
 (0)