@@ -45,6 +45,7 @@ import { KnownLanguage } from "./languages";
4545import { getActionsLogger , Logger , withGroupAsync } from "./logging" ;
4646import {
4747 downloadOverlayBaseDatabaseFromCache ,
48+ getCodeQLVersionFromOverlayBaseDatabase ,
4849 OverlayBaseDatabaseDownloadStats ,
4950 OverlayDatabaseMode ,
5051} from "./overlay-database-utils" ;
@@ -267,14 +268,49 @@ async function run() {
267268 } ;
268269 configUtils . amendInputConfigFile ( inputs , logger ) ;
269270
270- await withGroupAsync (
271- "Compute preliminary overlay database mode" ,
272- async ( ) => configUtils . getPreliminaryOverlayDatabaseMode ( inputs ) ,
273- ) ;
274-
275271 const codeQLDefaultVersionInfo = await features . getDefaultCliVersion (
276272 gitHubVersion . type ,
277273 ) ;
274+
275+ await withGroupAsync (
276+ "Compute CodeQL version to use for overlay analysis" ,
277+ async ( ) => {
278+ if ( getOptionalInput ( "tools" ) ) {
279+ logger . info (
280+ "Nothing to do here because the workflow specified a tools input." ,
281+ ) ;
282+ return ;
283+ }
284+
285+ const { overlayDatabaseMode, useOverlayDatabaseCaching } =
286+ await configUtils . getPreliminaryOverlayDatabaseMode ( inputs ) ;
287+ if ( overlayDatabaseMode !== OverlayDatabaseMode . Overlay ) {
288+ logger . info (
289+ "Nothing do to here because we are not performing overlay analysis" ,
290+ ) ;
291+ return ;
292+ }
293+ if ( ! useOverlayDatabaseCaching ) {
294+ logger . info (
295+ `Nothing to do here because we are not using overlay database caching` ,
296+ ) ;
297+ return ;
298+ }
299+
300+ const codeQlVersionForOverlay =
301+ await getCodeQLVersionFromOverlayBaseDatabase ( logger ) ;
302+ if ( codeQlVersionForOverlay === undefined ) {
303+ return ;
304+ }
305+
306+ logger . info (
307+ `Using CodeQL version ${ codeQlVersionForOverlay } for overlay analysis.` ,
308+ ) ;
309+ codeQLDefaultVersionInfo . cliVersion = codeQlVersionForOverlay ;
310+ codeQLDefaultVersionInfo . tagName = `codeql-bundle-v${ codeQlVersionForOverlay } ` ;
311+ } ,
312+ ) ;
313+
278314 toolsFeatureFlagsValid = codeQLDefaultVersionInfo . toolsFeatureFlagsValid ;
279315 const initCodeQLResult = await initCodeQL (
280316 getOptionalInput ( "tools" ) ,
0 commit comments