in gitlab/src/utils.ts [207:246]
export async function qodana(args: string[] = []): Promise<number> {
process.env = {
...process.env,
NONINTERACTIVE: '1'
}
if (args.length === 0) {
const inputs = getInputs()
args = getQodanaScanArgs(inputs.args, inputs.resultsDir, inputs.cacheDir)
if (inputs.prMode && isMergeRequest()) {
const sha = await getPrSha()
if (sha !== '') {
args.push('--commit', sha)
}
}
if (isMergeRequest()) {
const sourceBranch =
process.env.QODANA_BRANCH ||
process.env.CI_MERGE_REQUEST_SOURCE_BRANCH_NAME
if (sourceBranch) {
process.env.QODANA_BRANCH = sourceBranch
}
}
}
return new Promise(resolve => {
const proc = spawn(EXECUTABLE, args, {stdio: 'inherit'})
proc.on('close', (code, signal) => {
if (code == null) {
console.error(`Qodana process terminated by signal: ${signal}`)
resolve(1)
} else {
resolve(code)
}
})
proc.on('error', err => {
console.error(err.message)
resolve(127)
})
})
}