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).
2223permissions :
2324 contents : read
2425
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