mirror of
https://github.com/github/codeql-action.git
synced 2025-12-28 18:20:08 +08:00
Install python deps on init
This commit is contained in:
@@ -2,7 +2,7 @@ import * as core from '@actions/core';
|
||||
|
||||
import { CodeQL } from './codeql';
|
||||
import * as configUtils from './config-utils';
|
||||
import { initCodeQL, initConfig, injectWindowsTracer, runInit } from './init';
|
||||
import { initCodeQL, initConfig, injectWindowsTracer, installPythonDeps, runInit} from './init';
|
||||
import { getActionsLogger } from './logging';
|
||||
import { parseRepositoryNwo } from './repository';
|
||||
import * as util from './util';
|
||||
@@ -66,6 +66,13 @@ async function run() {
|
||||
util.getRequiredEnvParam('RUNNER_TOOL_CACHE'),
|
||||
'actions',
|
||||
logger);
|
||||
|
||||
try {
|
||||
await installPythonDeps(codeql, logger);
|
||||
} catch (err) {
|
||||
logger.warning(err.message + 'You can call this action with "setup-python-dependencies: false" to disable this process');
|
||||
}
|
||||
|
||||
config = await initConfig(
|
||||
core.getInput('languages'),
|
||||
core.getInput('queries'),
|
||||
|
||||
26
src/init.ts
26
src/init.ts
@@ -167,3 +167,29 @@ export async function injectWindowsTracer(
|
||||
],
|
||||
{ env: { 'ODASA_TRACER_CONFIGURATION': tracerConfig.spec } }).exec();
|
||||
}
|
||||
|
||||
export async function installPythonDeps(codeql: CodeQL, logger: Logger) {
|
||||
logger.startGroup('Setup Python dependencies');
|
||||
|
||||
const scriptsFolder = path.resolve(__dirname, '../python-setup');
|
||||
|
||||
// Setup tools
|
||||
try {
|
||||
await new toolrunnner.ToolRunner(path.join(scriptsFolder, 'install_tools.sh')).exec();
|
||||
} catch (e) {
|
||||
// This script tries to install some needed tools in the runner. It should not fail, but if it does
|
||||
// we just abort the process without failing the action
|
||||
logger.endGroup();
|
||||
throw new Error('Unable to download and extract the scripts needed for installing the python dependecies');
|
||||
}
|
||||
// Install dependencies
|
||||
try {
|
||||
await new toolrunnner.ToolRunner(
|
||||
path.join(scriptsFolder, 'auto_install_packages.py'),
|
||||
[path.dirname(codeql.getPath())]).exec();
|
||||
} catch (e) {
|
||||
logger.endGroup();
|
||||
throw new Error('We were unable to install your python dependencies.');
|
||||
}
|
||||
logger.endGroup();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user