diff --git a/lib/codeql.js b/lib/codeql.js index e58fed8de..44a0d93ff 100644 --- a/lib/codeql.js +++ b/lib/codeql.js @@ -31,24 +31,22 @@ const CODEQL_BUNDLE_VERSION = defaults.bundleVersion; const CODEQL_BUNDLE_NAME = "codeql-bundle.tar.gz"; const CODEQL_DEFAULT_ACTION_REPOSITORY = "github/codeql-action"; function getCodeQLActionRepository(mode) { - if (mode === 'actions') { - // Actions do not know their own repository name, - // so we currently use this hack to find the name based on where our files are. - // This can be removed once the change to the runner in https://github.com/actions/runner/pull/585 is deployed. - const runnerTemp = util.getRequiredEnvParam("RUNNER_TEMP"); - const actionsDirectory = path.join(path.dirname(runnerTemp), "_actions"); - const relativeScriptPath = path.relative(actionsDirectory, __filename); - // This handles the case where the Action does not come from an Action repository, - // e.g. our integration tests which use the Action code from the current checkout. - if (relativeScriptPath.startsWith("..") || path.isAbsolute(relativeScriptPath)) { - return CODEQL_DEFAULT_ACTION_REPOSITORY; - } - const relativeScriptPathParts = relativeScriptPath.split(path.sep); - return relativeScriptPathParts[0] + "/" + relativeScriptPathParts[1]; + if (mode !== 'actions') { + return CODEQL_DEFAULT_ACTION_REPOSITORY; } - else { + // Actions do not know their own repository name, + // so we currently use this hack to find the name based on where our files are. + // This can be removed once the change to the runner in https://github.com/actions/runner/pull/585 is deployed. + const runnerTemp = util.getRequiredEnvParam("RUNNER_TEMP"); + const actionsDirectory = path.join(path.dirname(runnerTemp), "_actions"); + const relativeScriptPath = path.relative(actionsDirectory, __filename); + // This handles the case where the Action does not come from an Action repository, + // e.g. our integration tests which use the Action code from the current checkout. + if (relativeScriptPath.startsWith("..") || path.isAbsolute(relativeScriptPath)) { return CODEQL_DEFAULT_ACTION_REPOSITORY; } + const relativeScriptPathParts = relativeScriptPath.split(path.sep); + return relativeScriptPathParts[0] + "/" + relativeScriptPathParts[1]; } async function getCodeQLBundleDownloadURL(githubUrl, mode, logger) { const codeQLActionRepository = getCodeQLActionRepository(mode); @@ -89,6 +87,8 @@ async function getCodeQLBundleDownloadURL(githubUrl, mode, logger) { } return `https://github.com/${CODEQL_DEFAULT_ACTION_REPOSITORY}/releases/download/${CODEQL_BUNDLE_VERSION}/${CODEQL_BUNDLE_NAME}`; } +// We have to download CodeQL manually because the toolcache doesn't support Accept headers. +// This can be removed once https://github.com/actions/toolkit/pull/530 is merged and released. async function toolcacheDownloadTool(url, headers, tempDir, logger) { const client = new http.HttpClient('CodeQL Action'); const dest = path.join(tempDir, v4_1.default()); @@ -103,8 +103,8 @@ async function toolcacheDownloadTool(url, headers, tempDir, logger) { return dest; } async function setupCodeQL(codeqlURL, githubAuth, githubUrl, tempDir, toolsDir, mode, logger) { - // Setting these two env vars makes the toolcache code safe to use, - // but this is obviously not a great thing we're doing and it would + // Setting these two env vars makes the toolcache code safe to use outside, + // of actions but this is obviously not a great thing we're doing and it would // be better to write our own implementation to use outside of actions. process.env['RUNNER_TEMP'] = tempDir; process.env['RUNNER_TOOL_CACHE'] = toolsDir; @@ -236,8 +236,7 @@ function getCodeQLForCmd(cmd) { ]); }, getTracerEnv: async function (databasePath) { - // Write tracer-env.js to a temp location. When running in CLI mode we can't rely - // on this file existing so we have to create it ourselves. + // Write tracer-env.js to a temp location. const tracerEnvJs = path.resolve(databasePath, 'working', 'tracer-env.js'); fs.mkdirSync(path.dirname(tracerEnvJs), { recursive: true }); fs.writeFileSync(tracerEnvJs, ` diff --git a/lib/codeql.js.map b/lib/codeql.js.map index 8f20c74ba..1a2d106a0 100644 --- a/lib/codeql.js.map +++ b/lib/codeql.js.map @@ -1 +1 @@ -{"version":3,"file":"codeql.js","sourceRoot":"","sources":["../src/codeql.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"codeql.js","sourceRoot":"","sources":["../src/codeql.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAsC;AACtC,2DAA6C;AAE7C,+DAAiD;AACjD,uCAAyB;AACzB,2CAA6B;AAC7B,+CAAiC;AACjC,+CAAiC;AACjC,iDAAmC;AACnC,iDAA6B;AAE7B,kDAAoC;AACpC,0DAA4C,CAAC,2CAA2C;AAGxF,6CAA+B;AA8E/B;;;GAGG;AACH,IAAI,YAAY,GAAuB,SAAS,CAAC;AAEjD,MAAM,qBAAqB,GAAG,QAAQ,CAAC,aAAa,CAAC;AACrD,MAAM,kBAAkB,GAAG,sBAAsB,CAAC;AAClD,MAAM,gCAAgC,GAAG,sBAAsB,CAAC;AAEhE,SAAS,yBAAyB,CAAC,IAAe;IAChD,IAAI,IAAI,KAAK,SAAS,EAAE;QACtB,OAAO,gCAAgC,CAAC;KACzC;IAED,iDAAiD;IACjD,+EAA+E;IAC/E,+GAA+G;IAC/G,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAC3D,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC;IACzE,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;IACvE,kFAAkF;IAClF,kFAAkF;IAClF,IAAI,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE;QAC9E,OAAO,gCAAgC,CAAC;KACzC;IACD,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnE,OAAO,uBAAuB,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,KAAK,UAAU,0BAA0B,CAAC,SAAiB,EAAE,IAAe,EAAE,MAAc;IAC1F,MAAM,sBAAsB,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAC/D,MAAM,wBAAwB,GAAG;QAC/B,yCAAyC;QACzC,CAAC,SAAS,EAAE,sBAAsB,CAAC;QACnC,kDAAkD;QAClD,CAAC,SAAS,EAAE,gCAAgC,CAAC;QAC7C,wCAAwC;QACxC,CAAC,IAAI,CAAC,iBAAiB,EAAE,gCAAgC,CAAC;KAC3D,CAAC;IACF,oCAAoC;IACpC,gHAAgH;IAChH,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACjH,KAAK,IAAI,cAAc,IAAI,qBAAqB,EAAE;QAChD,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,cAAc,CAAC;QAC1C,8GAA8G;QAC9G,IAAI,MAAM,KAAK,IAAI,CAAC,iBAAiB,IAAI,UAAU,KAAK,gCAAgC,EAAE;YACxF,MAAM;SACP;QACD,IAAI,CAAC,eAAe,EAAE,cAAc,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9D,IAAI;YACF,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,mBAAmB,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC;gBACpE,KAAK,EAAE,eAAe;gBACtB,IAAI,EAAE,cAAc;gBACpB,GAAG,EAAE,qBAAqB;aAC3B,CAAC,CAAC;YACH,KAAK,IAAI,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE;gBACrC,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE;oBACrC,MAAM,CAAC,IAAI,CAAC,0BAA0B,cAAc,CAAC,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,aAAa,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;oBAC1G,OAAO,KAAK,CAAC,GAAG,CAAC;iBAClB;aACF;SACF;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,CAAC,IAAI,CAAC,+BAA+B,cAAc,CAAC,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;SAC7G;KACF;IACD,OAAO,sBAAsB,gCAAgC,sBAAsB,qBAAqB,IAAI,kBAAkB,EAAE,CAAC;AACnI,CAAC;AAED,4FAA4F;AAC5F,+FAA+F;AAC/F,KAAK,UAAU,qBAAqB,CAClC,GAAW,EACX,OAA6B,EAC7B,OAAe,EACf,MAAc;IAEd,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAM,EAAE,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAA4B,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACzE,IAAI,QAAQ,CAAC,OAAO,CAAC,UAAU,KAAK,GAAG,EAAE;QACvC,MAAM,CAAC,IAAI,CAAC,4BAA4B,GAAG,WAAW,QAAQ,CAAC,OAAO,CAAC,UAAU,aAAa,QAAQ,CAAC,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC;QACjI,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;KAC7E;IACD,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACvD,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,OAAO,IAAI,CAAC;AACd,CAAC;AAEM,KAAK,UAAU,WAAW,CAC/B,SAA6B,EAC7B,UAAkB,EAClB,SAAiB,EACjB,OAAe,EACf,QAAgB,EAChB,IAAe,EACf,MAAc;IAEd,2EAA2E;IAC3E,8EAA8E;IAC9E,uEAAuE;IACvE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,QAAQ,CAAC;IAE5C,IAAI;QACF,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,SAAS,IAAI,IAAI,qBAAqB,GAAG,EAAE,MAAM,CAAC,CAAC;QAEhG,IAAI,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QAC9D,IAAI,YAAY,EAAE;YAChB,MAAM,CAAC,KAAK,CAAC,yBAAyB,YAAY,EAAE,CAAC,CAAC;SACvD;aAAM;YACL,IAAI,CAAC,SAAS,EAAE;gBACd,SAAS,GAAG,MAAM,0BAA0B,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;aACvE;YAED,MAAM,OAAO,GAAa,EAAC,MAAM,EAAE,0BAA0B,EAAC,CAAC;YAC/D,wEAAwE;YACxE,0DAA0D;YAC1D,mDAAmD;YACnD,IAAI,SAAS,CAAC,UAAU,CAAC,SAAS,GAAG,GAAG,CAAC,EAAE;gBACzC,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;gBACtD,OAAO,CAAC,aAAa,GAAG,SAAS,UAAU,EAAE,CAAC;aAC/C;iBAAM;gBACL,MAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;aAC1D;YACD,IAAI,UAAU,GAAG,MAAM,qBAAqB,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAClF,MAAM,CAAC,KAAK,CAAC,6BAA6B,UAAU,YAAY,CAAC,CAAC;YAElE,MAAM,eAAe,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAC/D,YAAY,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;SACtF;QAED,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC5D,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;YAChC,SAAS,IAAI,MAAM,CAAC;SACrB;aAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE;YACxE,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;SAC9D;QAED,YAAY,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;QAC1C,OAAO,YAAY,CAAC;KAErB;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;KAC9D;AACH,CAAC;AAzDD,kCAyDC;AAED,SAAgB,mBAAmB,CAAC,GAAW,EAAE,MAAc;IAE7D,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAClD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;QACtC,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,iCAAiC,CAAC,CAAC;KAC/E;IAED,IAAI,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAEvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;QAC1B,MAAM,CAAC,KAAK,CAAC,kBAAkB,OAAO,gEAAgE,OAAO,GAAG,CAAC,CAAC;QAClH,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;KAC9B;IAED,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAChC,IAAI,CAAC,CAAC,EAAE;QACN,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,iDAAiD,OAAO,UAAU,CAAC,CAAC;KAC/G;IAED,OAAO,CAAC,CAAC;AACX,CAAC;AApBD,kDAoBC;AAED;;GAEG;AACH,SAAgB,SAAS,CAAC,GAAW;IACnC,IAAI,YAAY,KAAK,SAAS,EAAE;QAC9B,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;KACrC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AALD,8BAKC;AAED,SAAS,eAAe,CACtB,aAA8B,EAC9B,UAAkB,EAClB,qBAAyB;IACzB,IAAI,OAAO,aAAa,CAAC,UAAU,CAAC,KAAK,UAAU,EAAE;QACnD,IAAI,qBAAqB,KAAK,SAAS,EAAE;YACvC,OAAO,qBAAqB,CAAC;SAC9B;QACD,MAAM,WAAW,GAAG,GAAG,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,SAAS,GAAG,UAAU,GAAG,+BAA+B,CAAC,CAAC;QAC5E,CAAC,CAAC;QACF,OAAO,WAAkB,CAAC;KAC3B;IACD,OAAO,aAAa,CAAC,UAAU,CAAC,CAAC;AACnC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,SAAS,CAAC,aAA8B;IACtD,YAAY,GAAG;QACb,OAAO,EAAE,eAAe,CAAC,aAAa,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC;QAC3E,YAAY,EAAE,eAAe,CAAC,aAAa,EAAE,cAAc,CAAC;QAC5D,YAAY,EAAE,eAAe,CAAC,aAAa,EAAE,cAAc,CAAC;QAC5D,YAAY,EAAE,eAAe,CAAC,aAAa,EAAE,cAAc,CAAC;QAC5D,YAAY,EAAE,eAAe,CAAC,aAAa,EAAE,cAAc,CAAC;QAC5D,sBAAsB,EAAE,eAAe,CAAC,aAAa,EAAE,wBAAwB,CAAC;QAChF,gBAAgB,EAAE,eAAe,CAAC,aAAa,EAAE,kBAAkB,CAAC;QACpE,cAAc,EAAE,eAAe,CAAC,aAAa,EAAE,gBAAgB,CAAC;QAChE,eAAe,EAAE,eAAe,CAAC,aAAa,EAAE,iBAAiB,CAAC;KACnE,CAAC;IACF,OAAO,YAAY,CAAC;AACtB,CAAC;AAbD,8BAaC;AAED;;;;;GAKG;AACH,SAAgB,eAAe;IAC7B,IAAI,YAAY,KAAK,SAAS,EAAE;QAC9B,yEAAyE;QACzE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;KAC3C;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAND,0CAMC;AAED,SAAS,eAAe,CAAC,GAAW;IAClC,OAAO;QACL,OAAO,EAAE;YACP,OAAO,GAAG,CAAC;QACb,CAAC;QACD,YAAY,EAAE,KAAK;YACjB,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACnB,SAAS;gBACT,eAAe;aAChB,CAAC,CAAC;QACL,CAAC;QACD,YAAY,EAAE,KAAK,WAAU,YAAoB;YAC/C,0CAA0C;YAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;YAC3E,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;YAC3D,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE;;;;;;;;;;;yEAWqC,CAAC,CAAC;YAErE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YACjE,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACnB,UAAU;gBACV,eAAe;gBACf,YAAY;gBACZ,GAAG,sBAAsB,CAAC,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;gBACxD,OAAO,CAAC,QAAQ;gBAChB,WAAW;gBACX,OAAO;aACR,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,YAAY,EAAE,KAAK,WAAU,YAAoB,EAAE,QAAkB,EAAE,UAAkB;YACvF,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACnB,UAAU;gBACV,MAAM;gBACN,YAAY;gBACZ,aAAa,GAAG,QAAQ;gBACxB,gBAAgB,GAAG,UAAU;gBAC7B,GAAG,sBAAsB,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;aAChD,CAAC,CAAC;QACL,CAAC;QACD,YAAY,EAAE,KAAK,WAAU,QAAkB;YAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC;YAChF,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAE9E,+DAA+D;YAC/D,0FAA0F;YAC1F,qDAAqD;YACrD,8EAA8E;YAC9E,gHAAgH;YAChH,IAAI,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;YAC7D,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,wBAAwB,EAAE,+BAA+B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE1I,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAChC,CAAC;QACD,sBAAsB,EAAE,KAAK,WAAU,YAAoB,EAAE,QAAkB;YAC7E,yBAAyB;YACzB,IAAI,aAAa,GAAG,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,IAAI,CACb,GAAG,EACH;gBACE,SAAS;gBACT,WAAW;gBACX,eAAe;gBACf,aAAa,GAAG,QAAQ;gBACxB,GAAG,sBAAsB,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;aACpD,EACD;gBACE,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE;oBACT,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,aAAa,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBACvD,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBAClD;aACF,CAAC,CAAC;YAEL,oBAAoB;YACpB,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;YAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,WAAW,GAAG,GAAG,CAAC,CAAC;YAEzF,oBAAoB;YACpB,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACnB,UAAU;gBACV,eAAe;gBACf,GAAG,sBAAsB,CAAC,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;gBACxD,YAAY;gBACZ,IAAI;gBACJ,YAAY;aACb,CAAC,CAAC;QACL,CAAC;QACD,gBAAgB,EAAE,KAAK,WAAU,YAAoB;YACnD,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACnB,UAAU;gBACV,UAAU;gBACV,GAAG,sBAAsB,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBACnD,YAAY;aACb,CAAC,CAAC;QACL,CAAC;QACD,cAAc,EAAE,KAAK,WAAU,OAAiB,EAAE,eAAmC;YACnF,MAAM,UAAU,GAAG;gBACjB,SAAS;gBACT,SAAS;gBACT,GAAG,OAAO;gBACV,qBAAqB;gBACrB,GAAG,sBAAsB,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;aAClD,CAAC;YACF,IAAI,eAAe,KAAK,SAAS,EAAE;gBACjC,UAAU,CAAC,IAAI,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;aACnD;YACD,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE;gBAC/B,SAAS,EAAE;oBACT,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;wBACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAC5B,CAAC;iBACF;aACF,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QACD,eAAe,EAAE,KAAK,WAAU,YAAoB,EAAE,SAAiB,EAAE,UAAkB;YACzF,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACnB,UAAU;gBACV,SAAS;gBACT,IAAI,CAAC,aAAa,EAAE;gBACpB,IAAI,CAAC,cAAc,EAAE;gBACrB,YAAY;gBACZ,uBAAuB;gBACvB,WAAW,GAAG,SAAS;gBACvB,yBAAyB;gBACzB,GAAG,sBAAsB,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;gBAClD,UAAU;aACX,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAAC,IAAc;IAC5C,IAAI,OAAO,GAAiB,IAAI,CAAC,uBAAuB,EAAE,CAAC;IAC3D,OAAO,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;GAKG;AACH,SAA2C,eAAe,CACxD,OAAY,EACZ,IAAc,EACd,QAAkB;;IAClB;;;;OAIG;IACH,SAAS,cAAc,CAAC,OAAY,EAAE,QAAkB;QACtD,IAAI,OAAO,KAAK,SAAS,EAAE;YACzB,OAAO,EAAE,CAAC;SACX;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B,MAAM,GAAG,GACP,0BAA0B,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,yBAAyB,CAAC;YACtG,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;SACtB;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACrB,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC;YACnB,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,SAAS,EAAE;gBACvD,MAAM,GAAG,GACP,yBAAyB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,8BAA8B,CAAC;gBACpG,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;aACtB;YACD,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,GAAG,GAAG,cAAc,OAAC,OAAO,0CAAG,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/D,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QAChC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;QACnC,eAAe,OAAC,OAAO,0CAAG,IAAI,CAAC,CAAC,CAAC,SAAG,IAAI,0CAAE,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChF,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAjCD,0CAiCC"} \ No newline at end of file diff --git a/lib/init.js b/lib/init.js index 188a28093..4004bde4c 100644 --- a/lib/init.js +++ b/lib/init.js @@ -40,24 +40,22 @@ async function runInit(codeql, config) { await codeql.databaseInit(util.getCodeQLDatabasePath(config.tempDir, language), language, sourceRoot); } const tracerConfig = await tracer_config_1.getCombinedTracerConfig(config, codeql); - if (tracerConfig !== undefined) { - if (process.platform === 'win32') { - const injectTracerPath = path.join(config.tempDir, 'inject-tracer.ps1'); - fs.writeFileSync(injectTracerPath, ` - Param( - [Parameter(Position=0)] - [String] - $tracer - ) - Get-Process -Name Runner.Worker - $process=Get-Process -Name Runner.Worker - $id=$process.Id - Invoke-Expression "&$tracer --inject=$id"`); - await exec.exec('powershell', [ - injectTracerPath, - path.resolve(path.dirname(codeql.getPath()), 'tools', 'win64', 'tracer.exe'), - ], { env: { 'ODASA_TRACER_CONFIGURATION': tracerConfig.spec } }); - } + if (tracerConfig !== undefined && process.platform === 'win32') { + const injectTracerPath = path.join(config.tempDir, 'inject-tracer.ps1'); + fs.writeFileSync(injectTracerPath, ` + Param( + [Parameter(Position=0)] + [String] + $tracer + ) + Get-Process -Name Runner.Worker + $process=Get-Process -Name Runner.Worker + $id=$process.Id + Invoke-Expression "&$tracer --inject=$id"`); + await exec.exec('powershell', [ + injectTracerPath, + path.resolve(path.dirname(codeql.getPath()), 'tools', 'win64', 'tracer.exe'), + ], { env: { 'ODASA_TRACER_CONFIGURATION': tracerConfig.spec } }); } return tracerConfig; } diff --git a/lib/init.js.map b/lib/init.js.map index f35c3fd32..0267af6db 100644 --- a/lib/init.js.map +++ b/lib/init.js.map @@ -1 +1 @@ -{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oDAAsC;AACtC,uCAAyB;AACzB,2CAA6B;AAE7B,gEAAkD;AAClD,qCAA+C;AAC/C,4DAA8C;AAG9C,mDAAwE;AACxE,6CAA+B;AAExB,KAAK,UAAU,UAAU,CAC9B,SAA6B,EAC7B,UAAkB,EAClB,SAAiB,EACjB,OAAe,EACf,QAAgB,EAChB,IAAe,EACf,MAAc;IAEd,MAAM,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,MAAM,oBAAW,CAC9B,SAAS,EACT,UAAU,EACV,SAAS,EACT,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,MAAM,CAAC,CAAC;IACV,MAAM,MAAM,CAAC,YAAY,EAAE,CAAC;IAC5B,MAAM,CAAC,QAAQ,EAAE,CAAC;IAClB,OAAO,MAAM,CAAC;AAChB,CAAC;AArBD,gCAqBC;AAEM,KAAK,UAAU,UAAU,CAC9B,cAAkC,EAClC,YAAgC,EAChC,UAA8B,EAC9B,UAAyB,EACzB,OAAe,EACf,YAAoB,EACpB,MAAc,EACd,YAAoB,EACpB,UAAkB,EAClB,SAAiB,EACjB,MAAc;IAEd,MAAM,CAAC,UAAU,CAAC,6BAA6B,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,UAAU,CACzC,cAAc,EACd,YAAY,EACZ,UAAU,EACV,UAAU,EACV,OAAO,EACP,YAAY,EACZ,MAAM,EACN,YAAY,EACZ,UAAU,EACV,SAAS,EACT,MAAM,CAAC,CAAC;IACV,aAAa,CAAC,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtD,MAAM,CAAC,QAAQ,EAAE,CAAC;IAClB,OAAO,MAAM,CAAC;AAChB,CAAC;AA7BD,gCA6BC;AAEM,KAAK,UAAU,OAAO,CAC3B,MAAc,EACd,MAA0B;IAE1B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAElC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE9E,sEAAsE;IACtE,KAAK,IAAI,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE;QACrC,yBAAyB;QACzB,MAAM,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;KACvG;IAED,MAAM,YAAY,GAAG,MAAM,uCAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnE,IAAI,YAAY,KAAK,SAAS,EAAE;QAC9B,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;YAChC,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;YACxE,EAAE,CAAC,aAAa,CAAC,gBAAgB,EAAE;;;;;;;;;kDASS,CAAC,CAAC;YAE9C,MAAM,IAAI,CAAC,IAAI,CACb,YAAY,EACZ;gBACE,gBAAgB;gBAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC;aAC7E,EACD,EAAE,GAAG,EAAE,EAAE,4BAA4B,EAAE,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;SACjE;KACF;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAvCD,0BAuCC"} \ No newline at end of file +{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oDAAsC;AACtC,uCAAyB;AACzB,2CAA6B;AAE7B,gEAAkD;AAClD,qCAA+C;AAC/C,4DAA8C;AAG9C,mDAAwE;AACxE,6CAA+B;AAExB,KAAK,UAAU,UAAU,CAC9B,SAA6B,EAC7B,UAAkB,EAClB,SAAiB,EACjB,OAAe,EACf,QAAgB,EAChB,IAAe,EACf,MAAc;IAEd,MAAM,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,MAAM,oBAAW,CAC9B,SAAS,EACT,UAAU,EACV,SAAS,EACT,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,MAAM,CAAC,CAAC;IACV,MAAM,MAAM,CAAC,YAAY,EAAE,CAAC;IAC5B,MAAM,CAAC,QAAQ,EAAE,CAAC;IAClB,OAAO,MAAM,CAAC;AAChB,CAAC;AArBD,gCAqBC;AAEM,KAAK,UAAU,UAAU,CAC9B,cAAkC,EAClC,YAAgC,EAChC,UAA8B,EAC9B,UAAyB,EACzB,OAAe,EACf,YAAoB,EACpB,MAAc,EACd,YAAoB,EACpB,UAAkB,EAClB,SAAiB,EACjB,MAAc;IAEd,MAAM,CAAC,UAAU,CAAC,6BAA6B,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,UAAU,CACzC,cAAc,EACd,YAAY,EACZ,UAAU,EACV,UAAU,EACV,OAAO,EACP,YAAY,EACZ,MAAM,EACN,YAAY,EACZ,UAAU,EACV,SAAS,EACT,MAAM,CAAC,CAAC;IACV,aAAa,CAAC,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtD,MAAM,CAAC,QAAQ,EAAE,CAAC;IAClB,OAAO,MAAM,CAAC;AAChB,CAAC;AA7BD,gCA6BC;AAEM,KAAK,UAAU,OAAO,CAC3B,MAAc,EACd,MAA0B;IAE1B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAElC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE9E,sEAAsE;IACtE,KAAK,IAAI,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE;QACrC,yBAAyB;QACzB,MAAM,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;KACvG;IAED,MAAM,YAAY,GAAG,MAAM,uCAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnE,IAAI,YAAY,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;QAC9D,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;QACxE,EAAE,CAAC,aAAa,CAAC,gBAAgB,EAAE;;;;;;;;;gDASS,CAAC,CAAC;QAE9C,MAAM,IAAI,CAAC,IAAI,CACb,YAAY,EACZ;YACE,gBAAgB;YAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC;SAC7E,EACD,EAAE,GAAG,EAAE,EAAE,4BAA4B,EAAE,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;KACjE;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AArCD,0BAqCC"} \ No newline at end of file diff --git a/lib/runner.js b/lib/runner.js index 387953457..6001a6251 100644 --- a/lib/runner.js +++ b/lib/runner.js @@ -64,7 +64,7 @@ function checkEnvironmentSetup(config) { if (config.languages.some(languages_1.isTracedLanguage) && !('ODASA_TRACER_CONFIGURATION' in process.env)) { throw new Error("Could not detect 'ODASA_TRACER_CONFIGURATION' in environment. " + "Make sure that environment variables were correctly exported to future processes. " + - "See end out output from 'init' command for instructions."); + "See end of output from 'init' command for instructions."); } } program @@ -77,7 +77,7 @@ program .option('--queries ', 'Comma-separated list of additional queries to run. By default, this overrides the same setting in a configuration file.') .option('--config-file ', 'Path to config file') .option('--codeql-path ', 'Path to a copy of the CodeQL CLI executable to use. Otherwise downloads a copy.') - .option('--temp-dir ', 'Directory to use for temporary files. By default will use current working directory.') + .option('--temp-dir ', 'Directory to use for temporary files. By default will use a subdirectory of the current working directory.') .option('--tools-dir ', 'Directory to use for CodeQL tools and other files to store between runs. By default will use home directory.') .option('--checkout-path ', 'Checkout path (default: current working directory)') .option('--debug', 'Print more verbose output', false) @@ -98,35 +98,36 @@ program } const config = await init_1.initConfig(cmd.languages, cmd.queries, cmd.configFile, repository_1.parseRepositoryNwo(cmd.repository), tempDir, toolsDir, codeql, cmd.checkoutPath || process.cwd(), cmd.githubAuth, parseGithubUrl(cmd.githubUrl), logger); const tracerConfig = await init_1.runInit(codeql, config); - if (tracerConfig !== undefined) { - if (process.platform === 'win32') { - const batEnvFile = path.join(config.tempDir, 'codeql-env.bat'); - const batEnvFileContents = Object.entries(tracerConfig.env) - .map(([key, value]) => `Set ${key}=${value}`) - .join('\n'); - fs.writeFileSync(batEnvFile, batEnvFileContents); - const powershellEnvFile = path.join(config.tempDir, 'codeql-env.sh'); - const powershellEnvFileContents = Object.entries(tracerConfig.env) - .map(([key, value]) => `$env:${key}="${value}"`) - .join('\n'); - fs.writeFileSync(powershellEnvFile, powershellEnvFileContents); - logger.info(`\nCodeQL environment outputted to "${batEnvFileContents}" and "${powershellEnvFile}". ` + - `Please export these variables to future processes so the build can tbe traced. ` + - `If using cmd/batch run "call ${batEnvFileContents}" ` + - `or if using PowerShell run "cat ${powershellEnvFile} | Invoke-Expression".`); - } - else { - // Assume that anything that's not windows is using a unix-style shell - const envFile = path.join(config.tempDir, 'codeql-env.sh'); - const envFileContents = Object.entries(tracerConfig.env) - // Some vars contain ${LIB} that we do not want to be expanded when executing this script - .map(([key, value]) => `export ${key}="${value.replace('$', '\\$')}"`) - .join('\n'); - fs.writeFileSync(envFile, envFileContents); - logger.info(`\nCodeQL environment outputted to "${envFile}". ` + - `Please export these variables to future processes so the build can tbe traced, ` + - `for example by running "source ${envFile}".`); - } + if (tracerConfig === undefined) { + return; + } + if (process.platform === 'win32') { + const batEnvFile = path.join(config.tempDir, 'codeql-env.bat'); + const batEnvFileContents = Object.entries(tracerConfig.env) + .map(([key, value]) => `Set ${key}=${value}`) + .join('\n'); + fs.writeFileSync(batEnvFile, batEnvFileContents); + const powershellEnvFile = path.join(config.tempDir, 'codeql-env.sh'); + const powershellEnvFileContents = Object.entries(tracerConfig.env) + .map(([key, value]) => `$env:${key}="${value}"`) + .join('\n'); + fs.writeFileSync(powershellEnvFile, powershellEnvFileContents); + logger.info(`\nCodeQL environment output to "${batEnvFileContents}" and "${powershellEnvFile}". ` + + `Please export these variables to future processes so the build can be traced. ` + + `If using cmd/batch run "call ${batEnvFileContents}" ` + + `or if using PowerShell run "cat ${powershellEnvFile} | Invoke-Expression".`); + } + else { + // Assume that anything that's not windows is using a unix-style shell + const envFile = path.join(config.tempDir, 'codeql-env.sh'); + const envFileContents = Object.entries(tracerConfig.env) + // Some vars contain ${LIB} that we do not want to be expanded when executing this script + .map(([key, value]) => `export ${key}="${value.replace('$', '\\$')}"`) + .join('\n'); + fs.writeFileSync(envFile, envFileContents); + logger.info(`\nCodeQL environment output to "${envFile}". ` + + `Please export these variables to future processes so the build can be traced, ` + + `for example by running "source ${envFile}".`); } } catch (e) { @@ -139,7 +140,7 @@ program .command('autobuild') .description('Attempts to automatically build code') .option('--language ', 'The language to build. By default will try to detect the dominant language.') - .option('--temp-dir ', 'Directory to use for temporary files. By default will use current working directory.') + .option('--temp-dir ', 'Directory to use for temporary files. By default will use a subdirectory of the current working directory.') .option('--debug', 'Print more verbose output', false) .action(async (cmd) => { const logger = logging_1.getRunnerLogger(cmd.debug); @@ -178,7 +179,7 @@ program .option('--checkout-path ', 'Checkout path (default: current working directory)') .option('--no-upload', 'Do not upload results after analysis', false) .option('--output-dir ', 'Directory to output SARIF files to. By default will use temp directory.') - .option('--temp-dir ', 'Directory to use for temporary files. By default will use current working directory.') + .option('--temp-dir ', 'Directory to use for temporary files. By default will use a subdirectory of the current working directory.') .option('--debug', 'Print more verbose output', false) .action(async (cmd) => { const logger = logging_1.getRunnerLogger(cmd.debug); @@ -190,7 +191,7 @@ program await analyze_1.runAnalyze(repository_1.parseRepositoryNwo(cmd.repository), cmd.commit, cmd.ref, undefined, undefined, undefined, cmd.checkoutPath || process.cwd(), undefined, cmd.githubAuth, parseGithubUrl(cmd.githubUrl), cmd.upload, 'runner', outputDir, config, logger); } catch (e) { - logger.error('Upload failed'); + logger.error('Analyze failed'); logger.error(e); process.exitCode = 1; } diff --git a/lib/runner.js.map b/lib/runner.js.map index fa0a25b7f..c66138314 100644 --- a/lib/runner.js.map +++ b/lib/runner.js.map @@ -1 +1 @@ -{"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/codeql.ts b/src/codeql.ts index 49e20b963..96cd04ef0 100644 --- a/src/codeql.ts +++ b/src/codeql.ts @@ -102,24 +102,23 @@ const CODEQL_BUNDLE_NAME = "codeql-bundle.tar.gz"; const CODEQL_DEFAULT_ACTION_REPOSITORY = "github/codeql-action"; function getCodeQLActionRepository(mode: util.Mode): string { - if (mode === 'actions') { - // Actions do not know their own repository name, - // so we currently use this hack to find the name based on where our files are. - // This can be removed once the change to the runner in https://github.com/actions/runner/pull/585 is deployed. - const runnerTemp = util.getRequiredEnvParam("RUNNER_TEMP"); - const actionsDirectory = path.join(path.dirname(runnerTemp), "_actions"); - const relativeScriptPath = path.relative(actionsDirectory, __filename); - // This handles the case where the Action does not come from an Action repository, - // e.g. our integration tests which use the Action code from the current checkout. - if (relativeScriptPath.startsWith("..") || path.isAbsolute(relativeScriptPath)) { - return CODEQL_DEFAULT_ACTION_REPOSITORY; - } - const relativeScriptPathParts = relativeScriptPath.split(path.sep); - return relativeScriptPathParts[0] + "/" + relativeScriptPathParts[1]; + if (mode !== 'actions') { + return CODEQL_DEFAULT_ACTION_REPOSITORY; + } - } else { + // Actions do not know their own repository name, + // so we currently use this hack to find the name based on where our files are. + // This can be removed once the change to the runner in https://github.com/actions/runner/pull/585 is deployed. + const runnerTemp = util.getRequiredEnvParam("RUNNER_TEMP"); + const actionsDirectory = path.join(path.dirname(runnerTemp), "_actions"); + const relativeScriptPath = path.relative(actionsDirectory, __filename); + // This handles the case where the Action does not come from an Action repository, + // e.g. our integration tests which use the Action code from the current checkout. + if (relativeScriptPath.startsWith("..") || path.isAbsolute(relativeScriptPath)) { return CODEQL_DEFAULT_ACTION_REPOSITORY; } + const relativeScriptPathParts = relativeScriptPath.split(path.sep); + return relativeScriptPathParts[0] + "/" + relativeScriptPathParts[1]; } async function getCodeQLBundleDownloadURL(githubUrl: string, mode: util.Mode, logger: Logger): Promise { @@ -161,6 +160,8 @@ async function getCodeQLBundleDownloadURL(githubUrl: string, mode: util.Mode, lo return `https://github.com/${CODEQL_DEFAULT_ACTION_REPOSITORY}/releases/download/${CODEQL_BUNDLE_VERSION}/${CODEQL_BUNDLE_NAME}`; } +// We have to download CodeQL manually because the toolcache doesn't support Accept headers. +// This can be removed once https://github.com/actions/toolkit/pull/530 is merged and released. async function toolcacheDownloadTool( url: string, headers: IHeaders | undefined, @@ -189,8 +190,8 @@ export async function setupCodeQL( mode: util.Mode, logger: Logger): Promise { - // Setting these two env vars makes the toolcache code safe to use, - // but this is obviously not a great thing we're doing and it would + // Setting these two env vars makes the toolcache code safe to use outside, + // of actions but this is obviously not a great thing we're doing and it would // be better to write our own implementation to use outside of actions. process.env['RUNNER_TEMP'] = tempDir; process.env['RUNNER_TOOL_CACHE'] = toolsDir; @@ -334,8 +335,7 @@ function getCodeQLForCmd(cmd: string): CodeQL { ]); }, getTracerEnv: async function(databasePath: string) { - // Write tracer-env.js to a temp location. When running in CLI mode we can't rely - // on this file existing so we have to create it ourselves. + // Write tracer-env.js to a temp location. const tracerEnvJs = path.resolve(databasePath, 'working', 'tracer-env.js'); fs.mkdirSync(path.dirname(tracerEnvJs), {recursive: true}); fs.writeFileSync(tracerEnvJs, ` diff --git a/src/init.ts b/src/init.ts index 88b301971..a34a00bbe 100644 --- a/src/init.ts +++ b/src/init.ts @@ -79,28 +79,26 @@ export async function runInit( } const tracerConfig = await getCombinedTracerConfig(config, codeql); - if (tracerConfig !== undefined) { - if (process.platform === 'win32') { - const injectTracerPath = path.join(config.tempDir, 'inject-tracer.ps1'); - fs.writeFileSync(injectTracerPath, ` - Param( - [Parameter(Position=0)] - [String] - $tracer - ) - Get-Process -Name Runner.Worker - $process=Get-Process -Name Runner.Worker - $id=$process.Id - Invoke-Expression "&$tracer --inject=$id"`); + if (tracerConfig !== undefined && process.platform === 'win32') { + const injectTracerPath = path.join(config.tempDir, 'inject-tracer.ps1'); + fs.writeFileSync(injectTracerPath, ` + Param( + [Parameter(Position=0)] + [String] + $tracer + ) + Get-Process -Name Runner.Worker + $process=Get-Process -Name Runner.Worker + $id=$process.Id + Invoke-Expression "&$tracer --inject=$id"`); - await exec.exec( - 'powershell', - [ - injectTracerPath, - path.resolve(path.dirname(codeql.getPath()), 'tools', 'win64', 'tracer.exe'), - ], - { env: { 'ODASA_TRACER_CONFIGURATION': tracerConfig.spec } }); - } + await exec.exec( + 'powershell', + [ + injectTracerPath, + path.resolve(path.dirname(codeql.getPath()), 'tools', 'win64', 'tracer.exe'), + ], + { env: { 'ODASA_TRACER_CONFIGURATION': tracerConfig.spec } }); } return tracerConfig; } diff --git a/src/runner.ts b/src/runner.ts index a1f6c2912..3eee39219 100644 --- a/src/runner.ts +++ b/src/runner.ts @@ -61,7 +61,7 @@ function checkEnvironmentSetup(config: Config) { if (config.languages.some(isTracedLanguage) && !('ODASA_TRACER_CONFIGURATION' in process.env)) { throw new Error("Could not detect 'ODASA_TRACER_CONFIGURATION' in environment. " + "Make sure that environment variables were correctly exported to future processes. " + - "See end out output from 'init' command for instructions."); + "See end of output from 'init' command for instructions."); } } @@ -89,7 +89,7 @@ program .option('--queries ', 'Comma-separated list of additional queries to run. By default, this overrides the same setting in a configuration file.') .option('--config-file ', 'Path to config file') .option('--codeql-path ', 'Path to a copy of the CodeQL CLI executable to use. Otherwise downloads a copy.') - .option('--temp-dir ', 'Directory to use for temporary files. By default will use current working directory.') + .option('--temp-dir ', 'Directory to use for temporary files. By default will use a subdirectory of the current working directory.') .option('--tools-dir ', 'Directory to use for CodeQL tools and other files to store between runs. By default will use home directory.') .option('--checkout-path ', 'Checkout path (default: current working directory)') .option('--debug', 'Print more verbose output', false) @@ -131,38 +131,40 @@ program logger); const tracerConfig = await runInit(codeql, config); - if (tracerConfig !== undefined) { - if (process.platform === 'win32') { - const batEnvFile = path.join(config.tempDir, 'codeql-env.bat'); - const batEnvFileContents = Object.entries(tracerConfig.env) - .map(([key, value]) => `Set ${key}=${value}`) - .join('\n'); - fs.writeFileSync(batEnvFile, batEnvFileContents); + if (tracerConfig === undefined) { + return; + } - const powershellEnvFile = path.join(config.tempDir, 'codeql-env.sh'); - const powershellEnvFileContents = Object.entries(tracerConfig.env) - .map(([key, value]) => `$env:${key}="${value}"`) - .join('\n'); - fs.writeFileSync(powershellEnvFile, powershellEnvFileContents); + if (process.platform === 'win32') { + const batEnvFile = path.join(config.tempDir, 'codeql-env.bat'); + const batEnvFileContents = Object.entries(tracerConfig.env) + .map(([key, value]) => `Set ${key}=${value}`) + .join('\n'); + fs.writeFileSync(batEnvFile, batEnvFileContents); - logger.info(`\nCodeQL environment outputted to "${batEnvFileContents}" and "${powershellEnvFile}". ` + - `Please export these variables to future processes so the build can tbe traced. ` + - `If using cmd/batch run "call ${batEnvFileContents}" ` + - `or if using PowerShell run "cat ${powershellEnvFile} | Invoke-Expression".`); + const powershellEnvFile = path.join(config.tempDir, 'codeql-env.sh'); + const powershellEnvFileContents = Object.entries(tracerConfig.env) + .map(([key, value]) => `$env:${key}="${value}"`) + .join('\n'); + fs.writeFileSync(powershellEnvFile, powershellEnvFileContents); - } else { - // Assume that anything that's not windows is using a unix-style shell - const envFile = path.join(config.tempDir, 'codeql-env.sh'); - const envFileContents = Object.entries(tracerConfig.env) - // Some vars contain ${LIB} that we do not want to be expanded when executing this script - .map(([key, value]) => `export ${key}="${value.replace('$', '\\$')}"`) - .join('\n'); - fs.writeFileSync(envFile, envFileContents); + logger.info(`\nCodeQL environment output to "${batEnvFileContents}" and "${powershellEnvFile}". ` + + `Please export these variables to future processes so the build can be traced. ` + + `If using cmd/batch run "call ${batEnvFileContents}" ` + + `or if using PowerShell run "cat ${powershellEnvFile} | Invoke-Expression".`); - logger.info(`\nCodeQL environment outputted to "${envFile}". ` + - `Please export these variables to future processes so the build can tbe traced, ` + - `for example by running "source ${envFile}".`); - } + } else { + // Assume that anything that's not windows is using a unix-style shell + const envFile = path.join(config.tempDir, 'codeql-env.sh'); + const envFileContents = Object.entries(tracerConfig.env) + // Some vars contain ${LIB} that we do not want to be expanded when executing this script + .map(([key, value]) => `export ${key}="${value.replace('$', '\\$')}"`) + .join('\n'); + fs.writeFileSync(envFile, envFileContents); + + logger.info(`\nCodeQL environment output to "${envFile}". ` + + `Please export these variables to future processes so the build can be traced, ` + + `for example by running "source ${envFile}".`); } } catch (e) { @@ -182,7 +184,7 @@ program .command('autobuild') .description('Attempts to automatically build code') .option('--language ', 'The language to build. By default will try to detect the dominant language.') - .option('--temp-dir ', 'Directory to use for temporary files. By default will use current working directory.') + .option('--temp-dir ', 'Directory to use for temporary files. By default will use a subdirectory of the current working directory.') .option('--debug', 'Print more verbose output', false) .action(async (cmd: AutobuildArgs) => { const logger = getRunnerLogger(cmd.debug); @@ -233,7 +235,7 @@ program .option('--checkout-path ', 'Checkout path (default: current working directory)') .option('--no-upload', 'Do not upload results after analysis', false) .option('--output-dir ', 'Directory to output SARIF files to. By default will use temp directory.') - .option('--temp-dir ', 'Directory to use for temporary files. By default will use current working directory.') + .option('--temp-dir ', 'Directory to use for temporary files. By default will use a subdirectory of the current working directory.') .option('--debug', 'Print more verbose output', false) .action(async (cmd: AnalyzeArgs) => { const logger = getRunnerLogger(cmd.debug); @@ -259,7 +261,7 @@ program config, logger); } catch (e) { - logger.error('Upload failed'); + logger.error('Analyze failed'); logger.error(e); process.exitCode = 1; }