diff --git a/.github/workflows/__extract-direct-to-toolcache.yml b/.github/workflows/__extract-direct-to-toolcache.yml new file mode 100644 index 0000000000..1e4c2443f0 --- /dev/null +++ b/.github/workflows/__extract-direct-to-toolcache.yml @@ -0,0 +1,101 @@ +# Warning: This file is generated automatically, and should not be modified. +# Instead, please modify the template in the pr-checks directory and run: +# (cd pr-checks; pip install ruamel.yaml@0.17.31 && python3 sync.py) +# to regenerate this file. + +name: PR Check - Extract directly to toolcache +env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GO111MODULE: auto +on: + push: + branches: + - main + - releases/v* + pull_request: + types: + - opened + - synchronize + - reopened + - ready_for_review + schedule: + - cron: '0 5 * * *' + workflow_dispatch: {} +jobs: + extract-direct-to-toolcache: + strategy: + fail-fast: false + matrix: + include: + - os: macos-latest + version: linked + - os: ubuntu-latest + version: linked + - os: windows-latest + version: linked + name: Extract directly to toolcache + permissions: + contents: read + security-events: write + timeout-minutes: 45 + runs-on: ${{ matrix.os }} + steps: + - name: Setup Python on macOS + uses: actions/setup-python@v5 + if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6' + with: + python-version: '3.11' + - name: Check out repository + uses: actions/checkout@v4 + - name: Prepare test + id: prepare-test + uses: ./.github/actions/prepare-test + with: + version: ${{ matrix.version }} + use-all-platform-bundle: 'false' + setup-kotlin: 'true' + - name: Remove CodeQL from toolcache + uses: actions/github-script@v7 + with: + script: | + const fs = require('fs'); + const path = require('path'); + const codeqlPath = path.join(process.env['RUNNER_TOOL_CACHE'], 'CodeQL'); + fs.rmdirSync(codeqlPath, { recursive: true }); + - name: Install @actions/tool-cache + run: npm install @actions/tool-cache + - name: Check toolcache does not contain CodeQL + uses: actions/github-script@v7 + with: + script: | + const toolcache = require('@actions/tool-cache'); + const allCodeqlVersions = toolcache.findAllVersions('CodeQL'); + if (allCodeqlVersions.length !== 0) { + throw new Error(`CodeQL should not be found in the toolcache, but found ${allCodeqlVersions}`); + } + console.log('No versions of CodeQL found in the toolcache'); + - id: init + uses: ./../action/init + with: + languages: javascript + tools: ${{ steps.prepare-test.outputs.tools-url }} + - uses: ./../action/analyze + with: + output: ${{ runner.temp }}/results + upload-database: false + - name: Check CodeQL is installed within the toolcache + uses: actions/github-script@v7 + with: + script: | + const toolcache = require('@actions/tool-cache'); + const allCodeqlVersions = toolcache.findAllVersions('CodeQL'); + console.log(`Found CodeQL versions: ${allCodeqlVersions}`); + if (allCodeqlVersions.length === 0) { + throw new Error('CodeQL not found in toolcache'); + } + if (allCodeqlVersions.length > 1) { + throw new Error('Multiple CodeQL versions found in toolcache'); + } + env: + CODEQL_ACTION_EXTRACT_TOOLCACHE: true + CODEQL_ACTION_TEST_MODE: true diff --git a/CHANGELOG.md b/CHANGELOG.md index de9a2316e5..129707222b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ Note that the only difference between `v2` and `v3` of the CodeQL Action is the ## [UNRELEASED] -No user facing changes. +- We are rolling out a change in December 2024 that will extract the CodeQL bundle directly to the toolcache to improve performance. [#2631](https://github.com/github/codeql-action/pull/2631) ## 3.27.6 - 03 Dec 2024 diff --git a/lib/codeql.js b/lib/codeql.js index fb1d53d845..c9d661d28b 100644 --- a/lib/codeql.js +++ b/lib/codeql.js @@ -146,7 +146,7 @@ async function setupCodeQL(toolsInput, apiDetails, tempDir, variant, defaultCliV }; } catch (e) { - throw new Error(`Unable to download and extract CodeQL CLI: ${(0, util_1.getErrorMessage)(e)}`); + throw new Error(`Unable to download and extract CodeQL CLI: ${(0, util_1.getErrorMessage)(e)}${e instanceof Error && e.stack ? `\n\nDetails: ${e.stack}` : ""}`); } } /** diff --git a/lib/codeql.js.map b/lib/codeql.js.map index 921a70bc6d..1bbc4a8d7a 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":"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"} \ No newline at end of file diff --git a/lib/codeql.test.js b/lib/codeql.test.js index 184cb38e08..900e68fde4 100644 --- a/lib/codeql.test.js +++ b/lib/codeql.test.js @@ -51,7 +51,6 @@ const cli_errors_1 = require("./cli-errors"); const codeql = __importStar(require("./codeql")); const defaults = __importStar(require("./defaults.json")); const doc_url_1 = require("./doc-url"); -const feature_flags_test_1 = require("./feature-flags.test"); const languages_1 = require("./languages"); const logging_1 = require("./logging"); const setup_codeql_1 = require("./setup-codeql"); @@ -61,12 +60,7 @@ const util = __importStar(require("./util")); const util_1 = require("./util"); (0, testing_utils_1.setupTests)(ava_1.default); let stubConfig; -// TODO: Remove when when we no longer need to pass in features (https://github.com/github/codeql-action/issues/2600) -const expectedFeatureEnablement = (0, feature_flags_test_1.initializeFeatures)(true); -expectedFeatureEnablement.getValue = function (feature) { - // eslint-disable-next-line @typescript-eslint/no-unsafe-return - return expectedFeatureEnablement[feature]; -}; +const NO_FEATURES = (0, testing_utils_1.createFeatures)([]); ava_1.default.beforeEach(() => { (0, util_1.initializeEnvironment)("1.2.3"); stubConfig = (0, testing_utils_1.createTestConfig)({ @@ -77,7 +71,7 @@ async function installIntoToolcache({ apiDetails = testing_utils_1.SAMPLE_DOTCOM const url = (0, testing_utils_1.mockBundleDownloadApi)({ apiDetails, isPinned, tagName }); await codeql.setupCodeQL(cliVersion !== undefined ? undefined : url, apiDetails, tmpDir, util.GitHubVariant.GHES, cliVersion !== undefined ? { cliVersion, tagName } - : testing_utils_1.SAMPLE_DEFAULT_CLI_VERSION, (0, logging_1.getRunnerLogger)(true), expectedFeatureEnablement, false); + : testing_utils_1.SAMPLE_DEFAULT_CLI_VERSION, (0, logging_1.getRunnerLogger)(true), NO_FEATURES, false); } function mockReleaseApi({ apiDetails = testing_utils_1.SAMPLE_DOTCOM_API_DETAILS, assetNames, tagName, }) { return (0, nock_1.default)(apiDetails.apiURL) @@ -98,11 +92,8 @@ function mockApiDetails(apiDetails) { .stub(actionsUtil, "getRequiredInput") .withArgs("token") .returns(apiDetails.auth); - const requiredEnvParamStub = sinon.stub(util, "getRequiredEnvParam"); - requiredEnvParamStub.withArgs("GITHUB_SERVER_URL").returns(apiDetails.url); - requiredEnvParamStub - .withArgs("GITHUB_API_URL") - .returns(apiDetails.apiURL || ""); + process.env["GITHUB_SERVER_URL"] = apiDetails.url; + process.env["GITHUB_API_URL"] = apiDetails.apiURL || ""; } (0, ava_1.default)("downloads and caches explicitly requested bundles that aren't in the toolcache", async (t) => { await util.withTmpDir(async (tmpDir) => { @@ -114,7 +105,7 @@ function mockApiDetails(apiDetails) { tagName: `codeql-bundle-${version}`, isPinned: false, }); - const result = await codeql.setupCodeQL(url, testing_utils_1.SAMPLE_DOTCOM_API_DETAILS, tmpDir, util.GitHubVariant.DOTCOM, testing_utils_1.SAMPLE_DEFAULT_CLI_VERSION, (0, logging_1.getRunnerLogger)(true), expectedFeatureEnablement, false); + const result = await codeql.setupCodeQL(url, testing_utils_1.SAMPLE_DOTCOM_API_DETAILS, tmpDir, util.GitHubVariant.DOTCOM, testing_utils_1.SAMPLE_DEFAULT_CLI_VERSION, (0, logging_1.getRunnerLogger)(true), NO_FEATURES, false); t.assert(toolcache.find("CodeQL", `0.0.0-${version}`)); t.is(result.toolsVersion, `0.0.0-${version}`); t.is(result.toolsSource, setup_codeql_1.ToolsSource.Download); @@ -129,7 +120,7 @@ function mockApiDetails(apiDetails) { tagName: `codeql-bundle-v2.15.0`, isPinned: false, }); - const result = await codeql.setupCodeQL(url, testing_utils_1.SAMPLE_DOTCOM_API_DETAILS, tmpDir, util.GitHubVariant.DOTCOM, testing_utils_1.SAMPLE_DEFAULT_CLI_VERSION, (0, logging_1.getRunnerLogger)(true), expectedFeatureEnablement, false); + const result = await codeql.setupCodeQL(url, testing_utils_1.SAMPLE_DOTCOM_API_DETAILS, tmpDir, util.GitHubVariant.DOTCOM, testing_utils_1.SAMPLE_DEFAULT_CLI_VERSION, (0, logging_1.getRunnerLogger)(true), NO_FEATURES, false); t.is(toolcache.findAllVersions("CodeQL").length, 1); t.assert(toolcache.find("CodeQL", `2.15.0`)); t.is(result.toolsVersion, `2.15.0`); @@ -150,7 +141,7 @@ function mockApiDetails(apiDetails) { const url = (0, testing_utils_1.mockBundleDownloadApi)({ tagName: "codeql-bundle-20200610", }); - const result = await codeql.setupCodeQL(url, testing_utils_1.SAMPLE_DOTCOM_API_DETAILS, tmpDir, util.GitHubVariant.DOTCOM, testing_utils_1.SAMPLE_DEFAULT_CLI_VERSION, (0, logging_1.getRunnerLogger)(true), expectedFeatureEnablement, false); + const result = await codeql.setupCodeQL(url, testing_utils_1.SAMPLE_DOTCOM_API_DETAILS, tmpDir, util.GitHubVariant.DOTCOM, testing_utils_1.SAMPLE_DEFAULT_CLI_VERSION, (0, logging_1.getRunnerLogger)(true), NO_FEATURES, false); t.assert(toolcache.find("CodeQL", "0.0.0-20200610")); t.deepEqual(result.toolsVersion, "0.0.0-20200610"); t.is(result.toolsSource, setup_codeql_1.ToolsSource.Download); @@ -178,7 +169,7 @@ for (const { tagName, expectedToolcacheVersion, } of EXPLICITLY_REQUESTED_BUNDLE const url = (0, testing_utils_1.mockBundleDownloadApi)({ tagName, }); - const result = await codeql.setupCodeQL(url, testing_utils_1.SAMPLE_DOTCOM_API_DETAILS, tmpDir, util.GitHubVariant.DOTCOM, testing_utils_1.SAMPLE_DEFAULT_CLI_VERSION, (0, logging_1.getRunnerLogger)(true), expectedFeatureEnablement, false); + const result = await codeql.setupCodeQL(url, testing_utils_1.SAMPLE_DOTCOM_API_DETAILS, tmpDir, util.GitHubVariant.DOTCOM, testing_utils_1.SAMPLE_DEFAULT_CLI_VERSION, (0, logging_1.getRunnerLogger)(true), NO_FEATURES, false); t.assert(toolcache.find("CodeQL", expectedToolcacheVersion)); t.deepEqual(result.toolsVersion, expectedToolcacheVersion); t.is(result.toolsSource, setup_codeql_1.ToolsSource.Download); @@ -201,7 +192,7 @@ for (const toolcacheVersion of [ .withArgs("CodeQL", toolcacheVersion) .returns("path/to/cached/codeql"); sinon.stub(toolcache, "findAllVersions").returns([toolcacheVersion]); - const result = await codeql.setupCodeQL(undefined, testing_utils_1.SAMPLE_DOTCOM_API_DETAILS, tmpDir, util.GitHubVariant.DOTCOM, testing_utils_1.SAMPLE_DEFAULT_CLI_VERSION, (0, logging_1.getRunnerLogger)(true), expectedFeatureEnablement, false); + const result = await codeql.setupCodeQL(undefined, testing_utils_1.SAMPLE_DOTCOM_API_DETAILS, tmpDir, util.GitHubVariant.DOTCOM, testing_utils_1.SAMPLE_DEFAULT_CLI_VERSION, (0, logging_1.getRunnerLogger)(true), NO_FEATURES, false); t.is(result.toolsVersion, testing_utils_1.SAMPLE_DEFAULT_CLI_VERSION.cliVersion); t.is(result.toolsSource, setup_codeql_1.ToolsSource.Toolcache); t.is(result.toolsDownloadStatusReport?.combinedDurationMs, undefined); @@ -221,7 +212,7 @@ for (const toolcacheVersion of [ const result = await codeql.setupCodeQL(undefined, testing_utils_1.SAMPLE_DOTCOM_API_DETAILS, tmpDir, util.GitHubVariant.GHES, { cliVersion: defaults.cliVersion, tagName: defaults.bundleVersion, - }, (0, logging_1.getRunnerLogger)(true), expectedFeatureEnablement, false); + }, (0, logging_1.getRunnerLogger)(true), NO_FEATURES, false); t.deepEqual(result.toolsVersion, "0.0.0-20200601"); t.is(result.toolsSource, setup_codeql_1.ToolsSource.Toolcache); t.is(result.toolsDownloadStatusReport?.combinedDurationMs, undefined); @@ -245,7 +236,7 @@ for (const toolcacheVersion of [ const result = await codeql.setupCodeQL(undefined, testing_utils_1.SAMPLE_DOTCOM_API_DETAILS, tmpDir, util.GitHubVariant.GHES, { cliVersion: defaults.cliVersion, tagName: defaults.bundleVersion, - }, (0, logging_1.getRunnerLogger)(true), expectedFeatureEnablement, false); + }, (0, logging_1.getRunnerLogger)(true), NO_FEATURES, false); t.deepEqual(result.toolsVersion, defaults.cliVersion); t.is(result.toolsSource, setup_codeql_1.ToolsSource.Download); if (result.toolsDownloadStatusReport) { @@ -266,7 +257,7 @@ for (const toolcacheVersion of [ (0, testing_utils_1.mockBundleDownloadApi)({ tagName: defaults.bundleVersion, }); - const result = await codeql.setupCodeQL("latest", testing_utils_1.SAMPLE_DOTCOM_API_DETAILS, tmpDir, util.GitHubVariant.DOTCOM, testing_utils_1.SAMPLE_DEFAULT_CLI_VERSION, (0, logging_1.getRunnerLogger)(true), expectedFeatureEnablement, false); + const result = await codeql.setupCodeQL("latest", testing_utils_1.SAMPLE_DOTCOM_API_DETAILS, tmpDir, util.GitHubVariant.DOTCOM, testing_utils_1.SAMPLE_DEFAULT_CLI_VERSION, (0, logging_1.getRunnerLogger)(true), NO_FEATURES, false); t.deepEqual(result.toolsVersion, defaults.cliVersion); t.is(result.toolsSource, setup_codeql_1.ToolsSource.Download); if (result.toolsDownloadStatusReport) { @@ -290,7 +281,7 @@ for (const toolcacheVersion of [ platformSpecific: false, tagName: "codeql-bundle-20230203", }); - const result = await codeql.setupCodeQL("https://github.com/codeql-testing/codeql-cli-nightlies/releases/download/codeql-bundle-20230203/codeql-bundle.tar.gz", testing_utils_1.SAMPLE_DOTCOM_API_DETAILS, tmpDir, util.GitHubVariant.DOTCOM, testing_utils_1.SAMPLE_DEFAULT_CLI_VERSION, (0, logging_1.getRunnerLogger)(true), expectedFeatureEnablement, false); + const result = await codeql.setupCodeQL("https://github.com/codeql-testing/codeql-cli-nightlies/releases/download/codeql-bundle-20230203/codeql-bundle.tar.gz", testing_utils_1.SAMPLE_DOTCOM_API_DETAILS, tmpDir, util.GitHubVariant.DOTCOM, testing_utils_1.SAMPLE_DEFAULT_CLI_VERSION, (0, logging_1.getRunnerLogger)(true), NO_FEATURES, false); t.is(result.toolsVersion, "0.0.0-20230203"); t.is(result.toolsSource, setup_codeql_1.ToolsSource.Download); if (result.toolsDownloadStatusReport) { diff --git a/lib/codeql.test.js.map b/lib/codeql.test.js.map index c376e05941..fd8c2fef76 100644 --- a/lib/codeql.test.js.map +++ b/lib/codeql.test.js.map @@ -1 +1 @@ -{"version":3,"file":"codeql.test.js","sourceRoot":"","sources":["../src/codeql.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"codeql.test.js","sourceRoot":"","sources":["../src/codeql.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/feature-flags.js b/lib/feature-flags.js index d5d8cf366f..4e67001231 100644 --- a/lib/feature-flags.js +++ b/lib/feature-flags.js @@ -71,6 +71,7 @@ var Feature; Feature["DisableJavaBuildlessEnabled"] = "disable_java_buildless_enabled"; Feature["DisableKotlinAnalysisEnabled"] = "disable_kotlin_analysis_enabled"; Feature["ExportDiagnosticsEnabled"] = "export_diagnostics_enabled"; + Feature["ExtractToToolcache"] = "extract_to_toolcache"; Feature["PythonDefaultIsToNotExtractStdlib"] = "python_default_is_to_not_extract_stdlib"; Feature["QaTelemetryEnabled"] = "qa_telemetry_enabled"; Feature["ZstdBundleStreamingExtraction"] = "zstd_bundle_streaming_extraction"; @@ -131,6 +132,11 @@ exports.featureConfig = { legacyApi: true, minimumVersion: undefined, }, + [Feature.ExtractToToolcache]: { + defaultValue: false, + envVar: "CODEQL_ACTION_EXTRACT_TOOLCACHE", + minimumVersion: undefined, + }, [Feature.PythonDefaultIsToNotExtractStdlib]: { defaultValue: false, envVar: "CODEQL_ACTION_DISABLE_PYTHON_STANDARD_LIBRARY_EXTRACTION", diff --git a/lib/feature-flags.js.map b/lib/feature-flags.js.map index f0a4edf0ad..faa5d1a9c5 100644 --- a/lib/feature-flags.js.map +++ b/lib/feature-flags.js.map @@ -1 +1 @@ -{"version":3,"file":"feature-flags.js","sourceRoot":"","sources":["../src/feature-flags.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAE7B,+CAAiC;AAEjC,6CAA4C;AAE5C,0DAA4C;AAG5C,qDAAgD;AAChD,6CAA+B;AAE/B,MAAM,mCAAmC,GAAG,yBAAyB,CAAC;AACtE,MAAM,mCAAmC,GAAG,UAAU,CAAC;AAEvD;;;GAGG;AACU,QAAA,uCAAuC,GAAG,QAAQ,CAAC;AAEhE;;GAEG;AACU,QAAA,0BAA0B,GAAG,QAAQ,CAAC;AAgBnD;;;;;;;GAOG;AACH,IAAY,OAaX;AAbD,WAAY,OAAO;IACjB,oDAAyC,CAAA;IACzC,oDAAyC,CAAA;IACzC,mDAAwC,CAAA;IACxC,4EAAiE,CAAA;IACjE,wDAA6C,CAAA;IAC7C,8DAAmD,CAAA;IACnD,yEAA8D,CAAA;IAC9D,2EAAgE,CAAA;IAChE,kEAAuD,CAAA;IACvD,wFAA6E,CAAA;IAC7E,sDAA2C,CAAA;IAC3C,6EAAkE,CAAA;AACpE,CAAC,EAbW,OAAO,uBAAP,OAAO,QAalB;AAEY,QAAA,aAAa,GA8BtB;IACF,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;QAC3B,YAAY,EAAE,IAAI;QAClB,MAAM,EAAE,mCAAmC;QAC3C,cAAc,EAAE,SAAS;KAC1B;IACD,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;QAC3B,YAAY,EAAE,KAAK;QACnB,MAAM,EAAE,mCAAmC;QAC3C,cAAc,EAAE,SAAS;KAC1B;IACD,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;QAC1B,YAAY,EAAE,KAAK;QACnB,MAAM,EAAE,sCAAsC;QAC9C,cAAc,EAAE,SAAS;KAC1B;IACD,CAAC,OAAO,CAAC,6BAA6B,CAAC,EAAE;QACvC,YAAY,EAAE,KAAK;QACnB,MAAM,EAAE,gDAAgD;QACxD,cAAc,EAAE,SAAS;KAC1B;IACD,CAAC,OAAO,CAAC,yBAAyB,CAAC,EAAE;QACnC,YAAY,EAAE,KAAK;QACnB,MAAM,EAAE,+CAA+C;QACvD,SAAS,EAAE,IAAI;QACf,cAAc,EAAE,QAAQ;KACzB;IACD,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE;QAC7B,YAAY,EAAE,KAAK;QACnB,MAAM,EAAE,qCAAqC;QAC7C,cAAc,EAAE,SAAS;QACzB,YAAY,EAAE,6BAAY,CAAC,gDAAgD;KAC5E;IACD,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAAE;QAChC,YAAY,EAAE,KAAK;QACnB,MAAM,EAAE,wCAAwC;QAChD,cAAc,EAAE,SAAS;KAC1B;IACD,CAAC,OAAO,CAAC,2BAA2B,CAAC,EAAE;QACrC,YAAY,EAAE,KAAK;QACnB,MAAM,EAAE,sCAAsC;QAC9C,SAAS,EAAE,IAAI;QACf,cAAc,EAAE,SAAS;KAC1B;IACD,CAAC,OAAO,CAAC,4BAA4B,CAAC,EAAE;QACtC,YAAY,EAAE,KAAK;QACnB,MAAM,EAAE,gCAAgC;QACxC,SAAS,EAAE,IAAI;QACf,cAAc,EAAE,SAAS;KAC1B;IACD,CAAC,OAAO,CAAC,wBAAwB,CAAC,EAAE;QAClC,YAAY,EAAE,IAAI;QAClB,MAAM,EAAE,kCAAkC;QAC1C,SAAS,EAAE,IAAI;QACf,cAAc,EAAE,SAAS;KAC1B;IACD,CAAC,OAAO,CAAC,iCAAiC,CAAC,EAAE;QAC3C,YAAY,EAAE,KAAK;QACnB,MAAM,EAAE,0DAA0D;QAClE,cAAc,EAAE,SAAS;QACzB,YAAY,EAAE,6BAAY,CAAC,iCAAiC;KAC7D;IACD,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE;QAC5B,YAAY,EAAE,KAAK;QACnB,MAAM,EAAE,4BAA4B;QACpC,SAAS,EAAE,IAAI;QACf,cAAc,EAAE,SAAS;KAC1B;CACF,CAAC;AAUW,QAAA,uBAAuB,GAAG,2BAA2B,CAAC;AAEnE;;;;GAIG;AACH,MAAa,QAAQ;IAGnB,YACE,aAAiC,EACjC,aAA4B,EAC5B,OAAe,EACE,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QAE/B,IAAI,CAAC,kBAAkB,GAAG,IAAI,kBAAkB,CAC9C,aAAa,EACb,aAAa,EACb,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,+BAAuB,CAAC,EAC3C,MAAM,CACP,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,OAA2B;QAE3B,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACrE,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAgB,EAAE,MAAe;QAC9C,IAAI,CAAC,MAAM,IAAI,qBAAa,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CACb,8DAA8D,OAAO,2CAA2C,CACjH,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,MAAM,IAAI,qBAAa,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CACb,qEAAqE,OAAO,2CAA2C,CACxH,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,CACb,OAAO,CAAC,GAAG,CAAC,qBAAa,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CACjD,CAAC,iBAAiB,EAAE,CAAC;QAEtB,sFAAsF;QACtF,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,WAAW,OAAO,6CAA6C,qBAAa,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAChG,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,yEAAyE;QACzE,MAAM,cAAc,GAAG,qBAAa,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC;QAC7D,IAAI,MAAM,IAAI,cAAc,EAAE,CAAC;YAC7B,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;gBAC/D,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,WAAW,OAAO,wEAAwE;oBACxF,WAAW,cAAc,GAAG,CAC/B,CAAC;gBACF,OAAO,KAAK,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,sBACE,CAAC,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,OAC9B,6BAA6B;oBAC3B,WAAW,cAAc,gBAAgB,OAAO,GAAG,CACtD,CAAC;YACJ,CAAC;QACH,CAAC;QACD,MAAM,YAAY,GAAG,qBAAa,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC;QACzD,IAAI,MAAM,IAAI,YAAY,EAAE,CAAC;YAC3B,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;gBAClD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,WAAW,OAAO,mEAAmE;oBACnF,0BAA0B,YAAY,GAAG,CAC5C,CAAC;gBACF,OAAO,KAAK,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,sBACE,CAAC,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,OAC9B,wCAAwC,YAAY,gBAAgB,OAAO,GAAG,CAC/E,CAAC;YACJ,CAAC;QACH,CAAC;QAED,8EAA8E;QAC9E,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,WAAW,OAAO,4CAA4C,qBAAa,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAC/F,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,gDAAgD;QAChD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACjE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,WAAW,OAAO,OAChB,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UACzB,sBAAsB,CACvB,CAAC;YACF,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,YAAY,GAAG,qBAAa,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC;QACzD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,WAAW,OAAO,OAChB,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAC7B,4BAA4B,CAC7B,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;CACF;AAzHD,4BAyHC;AAED,MAAM,kBAAkB;IAOtB,YACmB,aAAiC,EACjC,aAA4B,EAC5B,gBAAwB,EACxB,MAAc;QAHd,kBAAa,GAAb,aAAa,CAAoB;QACjC,kBAAa,GAAb,aAAa,CAAe;QAC5B,qBAAgB,GAAhB,gBAAgB,CAAQ;QACxB,WAAM,GAAN,MAAM,CAAQ;QAE/B,IAAI,CAAC,6BAA6B,GAAG,KAAK,CAAC,CAAC,2BAA2B;IACzE,CAAC;IAEO,4BAA4B,CAAC,CAAS;QAC5C,IACE,CAAC,CAAC,CAAC,UAAU,CAAC,mCAAmC,CAAC;YAClD,CAAC,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC,EAChD,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,OAAO,GAAG,CAAC;aACd,SAAS,CACR,mCAAmC,CAAC,MAAM,EAC1C,CAAC,CAAC,MAAM,GAAG,mCAAmC,CAAC,MAAM,CACtD;aACA,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAEtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,OAAO,CACjB,yBAAyB,CAAC,iDAAiD,CAC5E,CAAC;YACF,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,OAA2B;QAE3B,IAAI,OAAO,KAAK,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YAC1C,OAAO,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACjD,CAAC;QACD,OAAO;YACL,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,OAAO,EAAE,QAAQ,CAAC,aAAa;SAChC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,0BAA0B;QAC9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE7C,MAAM,6BAA6B,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;aAC3D,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,EAAE,CACtB,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAC7D;aACA,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;QAE/C,IAAI,6BAA6B,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/C,6FAA6F;YAC7F,6FAA6F;YAC7F,2FAA2F;YAC3F,2DAA2D;YAC3D,EAAE;YACF,4FAA4F;YAC5F,2FAA2F;YAC3F,4FAA4F;YAC5F,uFAAuF;YACvF,8FAA8F;YAC9F,IAAI,CAAC,MAAM,CAAC,OAAO,CACjB,sFAAsF;gBACpF,oCAAoC,QAAQ,CAAC,UAAU,GAAG,CAC7D,CAAC;YACF,MAAM,MAAM,GAA6B;gBACvC,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,OAAO,EAAE,QAAQ,CAAC,aAAa;aAChC,CAAC;YACF,IAAI,IAAI,CAAC,6BAA6B,EAAE,CAAC;gBACvC,MAAM,CAAC,sBAAsB,GAAG,KAAK,CAAC;YACxC,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,aAAa,GAAG,6BAA6B,CAAC,MAAM,CACxD,CAAC,UAAU,EAAE,cAAc,EAAE,EAAE,CAC7B,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,EAC3D,6BAA6B,CAAC,CAAC,CAAC,CACjC,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,kCAAkC,aAAa,sBAAsB,CACtE,CAAC;QACF,OAAO;YACL,UAAU,EAAE,aAAa;YACzB,OAAO,EAAE,kBAAkB,aAAa,EAAE;YAC1C,sBAAsB,EAAE,IAAI;SAC7B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAgB;QAC7B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC7C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,OAAO,GAAG,CAAC,CAAC;YACnE,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,OAAO,8BAA8B,CAAC,CAAC;YACrE,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,CAAC,CAAC,QAAQ,CAAC;IACpB,CAAC;IAEO,KAAK,CAAC,cAAc;QAC1B,0CAA0C;QAC1C,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC,iBAAiB,CAAC;QAChC,CAAC;QAED,wEAAwE;QACxE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC9C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;YACnC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,wCAAwC;QACxC,IAAI,WAAW,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC/C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,WAAW,GAAG,EAAE,CAAC;QACnB,CAAC;QAED,+BAA+B;QAC/B,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC;QAErC,+DAA+D;QAC/D,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QAExC,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,KAAK,CAAC,cAAc;QAG1B,IAAI,CAAC;YACH,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACzC,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,8BAA8B,IAAI,CAAC,gBAAgB,EAAE,CACtD,CAAC;gBACF,OAAO,IAAI,CAAC,KAAK,CACf,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,CACd,CAAC;YACrC,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,OAAO,CACjB,2CAA2C,IAAI,CAAC,gBAAgB,KAAK,CAAC,mCAAmC,CAC1G,CAAC;QACJ,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,eAAe,CAC3B,KAAoC;QAEpC,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;YACvE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACjE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,OAAO,CACjB,2CAA2C,IAAI,CAAC,gBAAgB,KAAK,CAAC,GAAG,CAC1E,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,eAAe;QAC3B,iDAAiD;QACjD,IACE,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,IAAI,CAAC,aAAa,CAAC,MAAM;YACrD,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,IAAI,CAAC,aAAa,CAAC,UAAU,EACzD,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,oEAAoE,CACrE,CAAC;YACF,IAAI,CAAC,6BAA6B,GAAG,KAAK,CAAC;YAC3C,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,IAAI,CAAC;YACH,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,qBAAa,CAAC;iBACpD,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;iBACzC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;iBACf,IAAI,CAAC,GAAG,CAAC,CAAC;YAEb,MAAM,QAAQ,GAAG,MAAM,IAAA,yBAAY,GAAE,CAAC,OAAO,CAC3C,8DAA8D,EAC9D;gBACE,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK;gBAC/B,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI;gBAC7B,QAAQ,EAAE,iBAAiB;aAC5B,CACF,CAAC;YACF,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAqC,CAAC;YACnE,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,uFAAuF,CACxF,CAAC;YACF,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAC7D,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CACjD,EAAE,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,OAAO,KAAK,KAAK,EAAE,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC;YAC1C,OAAO,WAAW,CAAC;QACrB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5C,IAAI,CAAC,MAAM,CAAC,OAAO,CACjB,gGAAgG;oBAC9F,oEAAoE;oBACpE,qFAAqF;oBACrF,kFAAkF,CAAC,CAAC,OAAO,EAAE,CAChG,CAAC;gBACF,IAAI,CAAC,6BAA6B,GAAG,KAAK,CAAC;gBAC3C,OAAO,EAAE,CAAC;YACZ,CAAC;iBAAM,CAAC;gBACN,kFAAkF;gBAClF,8EAA8E;gBAC9E,2FAA2F;gBAC3F,eAAe;gBACf,MAAM,IAAI,KAAK,CACb,sEAAsE,CAAC,EAAE,CAC1E,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;CACF"} \ No newline at end of file +{"version":3,"file":"feature-flags.js","sourceRoot":"","sources":["../src/feature-flags.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/setup-codeql.js b/lib/setup-codeql.js index 59543ac724..ab8b01b181 100644 --- a/lib/setup-codeql.js +++ b/lib/setup-codeql.js @@ -51,6 +51,7 @@ const perf_hooks_1 = require("perf_hooks"); const toolcache = __importStar(require("@actions/tool-cache")); const fast_deep_equal_1 = __importDefault(require("fast-deep-equal")); const semver = __importStar(require("semver")); +const uuid_1 = require("uuid"); const actions_util_1 = require("./actions-util"); const api = __importStar(require("./api-client")); const defaults = __importStar(require("./defaults.json")); @@ -411,9 +412,13 @@ const downloadCodeQL = async function (codeqlURL, maybeBundleVersion, maybeCliVe else { logger.debug("Downloading CodeQL tools without an authorization token."); } - const { extractedBundlePath, statusReport } = await (0, tools_download_1.downloadAndExtract)(codeqlURL, authorization, { "User-Agent": "CodeQL Action", ...headers }, tarVersion, tempDir, features, logger); - const bundleVersion = maybeBundleVersion ?? tryGetBundleVersionFromUrl(codeqlURL, logger); - if (bundleVersion === undefined) { + const toolcacheInfo = getToolcacheDestinationInfo(maybeBundleVersion, maybeCliVersion, logger); + const extractToToolcache = !!toolcacheInfo && !!(await features.getValue(feature_flags_1.Feature.ExtractToToolcache)); + const extractedBundlePath = extractToToolcache + ? toolcacheInfo.path + : getTempExtractionDir(tempDir); + let statusReport = await (0, tools_download_1.downloadAndExtract)(codeqlURL, extractedBundlePath, authorization, { "User-Agent": "CodeQL Action", ...headers }, tarVersion, features, logger); + if (!toolcacheInfo) { logger.debug("Could not cache CodeQL tools because we could not determine the bundle version from the " + `URL ${codeqlURL}.`); return { @@ -422,22 +427,42 @@ const downloadCodeQL = async function (codeqlURL, maybeBundleVersion, maybeCliVe toolsVersion: maybeCliVersion ?? "unknown", }; } - logger.debug("Caching CodeQL bundle."); - const toolcacheVersion = getCanonicalToolcacheVersion(maybeCliVersion, bundleVersion, logger); - const toolcacheStart = perf_hooks_1.performance.now(); - const toolcachedBundlePath = await toolcache.cacheDir(extractedBundlePath, "CodeQL", toolcacheVersion); - logger.info(`Added CodeQL bundle to the tool cache (${(0, logging_1.formatDuration)(perf_hooks_1.performance.now() - toolcacheStart)}).`); - // Defensive check: we expect `cacheDir` to copy the bundle to a new location. - if (toolcachedBundlePath !== extractedBundlePath) { - await (0, util_1.cleanUpGlob)(extractedBundlePath, "CodeQL bundle from temporary directory", logger); + let codeqlFolder = extractedBundlePath; + if (extractToToolcache) { + (0, tools_download_1.writeToolcacheMarkerFile)(toolcacheInfo.path, logger); + } + else { + logger.debug("Caching CodeQL bundle."); + const toolcacheStart = perf_hooks_1.performance.now(); + codeqlFolder = await toolcache.cacheDir(extractedBundlePath, "CodeQL", toolcacheInfo.version); + const cacheDurationMs = perf_hooks_1.performance.now() - toolcacheStart; + logger.info(`Added CodeQL bundle to the tool cache (${(0, logging_1.formatDuration)(cacheDurationMs)}).`); + statusReport = { + ...statusReport, + cacheDurationMs, + }; + // Defensive check: we expect `cacheDir` to copy the bundle to a new location. + if (codeqlFolder !== extractedBundlePath) { + await (0, util_1.cleanUpGlob)(extractedBundlePath, "CodeQL bundle from temporary directory", logger); + } } return { - codeqlFolder: toolcachedBundlePath, + codeqlFolder, statusReport, - toolsVersion: maybeCliVersion ?? toolcacheVersion, + toolsVersion: maybeCliVersion ?? toolcacheInfo.version, }; }; exports.downloadCodeQL = downloadCodeQL; +function getToolcacheDestinationInfo(maybeBundleVersion, maybeCliVersion, logger) { + if (maybeBundleVersion) { + const version = getCanonicalToolcacheVersion(maybeCliVersion, maybeBundleVersion, logger); + return { + path: (0, tools_download_1.getToolcacheDirectory)(version), + version, + }; + } + return undefined; +} function getCodeQLURLVersion(url) { const match = url.match(/\/codeql-bundle-(.*)\//); if (match === null || match.length < 2) { @@ -485,7 +510,7 @@ async function setupCodeQLBundle(toolsInput, apiDetails, tempDir, variant, featu switch (source.sourceType) { case "local": { const compressionMethod = tar.inferCompressionMethod(source.codeqlTarPath); - codeqlFolder = await tar.extract(source.codeqlTarPath, compressionMethod, zstdAvailability.version, logger); + codeqlFolder = await tar.extract(source.codeqlTarPath, getTempExtractionDir(tempDir), compressionMethod, zstdAvailability.version, logger); toolsSource = ToolsSource.Local; break; } @@ -520,4 +545,7 @@ async function useZstdBundle(cliVersion, tarSupportsZstd) { tarSupportsZstd && semver.gte(cliVersion, feature_flags_1.CODEQL_VERSION_ZSTD_BUNDLE)); } +function getTempExtractionDir(tempDir) { + return path.join(tempDir, (0, uuid_1.v4)()); +} //# sourceMappingURL=setup-codeql.js.map \ No newline at end of file diff --git a/lib/setup-codeql.js.map b/lib/setup-codeql.js.map index 0022f5018d..74142ec677 100644 --- a/lib/setup-codeql.js.map +++ b/lib/setup-codeql.js.map @@ -1 +1 @@ -{"version":3,"file":"setup-codeql.js","sourceRoot":"","sources":["../src/setup-codeql.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"setup-codeql.js","sourceRoot":"","sources":["../src/setup-codeql.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/tar.js b/lib/tar.js index de2041c8dc..891edf854c 100644 --- a/lib/tar.js +++ b/lib/tar.js @@ -32,9 +32,6 @@ var __importStar = (this && this.__importStar) || (function () { return result; }; })(); -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; Object.defineProperty(exports, "__esModule", { value: true }); exports.isZstdAvailable = isZstdAvailable; exports.extract = extract; @@ -42,12 +39,10 @@ exports.extractTarZst = extractTarZst; exports.inferCompressionMethod = inferCompressionMethod; const child_process_1 = require("child_process"); const fs = __importStar(require("fs")); -const path_1 = __importDefault(require("path")); const stream = __importStar(require("stream")); const toolrunner_1 = require("@actions/exec/lib/toolrunner"); const toolcache = __importStar(require("@actions/tool-cache")); const safe_which_1 = require("@chrisgavin/safe-which"); -const uuid_1 = require("uuid"); const actions_util_1 = require("./actions-util"); const util_1 = require("./util"); const MIN_REQUIRED_BSD_TAR_VERSION = "3.4.3"; @@ -113,28 +108,30 @@ async function isZstdAvailable(logger) { return { available: false, foundZstdBinary }; } } -async function extract(tarPath, compressionMethod, tarVersion, logger) { +async function extract(tarPath, dest, compressionMethod, tarVersion, logger) { + // Ensure destination exists + fs.mkdirSync(dest, { recursive: true }); switch (compressionMethod) { case "gzip": // Defensively continue to call the toolcache API as requesting a gzipped // bundle may be a fallback option. - return await toolcache.extractTar(tarPath); - case "zstd": + return await toolcache.extractTar(tarPath, dest); + case "zstd": { if (!tarVersion) { throw new Error("Could not determine tar version, which is required to extract a Zstandard archive."); } - return await extractTarZst(tarPath, tarVersion, logger); + await extractTarZst(tarPath, dest, tarVersion, logger); + return dest; + } } } /** * Extract a compressed tar archive * * @param tar tar stream, or path to the tar - * @param dest destination directory. Optional. - * @returns path to the destination directory + * @param dest destination directory */ -async function extractTarZst(tar, tarVersion, logger) { - const dest = await createExtractFolder(); +async function extractTarZst(tar, dest, tarVersion, logger) { logger.debug(`Extracting to ${dest}.${tar instanceof stream.Readable ? ` Input stream has high water mark ${tar.readableHighWaterMark}.` : ""}`); @@ -148,22 +145,27 @@ async function extractTarZst(tar, tarVersion, logger) { } args.push("-f", tar instanceof stream.Readable ? "-" : tar, "-C", dest); process.stdout.write(`[command]tar ${args.join(" ")}\n`); - const tarProcess = (0, child_process_1.spawn)("tar", args, { stdio: "pipe" }); - let stdout = ""; - tarProcess.stdout?.on("data", (data) => { - stdout += data.toString(); - process.stdout.write(data); - }); - let stderr = ""; - tarProcess.stderr?.on("data", (data) => { - stderr += data.toString(); - // Mimic the standard behavior of the toolrunner by writing stderr to stdout - process.stdout.write(data); - }); - if (tar instanceof stream.Readable) { - tar.pipe(tarProcess.stdin); - } await new Promise((resolve, reject) => { + const tarProcess = (0, child_process_1.spawn)("tar", args, { stdio: "pipe" }); + let stdout = ""; + tarProcess.stdout?.on("data", (data) => { + stdout += data.toString(); + process.stdout.write(data); + }); + let stderr = ""; + tarProcess.stderr?.on("data", (data) => { + stderr += data.toString(); + // Mimic the standard behavior of the toolrunner by writing stderr to stdout + process.stdout.write(data); + }); + tarProcess.on("error", (err) => { + reject(new Error(`Error while extracting tar: ${err}`)); + }); + if (tar instanceof stream.Readable) { + tar.pipe(tarProcess.stdin).on("error", (err) => { + reject(new Error(`Error while downloading and extracting tar: ${err}`)); + }); + } tarProcess.on("exit", (code) => { if (code !== 0) { reject(new actions_util_1.CommandInvocationError("tar", args, code ?? undefined, stdout, stderr)); @@ -171,18 +173,12 @@ async function extractTarZst(tar, tarVersion, logger) { resolve(); }); }); - return dest; } catch (e) { await (0, util_1.cleanUpGlob)(dest, "extraction destination directory", logger); throw e; } } -async function createExtractFolder() { - const dest = path_1.default.join((0, actions_util_1.getTemporaryDirectory)(), (0, uuid_1.v4)()); - fs.mkdirSync(dest, { recursive: true }); - return dest; -} function inferCompressionMethod(tarPath) { if (tarPath.endsWith(".tar.gz")) { return "gzip"; diff --git a/lib/tar.js.map b/lib/tar.js.map index e40be42886..ca057db591 100644 --- a/lib/tar.js.map +++ b/lib/tar.js.map @@ -1 +1 @@ -{"version":3,"file":"tar.js","sourceRoot":"","sources":["../src/tar.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"tar.js","sourceRoot":"","sources":["../src/tar.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/tools-download.js b/lib/tools-download.js index e14a934258..c48fbe1ddf 100644 --- a/lib/tools-download.js +++ b/lib/tools-download.js @@ -35,11 +35,15 @@ var __importStar = (this && this.__importStar) || (function () { Object.defineProperty(exports, "__esModule", { value: true }); exports.STREAMING_HIGH_WATERMARK_BYTES = void 0; exports.downloadAndExtract = downloadAndExtract; +exports.getToolcacheDirectory = getToolcacheDirectory; +exports.writeToolcacheMarkerFile = writeToolcacheMarkerFile; +const fs = __importStar(require("fs")); +const os = __importStar(require("os")); const path = __importStar(require("path")); const perf_hooks_1 = require("perf_hooks"); const toolcache = __importStar(require("@actions/tool-cache")); const follow_redirects_1 = require("follow-redirects"); -const uuid_1 = require("uuid"); +const semver = __importStar(require("semver")); const feature_flags_1 = require("./feature-flags"); const logging_1 = require("./logging"); const tar = __importStar(require("./tar")); @@ -48,6 +52,10 @@ const util_1 = require("./util"); * High watermark to use when streaming the download and extraction of the CodeQL tools. */ exports.STREAMING_HIGH_WATERMARK_BYTES = 4 * 1024 * 1024; // 4 MiB +/** + * The name of the tool cache directory for the CodeQL tools. + */ +const TOOLCACHE_TOOL_NAME = "CodeQL"; function makeDownloadFirstToolsDownloadDurations(downloadDurationMs, extractionDurationMs) { return { combinedDurationMs: downloadDurationMs + extractionDurationMs, @@ -64,7 +72,7 @@ function makeStreamedToolsDownloadDurations(combinedDurationMs) { streamExtraction: true, }; } -async function downloadAndExtract(codeqlURL, authorization, headers, tarVersion, tempDir, features, logger) { +async function downloadAndExtract(codeqlURL, dest, authorization, headers, tarVersion, features, logger) { logger.info(`Downloading CodeQL tools from ${codeqlURL} . This may take a while.`); const compressionMethod = tar.inferCompressionMethod(codeqlURL); // TODO: Re-enable streaming when we have a more reliable way to respect proxy settings. @@ -73,54 +81,59 @@ async function downloadAndExtract(codeqlURL, authorization, headers, tarVersion, process.platform === "linux") { logger.info(`Streaming the extraction of the CodeQL bundle.`); const toolsInstallStart = perf_hooks_1.performance.now(); - const extractedBundlePath = await downloadAndExtractZstdWithStreaming(codeqlURL, authorization, headers, tarVersion, logger); + await downloadAndExtractZstdWithStreaming(codeqlURL, dest, authorization, headers, tarVersion, logger); const combinedDurationMs = Math.round(perf_hooks_1.performance.now() - toolsInstallStart); - logger.info(`Finished downloading and extracting CodeQL bundle to ${extractedBundlePath} (${(0, logging_1.formatDuration)(combinedDurationMs)}).`); + logger.info(`Finished downloading and extracting CodeQL bundle to ${dest} (${(0, logging_1.formatDuration)(combinedDurationMs)}).`); return { - extractedBundlePath, - statusReport: { - compressionMethod, - toolsUrl: sanitizeUrlForStatusReport(codeqlURL), - ...makeStreamedToolsDownloadDurations(combinedDurationMs), - }, + compressionMethod, + toolsUrl: sanitizeUrlForStatusReport(codeqlURL), + ...makeStreamedToolsDownloadDurations(combinedDurationMs), }; } - const dest = path.join(tempDir, (0, uuid_1.v4)()); const toolsDownloadStart = perf_hooks_1.performance.now(); - const archivedBundlePath = await toolcache.downloadTool(codeqlURL, dest, authorization, headers); + const archivedBundlePath = await toolcache.downloadTool(codeqlURL, undefined, authorization, headers); const downloadDurationMs = Math.round(perf_hooks_1.performance.now() - toolsDownloadStart); logger.info(`Finished downloading CodeQL bundle to ${archivedBundlePath} (${(0, logging_1.formatDuration)(downloadDurationMs)}).`); - let extractedBundlePath; let extractionDurationMs; try { logger.info("Extracting CodeQL bundle."); const extractionStart = perf_hooks_1.performance.now(); - extractedBundlePath = await tar.extract(archivedBundlePath, compressionMethod, tarVersion, logger); + await tar.extract(archivedBundlePath, dest, compressionMethod, tarVersion, logger); extractionDurationMs = Math.round(perf_hooks_1.performance.now() - extractionStart); - logger.info(`Finished extracting CodeQL bundle to ${extractedBundlePath} (${(0, logging_1.formatDuration)(extractionDurationMs)}).`); + logger.info(`Finished extracting CodeQL bundle to ${dest} (${(0, logging_1.formatDuration)(extractionDurationMs)}).`); } finally { await (0, util_1.cleanUpGlob)(archivedBundlePath, "CodeQL bundle archive", logger); } return { - extractedBundlePath, - statusReport: { - compressionMethod, - toolsUrl: sanitizeUrlForStatusReport(codeqlURL), - ...makeDownloadFirstToolsDownloadDurations(downloadDurationMs, extractionDurationMs), - }, + compressionMethod, + toolsUrl: sanitizeUrlForStatusReport(codeqlURL), + ...makeDownloadFirstToolsDownloadDurations(downloadDurationMs, extractionDurationMs), }; } -async function downloadAndExtractZstdWithStreaming(codeqlURL, authorization, headers, tarVersion, logger) { +async function downloadAndExtractZstdWithStreaming(codeqlURL, dest, authorization, headers, tarVersion, logger) { + // Ensure destination exists + fs.mkdirSync(dest, { recursive: true }); + // Add User-Agent header and Authorization header if provided. headers = Object.assign({ "User-Agent": "CodeQL Action" }, authorization ? { authorization } : {}, headers); const response = await new Promise((resolve) => follow_redirects_1.https.get(codeqlURL, { headers, + // Increase the high water mark to improve performance. highWaterMark: exports.STREAMING_HIGH_WATERMARK_BYTES, }, (r) => resolve(r))); if (response.statusCode !== 200) { throw new Error(`Failed to download CodeQL bundle from ${codeqlURL}. HTTP status code: ${response.statusCode}.`); } - return await tar.extractTarZst(response, tarVersion, logger); + await tar.extractTarZst(response, dest, tarVersion, logger); +} +/** Gets the path to the toolcache directory for the specified version of the CodeQL tools. */ +function getToolcacheDirectory(version) { + return path.join((0, util_1.getRequiredEnvParam)("RUNNER_TOOL_CACHE"), TOOLCACHE_TOOL_NAME, semver.clean(version) || version, os.arch() || ""); +} +function writeToolcacheMarkerFile(extractedPath, logger) { + const markerFilePath = `${extractedPath}.complete`; + fs.writeFileSync(markerFilePath, ""); + logger.info(`Created toolcache marker file ${markerFilePath}`); } function sanitizeUrlForStatusReport(url) { return ["github/codeql-action", "dsp-testing/codeql-cli-nightlies"].some((repo) => url.startsWith(`https://github.com/${repo}/releases/download/`)) diff --git a/lib/tools-download.js.map b/lib/tools-download.js.map index cd5026d10f..922bfd722c 100644 --- a/lib/tools-download.js.map +++ b/lib/tools-download.js.map @@ -1 +1 @@ -{"version":3,"file":"tools-download.js","sourceRoot":"","sources":["../src/tools-download.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyEA,gDAyGC;AAjLD,2CAA6B;AAC7B,2CAAyC;AAEzC,+DAAiD;AACjD,uDAAyC;AACzC,+BAAoC;AAEpC,mDAA6D;AAC7D,uCAAmD;AACnD,2CAA6B;AAC7B,iCAAqC;AAErC;;GAEG;AACU,QAAA,8BAA8B,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,QAAQ;AAavE,SAAS,uCAAuC,CAC9C,kBAA0B,EAC1B,oBAA4B;IAE5B,OAAO;QACL,kBAAkB,EAAE,kBAAkB,GAAG,oBAAoB;QAC7D,kBAAkB;QAClB,oBAAoB;QACpB,gBAAgB,EAAE,KAAK;KACxB,CAAC;AACJ,CAAC;AAaD,SAAS,kCAAkC,CACzC,kBAA0B;IAE1B,OAAO;QACL,kBAAkB;QAClB,kBAAkB,EAAE,SAAS;QAC7B,oBAAoB,EAAE,SAAS;QAC/B,gBAAgB,EAAE,IAAI;KACvB,CAAC;AACJ,CAAC;AAYM,KAAK,UAAU,kBAAkB,CACtC,SAAiB,EACjB,aAAiC,EACjC,OAA4B,EAC5B,UAAsC,EACtC,OAAe,EACf,QAA2B,EAC3B,MAAc;IAKd,MAAM,CAAC,IAAI,CACT,iCAAiC,SAAS,2BAA2B,CACtE,CAAC;IAEF,MAAM,iBAAiB,GAAG,GAAG,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAEhE,wFAAwF;IAExF,IACE,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,uBAAO,CAAC,6BAA6B,CAAC,CAAC;QAChE,iBAAiB,KAAK,MAAM;QAC5B,OAAO,CAAC,QAAQ,KAAK,OAAO,EAC5B,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;QAE9D,MAAM,iBAAiB,GAAG,wBAAW,CAAC,GAAG,EAAE,CAAC;QAC5C,MAAM,mBAAmB,GAAG,MAAM,mCAAmC,CACnE,SAAS,EACT,aAAa,EACb,OAAO,EACP,UAAW,EACX,MAAM,CACP,CAAC;QAEF,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CACnC,wBAAW,CAAC,GAAG,EAAE,GAAG,iBAAiB,CACtC,CAAC;QACF,MAAM,CAAC,IAAI,CACT,wDAAwD,mBAAmB,KAAK,IAAA,wBAAc,EAC5F,kBAAkB,CACnB,IAAI,CACN,CAAC;QAEF,OAAO;YACL,mBAAmB;YACnB,YAAY,EAAE;gBACZ,iBAAiB;gBACjB,QAAQ,EAAE,0BAA0B,CAAC,SAAS,CAAC;gBAC/C,GAAG,kCAAkC,CAAC,kBAAkB,CAAC;aAC1D;SACF,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAA,SAAM,GAAE,CAAC,CAAC;IAE1C,MAAM,kBAAkB,GAAG,wBAAW,CAAC,GAAG,EAAE,CAAC;IAC7C,MAAM,kBAAkB,GAAG,MAAM,SAAS,CAAC,YAAY,CACrD,SAAS,EACT,IAAI,EACJ,aAAa,EACb,OAAO,CACR,CAAC;IACF,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAW,CAAC,GAAG,EAAE,GAAG,kBAAkB,CAAC,CAAC;IAE9E,MAAM,CAAC,IAAI,CACT,yCAAyC,kBAAkB,KAAK,IAAA,wBAAc,EAC5E,kBAAkB,CACnB,IAAI,CACN,CAAC;IAEF,IAAI,mBAA2B,CAAC;IAChC,IAAI,oBAA4B,CAAC;IAEjC,IAAI,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACzC,MAAM,eAAe,GAAG,wBAAW,CAAC,GAAG,EAAE,CAAC;QAC1C,mBAAmB,GAAG,MAAM,GAAG,CAAC,OAAO,CACrC,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,EACV,MAAM,CACP,CAAC;QACF,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAW,CAAC,GAAG,EAAE,GAAG,eAAe,CAAC,CAAC;QACvE,MAAM,CAAC,IAAI,CACT,wCAAwC,mBAAmB,KAAK,IAAA,wBAAc,EAC5E,oBAAoB,CACrB,IAAI,CACN,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,IAAA,kBAAW,EAAC,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,CAAC,CAAC;IACzE,CAAC;IAED,OAAO;QACL,mBAAmB;QACnB,YAAY,EAAE;YACZ,iBAAiB;YACjB,QAAQ,EAAE,0BAA0B,CAAC,SAAS,CAAC;YAC/C,GAAG,uCAAuC,CACxC,kBAAkB,EAClB,oBAAoB,CACrB;SACF;KACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,mCAAmC,CAChD,SAAiB,EACjB,aAAiC,EACjC,OAA4B,EAC5B,UAA0B,EAC1B,MAAc;IAEd,OAAO,GAAG,MAAM,CAAC,MAAM,CACrB,EAAE,YAAY,EAAE,eAAe,EAAE,EACjC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,EACtC,OAAO,CACR,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,IAAI,OAAO,CAAkB,CAAC,OAAO,EAAE,EAAE,CAC9D,wBAAK,CAAC,GAAG,CACP,SAAS,EACT;QACE,OAAO;QACP,aAAa,EAAE,sCAA8B;KACjB,EAC9B,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAClB,CACF,CAAC;IAEF,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACb,yCAAyC,SAAS,uBAAuB,QAAQ,CAAC,UAAU,GAAG,CAChG,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,GAAG,CAAC,aAAa,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,0BAA0B,CAAC,GAAW;IAC7C,OAAO,CAAC,sBAAsB,EAAE,kCAAkC,CAAC,CAAC,IAAI,CACtE,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,sBAAsB,IAAI,qBAAqB,CAAC,CAC1E;QACC,CAAC,CAAC,GAAG;QACL,CAAC,CAAC,iBAAiB,CAAC;AACxB,CAAC"} \ No newline at end of file +{"version":3,"file":"tools-download.js","sourceRoot":"","sources":["../src/tools-download.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/pr-checks/checks/extract-direct-to-toolcache.yml b/pr-checks/checks/extract-direct-to-toolcache.yml new file mode 100644 index 0000000000..ac199fb694 --- /dev/null +++ b/pr-checks/checks/extract-direct-to-toolcache.yml @@ -0,0 +1,53 @@ +name: "Extract directly to toolcache" +description: "Extract the CodeQL bundle directly into the toolcache" +versions: + - linked +operatingSystems: + - macos + - ubuntu + - windows +env: + CODEQL_ACTION_EXTRACT_TOOLCACHE: true +steps: + - name: Remove CodeQL from toolcache + uses: actions/github-script@v7 + with: + script: | + const fs = require('fs'); + const path = require('path'); + const codeqlPath = path.join(process.env['RUNNER_TOOL_CACHE'], 'CodeQL'); + fs.rmdirSync(codeqlPath, { recursive: true }); + - name: Install @actions/tool-cache + run: npm install @actions/tool-cache + - name: Check toolcache does not contain CodeQL + uses: actions/github-script@v7 + with: + script: | + const toolcache = require('@actions/tool-cache'); + const allCodeqlVersions = toolcache.findAllVersions('CodeQL'); + if (allCodeqlVersions.length !== 0) { + throw new Error(`CodeQL should not be found in the toolcache, but found ${allCodeqlVersions}`); + } + console.log('No versions of CodeQL found in the toolcache'); + - id: init + uses: ./../action/init + with: + languages: javascript + tools: ${{ steps.prepare-test.outputs.tools-url }} + - uses: ./../action/analyze + with: + output: ${{ runner.temp }}/results + upload-database: false + - name: Check CodeQL is installed within the toolcache + uses: actions/github-script@v7 + with: + script: | + const toolcache = require('@actions/tool-cache'); + const allCodeqlVersions = toolcache.findAllVersions('CodeQL'); + console.log(`Found CodeQL versions: ${allCodeqlVersions}`); + if (allCodeqlVersions.length === 0) { + throw new Error('CodeQL not found in toolcache'); + } + if (allCodeqlVersions.length > 1) { + throw new Error('Multiple CodeQL versions found in toolcache'); + } diff --git a/src/codeql.test.ts b/src/codeql.test.ts index 90563e08c2..90bd2d6cb4 100644 --- a/src/codeql.test.ts +++ b/src/codeql.test.ts @@ -17,8 +17,7 @@ import * as codeql from "./codeql"; import { AugmentationProperties, Config } from "./config-utils"; import * as defaults from "./defaults.json"; import { DocUrl } from "./doc-url"; -import { Feature, FeatureEnablement } from "./feature-flags"; -import { initializeFeatures } from "./feature-flags.test"; +import { FeatureEnablement } from "./feature-flags"; import { Language } from "./languages"; import { getRunnerLogger } from "./logging"; import { ToolsSource } from "./setup-codeql"; @@ -41,14 +40,7 @@ setupTests(test); let stubConfig: Config; -// TODO: Remove when when we no longer need to pass in features (https://github.com/github/codeql-action/issues/2600) -const expectedFeatureEnablement: FeatureEnablement = initializeFeatures( - true, -) as FeatureEnablement; -expectedFeatureEnablement.getValue = function (feature: Feature) { - // eslint-disable-next-line @typescript-eslint/no-unsafe-return - return expectedFeatureEnablement[feature]; -}; +const NO_FEATURES: FeatureEnablement = createFeatures([]); test.beforeEach(() => { initializeEnvironment("1.2.3"); @@ -81,7 +73,7 @@ async function installIntoToolcache({ ? { cliVersion, tagName } : SAMPLE_DEFAULT_CLI_VERSION, getRunnerLogger(true), - expectedFeatureEnablement, + NO_FEATURES, false, ); } @@ -114,11 +106,8 @@ function mockApiDetails(apiDetails: GitHubApiDetails) { .stub(actionsUtil, "getRequiredInput") .withArgs("token") .returns(apiDetails.auth); - const requiredEnvParamStub = sinon.stub(util, "getRequiredEnvParam"); - requiredEnvParamStub.withArgs("GITHUB_SERVER_URL").returns(apiDetails.url); - requiredEnvParamStub - .withArgs("GITHUB_API_URL") - .returns(apiDetails.apiURL || ""); + process.env["GITHUB_SERVER_URL"] = apiDetails.url; + process.env["GITHUB_API_URL"] = apiDetails.apiURL || ""; } test("downloads and caches explicitly requested bundles that aren't in the toolcache", async (t) => { @@ -141,7 +130,7 @@ test("downloads and caches explicitly requested bundles that aren't in the toolc util.GitHubVariant.DOTCOM, SAMPLE_DEFAULT_CLI_VERSION, getRunnerLogger(true), - expectedFeatureEnablement, + NO_FEATURES, false, ); @@ -168,7 +157,7 @@ test("caches semantically versioned bundles using their semantic version number" util.GitHubVariant.DOTCOM, SAMPLE_DEFAULT_CLI_VERSION, getRunnerLogger(true), - expectedFeatureEnablement, + NO_FEATURES, false, ); @@ -202,7 +191,7 @@ test("downloads an explicitly requested bundle even if a different version is ca util.GitHubVariant.DOTCOM, SAMPLE_DEFAULT_CLI_VERSION, getRunnerLogger(true), - expectedFeatureEnablement, + NO_FEATURES, false, ); t.assert(toolcache.find("CodeQL", "0.0.0-20200610")); @@ -247,7 +236,7 @@ for (const { util.GitHubVariant.DOTCOM, SAMPLE_DEFAULT_CLI_VERSION, getRunnerLogger(true), - expectedFeatureEnablement, + NO_FEATURES, false, ); t.assert(toolcache.find("CodeQL", expectedToolcacheVersion)); @@ -286,7 +275,7 @@ for (const toolcacheVersion of [ util.GitHubVariant.DOTCOM, SAMPLE_DEFAULT_CLI_VERSION, getRunnerLogger(true), - expectedFeatureEnablement, + NO_FEATURES, false, ); t.is(result.toolsVersion, SAMPLE_DEFAULT_CLI_VERSION.cliVersion); @@ -319,7 +308,7 @@ test(`uses a cached bundle when no tools input is given on GHES`, async (t) => { tagName: defaults.bundleVersion, }, getRunnerLogger(true), - expectedFeatureEnablement, + NO_FEATURES, false, ); t.deepEqual(result.toolsVersion, "0.0.0-20200601"); @@ -356,7 +345,7 @@ test(`downloads bundle if only an unpinned version is cached on GHES`, async (t) tagName: defaults.bundleVersion, }, getRunnerLogger(true), - expectedFeatureEnablement, + NO_FEATURES, false, ); t.deepEqual(result.toolsVersion, defaults.cliVersion); @@ -390,7 +379,7 @@ test('downloads bundle if "latest" tools specified but not cached', async (t) => util.GitHubVariant.DOTCOM, SAMPLE_DEFAULT_CLI_VERSION, getRunnerLogger(true), - expectedFeatureEnablement, + NO_FEATURES, false, ); t.deepEqual(result.toolsVersion, defaults.cliVersion); @@ -426,7 +415,7 @@ test("bundle URL from another repo is cached as 0.0.0-bundleVersion", async (t) util.GitHubVariant.DOTCOM, SAMPLE_DEFAULT_CLI_VERSION, getRunnerLogger(true), - expectedFeatureEnablement, + NO_FEATURES, false, ); diff --git a/src/codeql.ts b/src/codeql.ts index 1a20f1ccfb..61fdec615c 100644 --- a/src/codeql.ts +++ b/src/codeql.ts @@ -395,7 +395,9 @@ export async function setupCodeQL( }; } catch (e) { throw new Error( - `Unable to download and extract CodeQL CLI: ${getErrorMessage(e)}`, + `Unable to download and extract CodeQL CLI: ${getErrorMessage(e)}${ + e instanceof Error && e.stack ? `\n\nDetails: ${e.stack}` : "" + }`, ); } } diff --git a/src/feature-flags.ts b/src/feature-flags.ts index 618b5716d1..e1f22033f1 100644 --- a/src/feature-flags.ts +++ b/src/feature-flags.ts @@ -57,6 +57,7 @@ export enum Feature { DisableJavaBuildlessEnabled = "disable_java_buildless_enabled", DisableKotlinAnalysisEnabled = "disable_kotlin_analysis_enabled", ExportDiagnosticsEnabled = "export_diagnostics_enabled", + ExtractToToolcache = "extract_to_toolcache", PythonDefaultIsToNotExtractStdlib = "python_default_is_to_not_extract_stdlib", QaTelemetryEnabled = "qa_telemetry_enabled", ZstdBundleStreamingExtraction = "zstd_bundle_streaming_extraction", @@ -148,6 +149,11 @@ export const featureConfig: Record< legacyApi: true, minimumVersion: undefined, }, + [Feature.ExtractToToolcache]: { + defaultValue: false, + envVar: "CODEQL_ACTION_EXTRACT_TOOLCACHE", + minimumVersion: undefined, + }, [Feature.PythonDefaultIsToNotExtractStdlib]: { defaultValue: false, envVar: "CODEQL_ACTION_DISABLE_PYTHON_STANDARD_LIBRARY_EXTRACTION", diff --git a/src/setup-codeql.ts b/src/setup-codeql.ts index 3d6b88a2a5..15ca51d52a 100644 --- a/src/setup-codeql.ts +++ b/src/setup-codeql.ts @@ -6,6 +6,7 @@ import { performance } from "perf_hooks"; import * as toolcache from "@actions/tool-cache"; import { default as deepEqual } from "fast-deep-equal"; import * as semver from "semver"; +import { v4 as uuidV4 } from "uuid"; import { isRunningLocalAction } from "./actions-util"; import * as api from "./api-client"; @@ -13,13 +14,16 @@ import * as defaults from "./defaults.json"; import { CODEQL_VERSION_ZSTD_BUNDLE, CodeQLDefaultVersionInfo, + Feature, FeatureEnablement, } from "./feature-flags"; import { formatDuration, Logger } from "./logging"; import * as tar from "./tar"; import { downloadAndExtract, + getToolcacheDirectory, ToolsDownloadStatusReport, + writeToolcacheMarkerFile, } from "./tools-download"; import * as util from "./util"; import { cleanUpGlob, isGoodVersion } from "./util"; @@ -534,20 +538,29 @@ export const downloadCodeQL = async function ( logger.debug("Downloading CodeQL tools without an authorization token."); } - const { extractedBundlePath, statusReport } = await downloadAndExtract( + const toolcacheInfo = getToolcacheDestinationInfo( + maybeBundleVersion, + maybeCliVersion, + logger, + ); + const extractToToolcache = + !!toolcacheInfo && !!(await features.getValue(Feature.ExtractToToolcache)); + + const extractedBundlePath = extractToToolcache + ? toolcacheInfo.path + : getTempExtractionDir(tempDir); + + let statusReport = await downloadAndExtract( codeqlURL, + extractedBundlePath, authorization, { "User-Agent": "CodeQL Action", ...headers }, tarVersion, - tempDir, features, logger, ); - const bundleVersion = - maybeBundleVersion ?? tryGetBundleVersionFromUrl(codeqlURL, logger); - - if (bundleVersion === undefined) { + if (!toolcacheInfo) { logger.debug( "Could not cache CodeQL tools because we could not determine the bundle version from the " + `URL ${codeqlURL}.`, @@ -559,41 +572,68 @@ export const downloadCodeQL = async function ( }; } - logger.debug("Caching CodeQL bundle."); - const toolcacheVersion = getCanonicalToolcacheVersion( - maybeCliVersion, - bundleVersion, - logger, - ); - const toolcacheStart = performance.now(); - const toolcachedBundlePath = await toolcache.cacheDir( - extractedBundlePath, - "CodeQL", - toolcacheVersion, - ); - - logger.info( - `Added CodeQL bundle to the tool cache (${formatDuration( - performance.now() - toolcacheStart, - )}).`, - ); + let codeqlFolder = extractedBundlePath; - // Defensive check: we expect `cacheDir` to copy the bundle to a new location. - if (toolcachedBundlePath !== extractedBundlePath) { - await cleanUpGlob( + if (extractToToolcache) { + writeToolcacheMarkerFile(toolcacheInfo.path, logger); + } else { + logger.debug("Caching CodeQL bundle."); + const toolcacheStart = performance.now(); + codeqlFolder = await toolcache.cacheDir( extractedBundlePath, - "CodeQL bundle from temporary directory", - logger, + "CodeQL", + toolcacheInfo.version, ); + + const cacheDurationMs = performance.now() - toolcacheStart; + logger.info( + `Added CodeQL bundle to the tool cache (${formatDuration( + cacheDurationMs, + )}).`, + ); + statusReport = { + ...statusReport, + cacheDurationMs, + }; + + // Defensive check: we expect `cacheDir` to copy the bundle to a new location. + if (codeqlFolder !== extractedBundlePath) { + await cleanUpGlob( + extractedBundlePath, + "CodeQL bundle from temporary directory", + logger, + ); + } } return { - codeqlFolder: toolcachedBundlePath, + codeqlFolder, statusReport, - toolsVersion: maybeCliVersion ?? toolcacheVersion, + toolsVersion: maybeCliVersion ?? toolcacheInfo.version, }; }; +function getToolcacheDestinationInfo( + maybeBundleVersion: string | undefined, + maybeCliVersion: string | undefined, + logger: Logger, +): { path: string; version: string } | undefined { + if (maybeBundleVersion) { + const version = getCanonicalToolcacheVersion( + maybeCliVersion, + maybeBundleVersion, + logger, + ); + + return { + path: getToolcacheDirectory(version), + version, + }; + } + + return undefined; +} + export function getCodeQLURLVersion(url: string): string { const match = url.match(/\/codeql-bundle-(.*)\//); if (match === null || match.length < 2) { @@ -617,7 +657,7 @@ function getCanonicalToolcacheVersion( cliVersion: string | undefined, bundleVersion: string, logger: Logger, -) { +): string { // If the CLI version is a pre-release or contains build metadata, then cache the // bundle as `0.0.0-` to avoid the bundle being interpreted as containing a stable // CLI release. In principle, it should be enough to just check that the CLI version isn't a @@ -680,6 +720,7 @@ export async function setupCodeQLBundle( ); codeqlFolder = await tar.extract( source.codeqlTarPath, + getTempExtractionDir(tempDir), compressionMethod, zstdAvailability.version, logger, @@ -732,3 +773,7 @@ async function useZstdBundle( semver.gte(cliVersion, CODEQL_VERSION_ZSTD_BUNDLE) ); } + +function getTempExtractionDir(tempDir: string) { + return path.join(tempDir, uuidV4()); +} diff --git a/src/tar.ts b/src/tar.ts index 1e69786a3f..93bcab202c 100644 --- a/src/tar.ts +++ b/src/tar.ts @@ -1,14 +1,12 @@ import { spawn } from "child_process"; import * as fs from "fs"; -import path from "path"; import * as stream from "stream"; import { ToolRunner } from "@actions/exec/lib/toolrunner"; import * as toolcache from "@actions/tool-cache"; import { safeWhich } from "@chrisgavin/safe-which"; -import { v4 as uuidV4 } from "uuid"; -import { CommandInvocationError, getTemporaryDirectory } from "./actions-util"; +import { CommandInvocationError } from "./actions-util"; import { Logger } from "./logging"; import { assertNever, cleanUpGlob, isBinaryAccessible } from "./util"; @@ -96,22 +94,28 @@ export type CompressionMethod = "gzip" | "zstd"; export async function extract( tarPath: string, + dest: string, compressionMethod: CompressionMethod, tarVersion: TarVersion | undefined, logger: Logger, ): Promise { + // Ensure destination exists + fs.mkdirSync(dest, { recursive: true }); + switch (compressionMethod) { case "gzip": // Defensively continue to call the toolcache API as requesting a gzipped // bundle may be a fallback option. - return await toolcache.extractTar(tarPath); - case "zstd": + return await toolcache.extractTar(tarPath, dest); + case "zstd": { if (!tarVersion) { throw new Error( "Could not determine tar version, which is required to extract a Zstandard archive.", ); } - return await extractTarZst(tarPath, tarVersion, logger); + await extractTarZst(tarPath, dest, tarVersion, logger); + return dest; + } } } @@ -119,15 +123,14 @@ export async function extract( * Extract a compressed tar archive * * @param tar tar stream, or path to the tar - * @param dest destination directory. Optional. - * @returns path to the destination directory + * @param dest destination directory */ export async function extractTarZst( tar: stream.Readable | string, + dest: string, tarVersion: TarVersion, logger: Logger, -): Promise { - const dest = await createExtractFolder(); +): Promise { logger.debug( `Extracting to ${dest}.${ tar instanceof stream.Readable @@ -150,25 +153,34 @@ export async function extractTarZst( process.stdout.write(`[command]tar ${args.join(" ")}\n`); - const tarProcess = spawn("tar", args, { stdio: "pipe" }); - let stdout = ""; - tarProcess.stdout?.on("data", (data: Buffer) => { - stdout += data.toString(); - process.stdout.write(data); - }); + await new Promise((resolve, reject) => { + const tarProcess = spawn("tar", args, { stdio: "pipe" }); - let stderr = ""; - tarProcess.stderr?.on("data", (data: Buffer) => { - stderr += data.toString(); - // Mimic the standard behavior of the toolrunner by writing stderr to stdout - process.stdout.write(data); - }); + let stdout = ""; + tarProcess.stdout?.on("data", (data: Buffer) => { + stdout += data.toString(); + process.stdout.write(data); + }); - if (tar instanceof stream.Readable) { - tar.pipe(tarProcess.stdin); - } + let stderr = ""; + tarProcess.stderr?.on("data", (data: Buffer) => { + stderr += data.toString(); + // Mimic the standard behavior of the toolrunner by writing stderr to stdout + process.stdout.write(data); + }); + + tarProcess.on("error", (err) => { + reject(new Error(`Error while extracting tar: ${err}`)); + }); + + if (tar instanceof stream.Readable) { + tar.pipe(tarProcess.stdin).on("error", (err) => { + reject( + new Error(`Error while downloading and extracting tar: ${err}`), + ); + }); + } - await new Promise((resolve, reject) => { tarProcess.on("exit", (code) => { if (code !== 0) { reject( @@ -184,20 +196,12 @@ export async function extractTarZst( resolve(); }); }); - - return dest; } catch (e) { await cleanUpGlob(dest, "extraction destination directory", logger); throw e; } } -async function createExtractFolder(): Promise { - const dest = path.join(getTemporaryDirectory(), uuidV4()); - fs.mkdirSync(dest, { recursive: true }); - return dest; -} - export function inferCompressionMethod(tarPath: string): CompressionMethod { if (tarPath.endsWith(".tar.gz")) { return "gzip"; diff --git a/src/tools-download.ts b/src/tools-download.ts index 7ef9d5d7b6..755f986076 100644 --- a/src/tools-download.ts +++ b/src/tools-download.ts @@ -1,21 +1,28 @@ +import * as fs from "fs"; import { IncomingMessage, OutgoingHttpHeaders, RequestOptions } from "http"; +import * as os from "os"; import * as path from "path"; import { performance } from "perf_hooks"; import * as toolcache from "@actions/tool-cache"; import { https } from "follow-redirects"; -import { v4 as uuidV4 } from "uuid"; +import * as semver from "semver"; import { Feature, FeatureEnablement } from "./feature-flags"; import { formatDuration, Logger } from "./logging"; import * as tar from "./tar"; -import { cleanUpGlob } from "./util"; +import { cleanUpGlob, getRequiredEnvParam } from "./util"; /** * High watermark to use when streaming the download and extraction of the CodeQL tools. */ export const STREAMING_HIGH_WATERMARK_BYTES = 4 * 1024 * 1024; // 4 MiB +/** + * The name of the tool cache directory for the CodeQL tools. + */ +const TOOLCACHE_TOOL_NAME = "CodeQL"; + /** * Timing information for the download and extraction of the CodeQL tools when * we fully download the bundle before extracting. @@ -66,6 +73,7 @@ type ToolsDownloadDurations = | StreamedToolsDownloadDurations; export type ToolsDownloadStatusReport = { + cacheDurationMs?: number; compressionMethod: tar.CompressionMethod; toolsUrl: string; zstdFailureReason?: string; @@ -73,16 +81,13 @@ export type ToolsDownloadStatusReport = { export async function downloadAndExtract( codeqlURL: string, + dest: string, authorization: string | undefined, headers: OutgoingHttpHeaders, tarVersion: tar.TarVersion | undefined, - tempDir: string, features: FeatureEnablement, logger: Logger, -): Promise<{ - extractedBundlePath: string; - statusReport: ToolsDownloadStatusReport; -}> { +): Promise { logger.info( `Downloading CodeQL tools from ${codeqlURL} . This may take a while.`, ); @@ -99,8 +104,9 @@ export async function downloadAndExtract( logger.info(`Streaming the extraction of the CodeQL bundle.`); const toolsInstallStart = performance.now(); - const extractedBundlePath = await downloadAndExtractZstdWithStreaming( + await downloadAndExtractZstdWithStreaming( codeqlURL, + dest, authorization, headers, tarVersion!, @@ -111,27 +117,22 @@ export async function downloadAndExtract( performance.now() - toolsInstallStart, ); logger.info( - `Finished downloading and extracting CodeQL bundle to ${extractedBundlePath} (${formatDuration( + `Finished downloading and extracting CodeQL bundle to ${dest} (${formatDuration( combinedDurationMs, )}).`, ); return { - extractedBundlePath, - statusReport: { - compressionMethod, - toolsUrl: sanitizeUrlForStatusReport(codeqlURL), - ...makeStreamedToolsDownloadDurations(combinedDurationMs), - }, + compressionMethod, + toolsUrl: sanitizeUrlForStatusReport(codeqlURL), + ...makeStreamedToolsDownloadDurations(combinedDurationMs), }; } - const dest = path.join(tempDir, uuidV4()); - const toolsDownloadStart = performance.now(); const archivedBundlePath = await toolcache.downloadTool( codeqlURL, - dest, + undefined, authorization, headers, ); @@ -143,21 +144,21 @@ export async function downloadAndExtract( )}).`, ); - let extractedBundlePath: string; let extractionDurationMs: number; try { logger.info("Extracting CodeQL bundle."); const extractionStart = performance.now(); - extractedBundlePath = await tar.extract( + await tar.extract( archivedBundlePath, + dest, compressionMethod, tarVersion, logger, ); extractionDurationMs = Math.round(performance.now() - extractionStart); logger.info( - `Finished extracting CodeQL bundle to ${extractedBundlePath} (${formatDuration( + `Finished extracting CodeQL bundle to ${dest} (${formatDuration( extractionDurationMs, )}).`, ); @@ -166,25 +167,27 @@ export async function downloadAndExtract( } return { - extractedBundlePath, - statusReport: { - compressionMethod, - toolsUrl: sanitizeUrlForStatusReport(codeqlURL), - ...makeDownloadFirstToolsDownloadDurations( - downloadDurationMs, - extractionDurationMs, - ), - }, + compressionMethod, + toolsUrl: sanitizeUrlForStatusReport(codeqlURL), + ...makeDownloadFirstToolsDownloadDurations( + downloadDurationMs, + extractionDurationMs, + ), }; } async function downloadAndExtractZstdWithStreaming( codeqlURL: string, + dest: string, authorization: string | undefined, headers: OutgoingHttpHeaders, tarVersion: tar.TarVersion, logger: Logger, -): Promise { +): Promise { + // Ensure destination exists + fs.mkdirSync(dest, { recursive: true }); + + // Add User-Agent header and Authorization header if provided. headers = Object.assign( { "User-Agent": "CodeQL Action" }, authorization ? { authorization } : {}, @@ -195,6 +198,7 @@ async function downloadAndExtractZstdWithStreaming( codeqlURL, { headers, + // Increase the high water mark to improve performance. highWaterMark: STREAMING_HIGH_WATERMARK_BYTES, } as unknown as RequestOptions, (r) => resolve(r), @@ -207,7 +211,26 @@ async function downloadAndExtractZstdWithStreaming( ); } - return await tar.extractTarZst(response, tarVersion, logger); + await tar.extractTarZst(response, dest, tarVersion, logger); +} + +/** Gets the path to the toolcache directory for the specified version of the CodeQL tools. */ +export function getToolcacheDirectory(version: string): string { + return path.join( + getRequiredEnvParam("RUNNER_TOOL_CACHE"), + TOOLCACHE_TOOL_NAME, + semver.clean(version) || version, + os.arch() || "", + ); +} + +export function writeToolcacheMarkerFile( + extractedPath: string, + logger: Logger, +): void { + const markerFilePath = `${extractedPath}.complete`; + fs.writeFileSync(markerFilePath, ""); + logger.info(`Created toolcache marker file ${markerFilePath}`); } function sanitizeUrlForStatusReport(url: string): string {