diff --git a/.github/prepare-test/action.yml b/.github/prepare-test/action.yml index a528d4c08b..8ec23b84da 100644 --- a/.github/prepare-test/action.yml +++ b/.github/prepare-test/action.yml @@ -22,17 +22,17 @@ runs: run: | if [[ ${{ inputs.version }} == "nightly-latest" ]]; then export LATEST=`gh release list --repo dsp-testing/codeql-cli-nightlies -L 1 | cut -f 3` - echo "::set-output name=tools-url::https://github.com/dsp-testing/codeql-cli-nightlies/releases/download/$LATEST/codeql-bundle.tar.gz" + echo "tools-url=https://github.com/dsp-testing/codeql-cli-nightlies/releases/download/$LATEST/codeql-bundle.tar.gz" >> $GITHUB_OUTPUT elif [[ ${{ inputs.version }} == *"nightly"* ]]; then export VERSION=`echo ${{ inputs.version }} | sed -e 's/^.*\-//'` - echo "::set-output name=tools-url::https://github.com/dsp-testing/codeql-cli-nightlies/releases/download/codeql-bundle-$VERSION-manual/codeql-bundle.tar.gz" + echo "tools-url=https://github.com/dsp-testing/codeql-cli-nightlies/releases/download/codeql-bundle-$VERSION-manual/codeql-bundle.tar.gz" >> $GITHUB_OUTPUT elif [[ ${{ inputs.version }} == *"stable"* ]]; then export VERSION=`echo ${{ inputs.version }} | sed -e 's/^.*\-//'` - echo "::set-output name=tools-url::https://github.com/github/codeql-action/releases/download/codeql-bundle-$VERSION/codeql-bundle.tar.gz" + echo "tools-url=https://github.com/github/codeql-action/releases/download/codeql-bundle-$VERSION/codeql-bundle.tar.gz" >> $GITHUB_OUTPUT elif [[ ${{ inputs.version }} == "latest" ]]; then - echo "::set-output name=tools-url::latest" + echo "tools-url=latest" >> $GITHUB_OUTPUT elif [[ ${{ inputs.version }} == "cached" ]]; then - echo "::set-output name=tools-url::" + echo "tools-url=" >> $GITHUB_OUTPUT else echo "::error Unrecognized version specified!" fi diff --git a/.github/update-release-branch.py b/.github/update-release-branch.py index 9d20e38ebf..b547b1736f 100644 --- a/.github/update-release-branch.py +++ b/.github/update-release-branch.py @@ -104,7 +104,7 @@ def open_pr( body.append(' - [ ] Wait for the "Update dependencies" workflow to push a commit updating the dependencies.') body.append(' - [ ] Mark the PR as ready for review to trigger the full set of PR checks.') - body.append(' - [ ] Approve and merge this PR.') + body.append(' - [ ] Approve and merge this PR. Make sure `Create a merge commit` is selected rather than `Squash and merge` or `Rebase and merge`.') if is_v2_release: body.append(' - [ ] Merge the mergeback PR that will automatically be created once this PR is merged.') diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index f780e1624d..bc22fc10b6 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -61,7 +61,7 @@ jobs: # Output a JSON-encoded list with the distinct versions to test against. echo "Suggested matrix config for analysis job: $VERSIONS_JSON" - echo "::set-output name=versions::${VERSIONS_JSON}" + echo "versions=${VERSIONS_JSON}" >> $GITHUB_OUTPUT build: needs: [check-codeql-versions] diff --git a/.github/workflows/post-release-mergeback.yml b/.github/workflows/post-release-mergeback.yml index 7b8b8a7768..61d95b23ca 100644 --- a/.github/workflows/post-release-mergeback.yml +++ b/.github/workflows/post-release-mergeback.yml @@ -47,11 +47,10 @@ jobs: id: getVersion run: | VERSION="v$(jq '.version' -r 'package.json')" - echo "::set-output name=version::${VERSION}" + echo "version=${VERSION}" >> $GITHUB_OUTPUT short_sha="${GITHUB_SHA:0:8}" NEW_BRANCH="mergeback/${VERSION}-to-${BASE_BRANCH}-${short_sha}" - echo "::set-output name=newBranch::${NEW_BRANCH}" - + echo "newBranch=${NEW_BRANCH}" >> $GITHUB_OUTPUT - name: Dump branches env: @@ -77,7 +76,7 @@ jobs: exists="$?" if [ "${exists}" -eq 0 ]; then echo "Tag ${VERSION} exists. Not going to re-release." - echo "::set-output name=exists::true" + echo "exists=true" >> $GITHUB_OUTPUT else echo "Tag ${VERSION} does not exist yet." fi @@ -122,7 +121,7 @@ jobs: - [ ] Remove and re-add the "Update dependencies" label to the PR to trigger just this workflow. - [ ] Wait for the "Update dependencies" workflow to push a commit updating the dependencies. - [ ] Mark the PR as ready for review to trigger the full set of PR checks. - - [ ] Approve and merge the PR. + - [ ] Approve and merge the PR. Make sure `Create a merge commit` is selected rather than `Squash and merge` or `Rebase and merge`. EOF ) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6cbc088d18..903f0de555 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # CodeQL Action Changelog +## 1.1.28 - 18 Oct 2022 + +- Update default CodeQL bundle version to 2.11.1. [#1294](https://github.com/github/codeql-action/pull/1294) +- Replace uses of GitHub Actions command `set-output` because it is now deprecated. See more information in the [GitHub Changelog](https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/). [#1301](https://github.com/github/codeql-action/pull/1301) + ## 1.1.27 - 06 Oct 2022 - We are rolling out a feature of the CodeQL Action in October 2022 that changes the way that Go code is analyzed to be more consistent with other compiled languages like C/C++, C#, and Java. You do not need to alter your code scanning workflows. If you encounter any problems, please [file an issue](https://github.com/github/codeql-action/issues) or open a private ticket with GitHub Support and request an escalation to engineering. diff --git a/lib/analyze-action.js b/lib/analyze-action.js index 9deb5aa3b8..8c95a6d7e8 100644 --- a/lib/analyze-action.js +++ b/lib/analyze-action.js @@ -95,7 +95,7 @@ function doesGoExtractionOutputExist(config) { ].some((ext) => fileName.endsWith(ext)))); } /** - * When Go extraction reconciliation is enabled, either via the feature flag + * When Go extraction reconciliation is enabled, either via the feature * or an environment variable, we will attempt to autobuild Go to preserve * compatibility for users who have set up Go using a legacy scanning style * CodeQL workflow, i.e. one without an autobuild step or manual build @@ -107,11 +107,11 @@ function doesGoExtractionOutputExist(config) { * - We approximate whether manual build steps are present by looking at * whether any extraction output already exists for Go. */ -async function runAutobuildIfLegacyGoWorkflow(config, featureFlags, logger) { +async function runAutobuildIfLegacyGoWorkflow(config, featureEnablement, logger) { if (!config.languages.includes(languages_1.Language.go)) { return; } - if (!(await util.isGoExtractionReconciliationEnabled(featureFlags))) { + if (!(await util.isGoExtractionReconciliationEnabled(featureEnablement))) { logger.debug("Won't run Go autobuild since Go extraction reconciliation is not enabled."); return; } @@ -159,11 +159,11 @@ async function run() { const memory = util.getMemoryFlag(actionsUtil.getOptionalInput("ram") || process.env["CODEQL_RAM"]); const repositoryNwo = (0, repository_1.parseRepositoryNwo)(util.getRequiredEnvParam("GITHUB_REPOSITORY")); const gitHubVersion = await (0, api_client_1.getGitHubVersionActionsOnly)(); - const featureFlags = new feature_flags_1.GitHubFeatureFlags(gitHubVersion, apiDetails, repositoryNwo, logger); - await runAutobuildIfLegacyGoWorkflow(config, featureFlags, logger); - dbCreationTimings = await (0, analyze_1.runFinalize)(outputDir, threads, memory, config, logger, featureFlags); + const features = new feature_flags_1.Features(gitHubVersion, apiDetails, repositoryNwo, logger); + await runAutobuildIfLegacyGoWorkflow(config, features, logger); + dbCreationTimings = await (0, analyze_1.runFinalize)(outputDir, threads, memory, config, logger, features); if (actionsUtil.getRequiredInput("skip-queries") !== "true") { - runStats = await (0, analyze_1.runQueries)(outputDir, memory, util.getAddSnippetsFlag(actionsUtil.getRequiredInput("add-snippets")), threads, actionsUtil.getOptionalInput("category"), config, logger, featureFlags); + runStats = await (0, analyze_1.runQueries)(outputDir, memory, util.getAddSnippetsFlag(actionsUtil.getRequiredInput("add-snippets")), threads, actionsUtil.getOptionalInput("category"), config, logger, features); } if (actionsUtil.getOptionalInput("cleanup-level") !== "none") { await (0, analyze_1.runCleanup)(config, actionsUtil.getOptionalInput("cleanup-level") || "brutal", logger); diff --git a/lib/analyze-action.js.map b/lib/analyze-action.js.map index f8866f6de0..94ccd4440d 100644 --- a/lib/analyze-action.js.map +++ b/lib/analyze-action.js.map @@ -1 +1 @@ -{"version":3,"file":"analyze-action.js","sourceRoot":"","sources":["../src/analyze-action.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"analyze-action.js","sourceRoot":"","sources":["../src/analyze-action.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/analyze.js b/lib/analyze.js index cf37dd8919..1d02ae9448 100644 --- a/lib/analyze.js +++ b/lib/analyze.js @@ -70,12 +70,12 @@ async function setupPythonExtractor(logger) { logger.info(`Setting LGTM_PYTHON_SETUP_VERSION=${output}`); process.env["LGTM_PYTHON_SETUP_VERSION"] = output; } -async function createdDBForScannedLanguages(codeql, config, logger, featureFlags) { +async function createdDBForScannedLanguages(codeql, config, logger, featureEnablement) { // Insert the LGTM_INDEX_X env vars at this point so they are set when // we extract any scanned languages. analysisPaths.includeAndExcludeAnalysisPaths(config); for (const language of config.languages) { - if ((0, languages_1.isScannedLanguage)(language, await util.isGoExtractionReconciliationEnabled(featureFlags), logger) && + if ((0, languages_1.isScannedLanguage)(language, await util.isGoExtractionReconciliationEnabled(featureEnablement), logger) && !dbIsFinalized(config, language, logger)) { logger.startGroup(`Extracting ${language}`); if (language === languages_1.Language.python) { @@ -99,10 +99,10 @@ function dbIsFinalized(config, language, logger) { } } exports.dbIsFinalized = dbIsFinalized; -async function finalizeDatabaseCreation(config, threadsFlag, memoryFlag, logger, featureFlags) { +async function finalizeDatabaseCreation(config, threadsFlag, memoryFlag, logger, featureEnablement) { const codeql = await (0, codeql_1.getCodeQL)(config.codeQLCmd); const extractionStart = perf_hooks_1.performance.now(); - await createdDBForScannedLanguages(codeql, config, logger, featureFlags); + await createdDBForScannedLanguages(codeql, config, logger, featureEnablement); const extractionTime = perf_hooks_1.performance.now() - extractionStart; const trapImportStart = perf_hooks_1.performance.now(); for (const language of config.languages) { @@ -122,7 +122,7 @@ async function finalizeDatabaseCreation(config, threadsFlag, memoryFlag, logger, }; } // Runs queries and creates sarif files in the given folder -async function runQueries(sarifFolder, memoryFlag, addSnippetsFlag, threadsFlag, automationDetailsId, config, logger, featureFlags) { +async function runQueries(sarifFolder, memoryFlag, addSnippetsFlag, threadsFlag, automationDetailsId, config, logger, featureEnablement) { const statusReport = {}; let locPromise = Promise.resolve({}); const cliCanCountBaseline = await cliCanCountLoC(); @@ -136,7 +136,7 @@ async function runQueries(sarifFolder, memoryFlag, addSnippetsFlag, threadsFlag, config.paths, config.pathsIgnore, config.languages, logger); } const codeql = await (0, codeql_1.getCodeQL)(config.codeQLCmd); - await util.logCodeScanningConfigInCli(codeql, featureFlags, logger); + await util.logCodeScanningConfigInCli(codeql, featureEnablement, logger); for (const language of config.languages) { const queries = config.queries[language]; const queryFilters = validateQueryFilters(config.originalUserInput["query-filters"]); @@ -148,7 +148,7 @@ async function runQueries(sarifFolder, memoryFlag, addSnippetsFlag, threadsFlag, throw new Error(`Unable to analyse ${language} as no queries were selected for this language`); } try { - if (await util.useCodeScanningConfigInCli(codeql, featureFlags)) { + if (await util.useCodeScanningConfigInCli(codeql, featureEnablement)) { // If we are using the codescanning config in the CLI, // much of the work needed to generate the query suites // is done in the CLI. We just need to make a single @@ -285,7 +285,7 @@ function createQuerySuiteContents(queries, queryFilters) { return yaml.dump(queries.map((q) => ({ query: q })).concat(queryFilters)); } exports.createQuerySuiteContents = createQuerySuiteContents; -async function runFinalize(outputDir, threadsFlag, memoryFlag, config, logger, featureFlags) { +async function runFinalize(outputDir, threadsFlag, memoryFlag, config, logger, featureEnablement) { try { await (0, del_1.default)(outputDir, { force: true }); } @@ -295,7 +295,7 @@ async function runFinalize(outputDir, threadsFlag, memoryFlag, config, logger, f } } await fs.promises.mkdir(outputDir, { recursive: true }); - const timings = await finalizeDatabaseCreation(config, threadsFlag, memoryFlag, logger, featureFlags); + const timings = await finalizeDatabaseCreation(config, threadsFlag, memoryFlag, logger, featureEnablement); const codeql = await (0, codeql_1.getCodeQL)(config.codeQLCmd); // WARNING: This does not _really_ end tracing, as the tracer will restore its // critical environment variables and it'll still be active for all processes @@ -304,7 +304,7 @@ async function runFinalize(outputDir, threadsFlag, memoryFlag, config, logger, f // step. if (await util.codeQlVersionAbove(codeql, codeql_1.CODEQL_VERSION_NEW_TRACING)) { // Delete variables as specified by the end-tracing script - await (0, tracer_config_1.endTracingForCluster)(config, await util.isGoExtractionReconciliationEnabled(featureFlags), logger); + await (0, tracer_config_1.endTracingForCluster)(config, await util.isGoExtractionReconciliationEnabled(featureEnablement), logger); } else { // Delete the tracer config env var to avoid tracing ourselves diff --git a/lib/analyze.js.map b/lib/analyze.js.map index f8bc4510f4..117321b044 100644 --- a/lib/analyze.js.map +++ b/lib/analyze.js.map @@ -1 +1 @@ -{"version":3,"file":"analyze.js","sourceRoot":"","sources":["../src/analyze.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"analyze.js","sourceRoot":"","sources":["../src/analyze.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/analyze.test.js b/lib/analyze.test.js index ad6da2423c..abbd66e86f 100644 --- a/lib/analyze.test.js +++ b/lib/analyze.test.js @@ -30,7 +30,6 @@ const sinon = __importStar(require("sinon")); const analyze_1 = require("./analyze"); const codeql_1 = require("./codeql"); const count = __importStar(require("./count-loc")); -const feature_flags_1 = require("./feature-flags"); const languages_1 = require("./languages"); const logging_1 = require("./logging"); const testing_utils_1 = require("./testing-utils"); @@ -132,7 +131,7 @@ const util = __importStar(require("./util")); builtin: ["foo.ql"], custom: [], }; - const builtinStatusReport = await (0, analyze_1.runQueries)(tmpDir, memoryFlag, addSnippetsFlag, threadsFlag, undefined, config, (0, logging_1.getRunnerLogger)(true), (0, feature_flags_1.createFeatureFlags)([])); + const builtinStatusReport = await (0, analyze_1.runQueries)(tmpDir, memoryFlag, addSnippetsFlag, threadsFlag, undefined, config, (0, logging_1.getRunnerLogger)(true), (0, testing_utils_1.createFeatures)([])); const hasPacks = language in packs; const statusReportKeys = Object.keys(builtinStatusReport).sort(); if (hasPacks) { @@ -158,7 +157,7 @@ const util = __importStar(require("./util")); }, ], }; - const customStatusReport = await (0, analyze_1.runQueries)(tmpDir, memoryFlag, addSnippetsFlag, threadsFlag, undefined, config, (0, logging_1.getRunnerLogger)(true), (0, feature_flags_1.createFeatureFlags)([])); + const customStatusReport = await (0, analyze_1.runQueries)(tmpDir, memoryFlag, addSnippetsFlag, threadsFlag, undefined, config, (0, logging_1.getRunnerLogger)(true), (0, testing_utils_1.createFeatures)([])); t.deepEqual(Object.keys(customStatusReport).length, 2); t.true(`analyze_custom_queries_${language}_duration_ms` in customStatusReport); const expectedSearchPathsUsed = hasPacks diff --git a/lib/analyze.test.js.map b/lib/analyze.test.js.map index f90df04470..dfec606080 100644 --- a/lib/analyze.test.js.map +++ b/lib/analyze.test.js.map @@ -1 +1 @@ -{"version":3,"file":"analyze.test.js","sourceRoot":"","sources":["../src/analyze.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"analyze.test.js","sourceRoot":"","sources":["../src/analyze.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/api-compatibility.json b/lib/api-compatibility.json index f881206a87..73d77986ea 100644 --- a/lib/api-compatibility.json +++ b/lib/api-compatibility.json @@ -1 +1 @@ -{ "maximumVersion": "3.7", "minimumVersion": "3.2" } +{ "maximumVersion": "3.7", "minimumVersion": "3.3" } diff --git a/lib/autobuild-action.js b/lib/autobuild-action.js index bdc1a27f80..4c562c6b83 100644 --- a/lib/autobuild-action.js +++ b/lib/autobuild-action.js @@ -54,12 +54,12 @@ async function run() { } const gitHubVersion = await (0, api_client_1.getGitHubVersionActionsOnly)(); (0, util_1.checkGitHubVersionInRange)(gitHubVersion, logger, util_1.Mode.actions); - const featureFlags = new feature_flags_1.GitHubFeatureFlags(gitHubVersion, (0, api_client_1.getApiDetails)(), (0, repository_1.parseRepositoryNwo)((0, util_1.getRequiredEnvParam)("GITHUB_REPOSITORY")), logger); + const features = new feature_flags_1.Features(gitHubVersion, (0, api_client_1.getApiDetails)(), (0, repository_1.parseRepositoryNwo)((0, util_1.getRequiredEnvParam)("GITHUB_REPOSITORY")), logger); const config = await configUtils.getConfig((0, actions_util_1.getTemporaryDirectory)(), logger); if (config === undefined) { throw new Error("Config file could not be found at expected location. Has the 'init' action been called?"); } - languages = await (0, autobuild_1.determineAutobuildLanguages)(config, featureFlags, logger); + languages = await (0, autobuild_1.determineAutobuildLanguages)(config, features, logger); if (languages !== undefined) { const workingDirectory = (0, actions_util_1.getOptionalInput)("working-directory"); if (workingDirectory) { diff --git a/lib/autobuild-action.js.map b/lib/autobuild-action.js.map index 15155c4d9e..e73592c254 100644 --- a/lib/autobuild-action.js.map +++ b/lib/autobuild-action.js.map @@ -1 +1 @@ -{"version":3,"file":"autobuild-action.js","sourceRoot":"","sources":["../src/autobuild-action.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"autobuild-action.js","sourceRoot":"","sources":["../src/autobuild-action.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/autobuild.js b/lib/autobuild.js index 842a04fd86..522bf917c1 100644 --- a/lib/autobuild.js +++ b/lib/autobuild.js @@ -23,8 +23,8 @@ exports.runAutobuild = exports.determineAutobuildLanguages = void 0; const codeql_1 = require("./codeql"); const languages_1 = require("./languages"); const util = __importStar(require("./util")); -async function determineAutobuildLanguages(config, featureFlags, logger) { - const isGoExtractionReconciliationEnabled = await util.isGoExtractionReconciliationEnabled(featureFlags); +async function determineAutobuildLanguages(config, featureEnablement, logger) { + const isGoExtractionReconciliationEnabled = await util.isGoExtractionReconciliationEnabled(featureEnablement); // Attempt to find a language to autobuild // We want pick the dominant language in the repo from the ones we're able to build // The languages are sorted in order specified by user or by lines of code if we got diff --git a/lib/autobuild.js.map b/lib/autobuild.js.map index 7cc66049e5..9ffbf545a0 100644 --- a/lib/autobuild.js.map +++ b/lib/autobuild.js.map @@ -1 +1 @@ -{"version":3,"file":"autobuild.js","sourceRoot":"","sources":["../src/autobuild.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAqC;AAGrC,2CAAyD;AAEzD,6CAA+B;AAExB,KAAK,UAAU,2BAA2B,CAC/C,MAA0B,EAC1B,YAA0B,EAC1B,MAAc;IAEd,MAAM,mCAAmC,GACvC,MAAM,IAAI,CAAC,mCAAmC,CAAC,YAAY,CAAC,CAAC;IAC/D,0CAA0C;IAC1C,mFAAmF;IACnF,oFAAoF;IACpF,4EAA4E;IAC5E,MAAM,kBAAkB,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACvD,IAAA,4BAAgB,EAAC,CAAC,EAAE,mCAAmC,EAAE,MAAM,CAAC,CACjE,CAAC;IAEF,IAAI,CAAC,kBAAkB,EAAE;QACvB,MAAM,CAAC,IAAI,CACT,iEAAiE,CAClE,CAAC;QACF,OAAO,SAAS,CAAC;KAClB;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,MAAM,2BAA2B,GAAG,kBAAkB,CAAC,MAAM,CAC3D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,oBAAQ,CAAC,EAAE,CACzB,CAAC;IAEF,MAAM,SAAS,GAAe,EAAE,CAAC;IACjC,yEAAyE;IACzE,UAAU;IACV,IAAI,2BAA2B,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;QAChD,SAAS,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAAC;KAChD;IACD,uEAAuE;IACvE,wCAAwC;IACxC,IAAI,kBAAkB,CAAC,MAAM,KAAK,2BAA2B,CAAC,MAAM,EAAE;QACpE,SAAS,CAAC,IAAI,CAAC,oBAAQ,CAAC,EAAE,CAAC,CAAC;KAC7B;IAED,MAAM,CAAC,KAAK,CAAC,kBAAkB,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAE3D,2EAA2E;IAC3E,4EAA4E;IAC5E,2CAA2C;IAC3C,uEAAuE;IACvE,2EAA2E;IAC3E,uEAAuE;IACvE,yCAAyC;IACzC,IAAI,2BAA2B,CAAC,MAAM,GAAG,CAAC,EAAE;QAC1C,MAAM,CAAC,OAAO,CACZ,oCAAoC,SAAS,CAAC,IAAI,CAChD,OAAO,CACR,8BAA8B,2BAA2B;aACvD,KAAK,CAAC,CAAC,CAAC;aACR,IAAI,CACH,OAAO,CACR,kFAAkF;YACnF,4BAA4B;YAC5B,0NAA0N,CAC7N,CAAC;KACH;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAzFD,kEAyFC;AAEM,KAAK,UAAU,YAAY,CAChC,QAAkB,EAClB,MAA0B,EAC1B,MAAc;IAEd,MAAM,CAAC,UAAU,CAAC,qCAAqC,QAAQ,OAAO,CAAC,CAAC;IACxE,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAS,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,CAAC,QAAQ,EAAE,CAAC;AACpB,CAAC;AATD,oCASC"} \ No newline at end of file +{"version":3,"file":"autobuild.js","sourceRoot":"","sources":["../src/autobuild.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAqC;AAGrC,2CAAyD;AAEzD,6CAA+B;AAExB,KAAK,UAAU,2BAA2B,CAC/C,MAA0B,EAC1B,iBAAoC,EACpC,MAAc;IAEd,MAAM,mCAAmC,GACvC,MAAM,IAAI,CAAC,mCAAmC,CAAC,iBAAiB,CAAC,CAAC;IACpE,0CAA0C;IAC1C,mFAAmF;IACnF,oFAAoF;IACpF,4EAA4E;IAC5E,MAAM,kBAAkB,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACvD,IAAA,4BAAgB,EAAC,CAAC,EAAE,mCAAmC,EAAE,MAAM,CAAC,CACjE,CAAC;IAEF,IAAI,CAAC,kBAAkB,EAAE;QACvB,MAAM,CAAC,IAAI,CACT,iEAAiE,CAClE,CAAC;QACF,OAAO,SAAS,CAAC;KAClB;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,MAAM,2BAA2B,GAAG,kBAAkB,CAAC,MAAM,CAC3D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,oBAAQ,CAAC,EAAE,CACzB,CAAC;IAEF,MAAM,SAAS,GAAe,EAAE,CAAC;IACjC,yEAAyE;IACzE,UAAU;IACV,IAAI,2BAA2B,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;QAChD,SAAS,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAAC;KAChD;IACD,uEAAuE;IACvE,wCAAwC;IACxC,IAAI,kBAAkB,CAAC,MAAM,KAAK,2BAA2B,CAAC,MAAM,EAAE;QACpE,SAAS,CAAC,IAAI,CAAC,oBAAQ,CAAC,EAAE,CAAC,CAAC;KAC7B;IAED,MAAM,CAAC,KAAK,CAAC,kBAAkB,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAE3D,2EAA2E;IAC3E,4EAA4E;IAC5E,2CAA2C;IAC3C,uEAAuE;IACvE,2EAA2E;IAC3E,uEAAuE;IACvE,yCAAyC;IACzC,IAAI,2BAA2B,CAAC,MAAM,GAAG,CAAC,EAAE;QAC1C,MAAM,CAAC,OAAO,CACZ,oCAAoC,SAAS,CAAC,IAAI,CAChD,OAAO,CACR,8BAA8B,2BAA2B;aACvD,KAAK,CAAC,CAAC,CAAC;aACR,IAAI,CACH,OAAO,CACR,kFAAkF;YACnF,4BAA4B;YAC5B,0NAA0N,CAC7N,CAAC;KACH;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAzFD,kEAyFC;AAEM,KAAK,UAAU,YAAY,CAChC,QAAkB,EAClB,MAA0B,EAC1B,MAAc;IAEd,MAAM,CAAC,UAAU,CAAC,qCAAqC,QAAQ,OAAO,CAAC,CAAC;IACxE,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAS,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,CAAC,QAAQ,EAAE,CAAC;AACpB,CAAC;AATD,oCASC"} \ No newline at end of file diff --git a/lib/codeql.js b/lib/codeql.js index 011c00330b..fa3420325b 100644 --- a/lib/codeql.js +++ b/lib/codeql.js @@ -22,7 +22,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); -exports.getExtraOptions = exports.getCodeQLForTesting = exports.getCachedCodeQL = exports.setCodeQL = exports.getCodeQL = exports.convertToSemVer = exports.getCodeQLURLVersion = exports.setupCodeQL = exports.getCodeQLActionRepository = exports.CODEQL_VERSION_BETTER_RESOLVE_LANGUAGES = exports.CODEQL_VERSION_ML_POWERED_QUERIES_WINDOWS = exports.CODEQL_VERSION_NEW_TRACING = exports.CODEQL_VERSION_GHES_PACK_DOWNLOAD = exports.CODEQL_VERSION_CONFIG_FILES = exports.CODEQL_VERSION_ML_POWERED_QUERIES = exports.CODEQL_VERSION_COUNTS_LINES = exports.CODEQL_DEFAULT_ACTION_REPOSITORY = exports.CommandInvocationError = void 0; +exports.getExtraOptions = exports.getCodeQLForTesting = exports.getCachedCodeQL = exports.setCodeQL = exports.getCodeQL = exports.convertToSemVer = exports.getCodeQLURLVersion = exports.setupCodeQL = exports.getCodeQLActionRepository = exports.CODEQL_VERSION_BETTER_RESOLVE_LANGUAGES = exports.CODEQL_VERSION_ML_POWERED_QUERIES_WINDOWS = exports.CODEQL_VERSION_NEW_TRACING = exports.CODEQL_VERSION_GHES_PACK_DOWNLOAD = exports.CODEQL_VERSION_CONFIG_FILES = exports.CODEQL_VERSION_COUNTS_LINES = exports.CODEQL_DEFAULT_ACTION_REPOSITORY = exports.CommandInvocationError = void 0; const fs = __importStar(require("fs")); const path = __importStar(require("path")); const toolrunner = __importStar(require("@actions/exec/lib/toolrunner")); @@ -79,7 +79,6 @@ const CODEQL_VERSION_GROUP_RULES = "2.5.5"; const CODEQL_VERSION_SARIF_GROUP = "2.5.3"; exports.CODEQL_VERSION_COUNTS_LINES = "2.6.2"; const CODEQL_VERSION_CUSTOM_QUERY_HELP = "2.7.1"; -exports.CODEQL_VERSION_ML_POWERED_QUERIES = "2.7.5"; const CODEQL_VERSION_LUA_TRACER_CONFIG = "2.10.0"; exports.CODEQL_VERSION_CONFIG_FILES = "2.10.1"; const CODEQL_VERSION_LUA_TRACING_GO_WINDOWS_FIXED = "2.10.4"; @@ -220,13 +219,13 @@ async function getCodeQLBundleDownloadURL(apiDetails, variant, logger) { * @param apiDetails * @param tempDir * @param variant - * @param featureFlags + * @param features * @param logger * @param checkVersion Whether to check that CodeQL CLI meets the minimum * version requirement. Must be set to true outside tests. * @returns a { CodeQL, toolsVersion } object. */ -async function setupCodeQL(codeqlURL, apiDetails, tempDir, variant, featureFlags, logger, checkVersion) { +async function setupCodeQL(codeqlURL, apiDetails, tempDir, variant, features, logger, checkVersion) { try { const forceLatestReason = // We use the special value of 'latest' to prioritize the version in the @@ -234,12 +233,12 @@ async function setupCodeQL(codeqlURL, apiDetails, tempDir, variant, featureFlags codeqlURL === "latest" ? '"tools: latest" was requested' : // If the user hasn't requested a particular CodeQL version, then bypass - // the toolcache when the appropriate feature flag is enabled. This + // the toolcache when the appropriate feature is enabled. This // allows us to quickly rollback a broken bundle that has made its way // into the toolcache. codeqlURL === undefined && - (await featureFlags.getValue(feature_flags_1.FeatureFlag.BypassToolcacheEnabled)) - ? "a specific version of CodeQL was not requested and the bypass toolcache feature flag is enabled" + (await features.getValue(feature_flags_1.Feature.BypassToolcacheEnabled)) + ? "a specific version of CodeQL was not requested and the bypass toolcache feature is enabled" : undefined; const forceLatest = forceLatestReason !== undefined; if (forceLatest) { @@ -489,9 +488,9 @@ async function getCodeQLForCmd(cmd, checkVersion) { ...getExtraOptionsFromEnv(["database", "init"]), ]); }, - async databaseInitCluster(config, sourceRoot, processName, processLevel, featureFlags, logger) { + async databaseInitCluster(config, sourceRoot, processName, processLevel, featureEnablement, logger) { const extraArgs = config.languages.map((language) => `--language=${language}`); - const isGoExtractionReconciliationEnabled = await util.isGoExtractionReconciliationEnabled(featureFlags); + const isGoExtractionReconciliationEnabled = await util.isGoExtractionReconciliationEnabled(featureEnablement); if (config.languages.filter((l) => (0, languages_1.isTracedLanguage)(l, isGoExtractionReconciliationEnabled, logger)).length > 0) { extraArgs.push("--begin-tracing"); extraArgs.push(...(await (0, trap_caching_1.getTrapCachingExtractorConfigArgs)(config))); @@ -516,7 +515,7 @@ async function getCodeQLForCmd(cmd, checkVersion) { extraArgs.push("--no-internal-use-lua-tracing"); } } - const configLocation = await generateCodescanningConfig(codeql, config, featureFlags); + const configLocation = await generateCodescanningConfig(codeql, config, featureEnablement); if (configLocation) { extraArgs.push(`--codescanning-config=${configLocation}`); } @@ -876,9 +875,9 @@ async function runTool(cmd, args = []) { * @param config The configuration to use. * @returns the path to the generated user configuration file. */ -async function generateCodescanningConfig(codeql, config, featureFlags) { +async function generateCodescanningConfig(codeql, config, featureEnablement) { var _a; - if (!(await util.useCodeScanningConfigInCli(codeql, featureFlags))) { + if (!(await util.useCodeScanningConfigInCli(codeql, featureEnablement))) { return; } const configLocation = path.resolve(config.tempDir, "user-config.yaml"); diff --git a/lib/codeql.js.map b/lib/codeql.js.map index 8ef182ef12..2f807fcb0a 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 81b1cb6518..87fec0f495 100644 --- a/lib/codeql.test.js +++ b/lib/codeql.test.js @@ -81,7 +81,7 @@ ava_1.default.beforeEach(() => { trapCacheDownloadTime: 0, }; }); -async function mockApiAndSetupCodeQL({ apiDetails, featureFlags, isPinned, tmpDir, toolsInput, version, }) { +async function mockApiAndSetupCodeQL({ apiDetails, featureEnablement, isPinned, tmpDir, toolsInput, version, }) { var _a; const platform = process.platform === "win32" ? "win64" @@ -95,7 +95,7 @@ async function mockApiAndSetupCodeQL({ apiDetails, featureFlags, isPinned, tmpDi (0, nock_1.default)(baseUrl) .get(relativeUrl) .replyWithFile(200, path.join(__dirname, `/../src/testdata/codeql-bundle${isPinned ? "-pinned" : ""}.tar.gz`)); - return await codeql.setupCodeQL(toolsInput ? toolsInput.input : `${baseUrl}${relativeUrl}`, apiDetails !== null && apiDetails !== void 0 ? apiDetails : sampleApiDetails, tmpDir, util.GitHubVariant.DOTCOM, featureFlags !== null && featureFlags !== void 0 ? featureFlags : (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true), false); + return await codeql.setupCodeQL(toolsInput ? toolsInput.input : `${baseUrl}${relativeUrl}`, apiDetails !== null && apiDetails !== void 0 ? apiDetails : sampleApiDetails, tmpDir, util.GitHubVariant.DOTCOM, featureEnablement !== null && featureEnablement !== void 0 ? featureEnablement : (0, testing_utils_1.createFeatures)([]), (0, logging_1.getRunnerLogger)(true), false); } (0, ava_1.default)("download codeql bundle cache", async (t) => { await util.withTmpDir(async (tmpDir) => { @@ -138,7 +138,7 @@ async function mockApiAndSetupCodeQL({ apiDetails, featureFlags, isPinned, tmpDi }); t.assert(toolcache.find("CodeQL", "0.0.0-20200601")); t.deepEqual(pinnedCodeQLConfig.toolsVersion, "20200601"); - const codeQLConfig = await codeql.setupCodeQL(undefined, sampleApiDetails, tmpDir, util.GitHubVariant.DOTCOM, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true), false); + const codeQLConfig = await codeql.setupCodeQL(undefined, sampleApiDetails, tmpDir, util.GitHubVariant.DOTCOM, (0, testing_utils_1.createFeatures)([]), (0, logging_1.getRunnerLogger)(true), false); t.deepEqual(codeQLConfig.toolsVersion, "0.0.0-20200601"); const cachedVersions = toolcache.findAllVersions("CodeQL"); t.is(cachedVersions.length, 1); @@ -194,8 +194,8 @@ const TOOLCACHE_BYPASS_TEST_CASES = [ false, ], ]; -for (const [isFeatureFlagEnabled, toolsInput, shouldToolcacheBeBypassed,] of TOOLCACHE_BYPASS_TEST_CASES) { - (0, ava_1.default)(`download codeql bundle ${shouldToolcacheBeBypassed ? "bypasses" : "does not bypass"} toolcache when feature flag ${isFeatureFlagEnabled ? "enabled" : "disabled"} and tools: ${toolsInput} passed`, async (t) => { +for (const [isFeatureEnabled, toolsInput, shouldToolcacheBeBypassed,] of TOOLCACHE_BYPASS_TEST_CASES) { + (0, ava_1.default)(`download codeql bundle ${shouldToolcacheBeBypassed ? "bypasses" : "does not bypass"} toolcache when feature ${isFeatureEnabled ? "enabled" : "disabled"} and tools: ${toolsInput} passed`, async (t) => { await util.withTmpDir(async (tmpDir) => { (0, testing_utils_1.setupActionsVars)(tmpDir, tmpDir); await mockApiAndSetupCodeQL({ @@ -208,7 +208,7 @@ for (const [isFeatureFlagEnabled, toolsInput, shouldToolcacheBeBypassed,] of TOO await mockApiAndSetupCodeQL({ version: defaults.bundleVersion, apiDetails: sampleApiDetails, - featureFlags: (0, feature_flags_1.createFeatureFlags)(isFeatureFlagEnabled ? [feature_flags_1.FeatureFlag.BypassToolcacheEnabled] : []), + featureEnablement: (0, testing_utils_1.createFeatures)(isFeatureEnabled ? [feature_flags_1.Feature.BypassToolcacheEnabled] : []), toolsInput: { input: toolsInput }, tmpDir, }); @@ -240,7 +240,7 @@ for (const [isFeatureFlagEnabled, toolsInput, shouldToolcacheBeBypassed,] of TOO (0, nock_1.default)("https://example.githubenterprise.com") .get(`/github/codeql-action/releases/download/${defaults.bundleVersion}/${codeQLBundleName}`) .replyWithFile(200, path.join(__dirname, `/../src/testdata/codeql-bundle-pinned.tar.gz`)); - await codeql.setupCodeQL(undefined, sampleGHAEApiDetails, tmpDir, util.GitHubVariant.GHAE, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true), false); + await codeql.setupCodeQL(undefined, sampleGHAEApiDetails, tmpDir, util.GitHubVariant.GHAE, (0, testing_utils_1.createFeatures)([]), (0, logging_1.getRunnerLogger)(true), false); const cachedVersions = toolcache.findAllVersions("CodeQL"); t.is(cachedVersions.length, 1); }); @@ -332,7 +332,7 @@ for (const [isFeatureFlagEnabled, toolsInput, shouldToolcacheBeBypassed,] of TOO packsInputCombines: false, }, }; - await codeqlObject.databaseInitCluster(thisStubConfig, "", undefined, undefined, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true)); + await codeqlObject.databaseInitCluster(thisStubConfig, "", undefined, undefined, (0, testing_utils_1.createFeatures)([]), (0, logging_1.getRunnerLogger)(true)); const args = runnerConstructorStub.firstCall.args[1]; // should NOT have used an config file const configArg = args.find((arg) => arg.startsWith("--codescanning-config=")); @@ -342,35 +342,28 @@ for (const [isFeatureFlagEnabled, toolsInput, shouldToolcacheBeBypassed,] of TOO // Test macro for ensuring different variants of injected augmented configurations const injectedConfigMacro = ava_1.default.macro({ exec: async (t, augmentationProperties, configOverride, expectedConfig) => { - const origCODEQL_PASS_CONFIG_TO_CLI = process.env.CODEQL_PASS_CONFIG_TO_CLI; - process.env["CODEQL_PASS_CONFIG_TO_CLI"] = "true"; - try { - await util.withTmpDir(async (tempDir) => { - const runnerConstructorStub = stubToolRunnerConstructor(); - const codeqlObject = await codeql.getCodeQLForTesting(); - sinon - .stub(codeqlObject, "getVersion") - .resolves(codeql.CODEQL_VERSION_CONFIG_FILES); - const thisStubConfig = { - ...stubConfig, - ...configOverride, - tempDir, - augmentationProperties, - }; - await codeqlObject.databaseInitCluster(thisStubConfig, "", undefined, undefined, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true)); - const args = runnerConstructorStub.firstCall.args[1]; - // should have used an config file - const configArg = args.find((arg) => arg.startsWith("--codescanning-config=")); - t.truthy(configArg, "Should have injected a codescanning config"); - const configFile = configArg.split("=")[1]; - const augmentedConfig = yaml.load(fs.readFileSync(configFile, "utf8")); - t.deepEqual(augmentedConfig, expectedConfig); - await (0, del_1.default)(configFile, { force: true }); - }); - } - finally { - process.env["CODEQL_PASS_CONFIG_TO_CLI"] = origCODEQL_PASS_CONFIG_TO_CLI; - } + await util.withTmpDir(async (tempDir) => { + const runnerConstructorStub = stubToolRunnerConstructor(); + const codeqlObject = await codeql.getCodeQLForTesting(); + sinon + .stub(codeqlObject, "getVersion") + .resolves(codeql.CODEQL_VERSION_CONFIG_FILES); + const thisStubConfig = { + ...stubConfig, + ...configOverride, + tempDir, + augmentationProperties, + }; + await codeqlObject.databaseInitCluster(thisStubConfig, "", undefined, undefined, (0, testing_utils_1.createFeatures)([feature_flags_1.Feature.CliConfigFileEnabled]), (0, logging_1.getRunnerLogger)(true)); + const args = runnerConstructorStub.firstCall.args[1]; + // should have used an config file + const configArg = args.find((arg) => arg.startsWith("--codescanning-config=")); + t.truthy(configArg, "Should have injected a codescanning config"); + const configFile = configArg.split("=")[1]; + const augmentedConfig = yaml.load(fs.readFileSync(configFile, "utf8")); + t.deepEqual(augmentedConfig, expectedConfig); + await (0, del_1.default)(configFile, { force: true }); + }); }, title: (providedTitle = "") => `databaseInitCluster() injected config: ${providedTitle}`, }); @@ -561,7 +554,7 @@ const injectedConfigMacro = ava_1.default.macro({ sinon .stub(codeqlObject, "getVersion") .resolves(codeql.CODEQL_VERSION_CONFIG_FILES); - await codeqlObject.databaseInitCluster(stubConfig, "", undefined, undefined, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true)); + await codeqlObject.databaseInitCluster(stubConfig, "", undefined, undefined, (0, testing_utils_1.createFeatures)([]), (0, logging_1.getRunnerLogger)(true)); const args = runnerConstructorStub.firstCall.args[1]; // should have used an config file const configArg = args.find((arg) => arg.startsWith("--codescanning-config=")); diff --git a/lib/codeql.test.js.map b/lib/codeql.test.js.map index 4972208a71..5927797d79 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":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAE7B,yEAA2D;AAC3D,+DAAiD;AACjD,8CAA6C;AAC7C,8CAAsB;AACtB,8CAAgC;AAChC,gDAAwB;AACxB,6CAA+B;AAG/B,iDAAmC;AAEnC,0DAA4C;AAC5C,mDAAgF;AAChF,2CAAuC;AACvC,uCAA4C;AAC5C,mDAA+D;AAC/D,6CAA+B;AAC/B,iCAAqD;AAErD,IAAA,0BAAU,EAAC,aAAI,CAAC,CAAC;AAEjB,MAAM,gBAAgB,GAAG;IACvB,IAAI,EAAE,OAAO;IACb,GAAG,EAAE,oBAAoB;IACzB,MAAM,EAAE,SAAS;IACjB,oBAAoB,EAAE,SAAS;CAChC,CAAC;AAEF,MAAM,oBAAoB,GAAG;IAC3B,IAAI,EAAE,OAAO;IACb,GAAG,EAAE,sCAAsC;IAC3C,MAAM,EAAE,SAAS;IACjB,oBAAoB,EAAE,SAAS;CAChC,CAAC;AAEF,IAAI,UAAkB,CAAC;AAEvB,aAAI,CAAC,UAAU,CAAC,GAAG,EAAE;IACnB,IAAA,4BAAqB,EAAC,WAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAE7C,UAAU,GAAG;QACX,SAAS,EAAE,CAAC,oBAAQ,CAAC,GAAG,CAAC;QACzB,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,EAAE;QACf,KAAK,EAAE,EAAE;QACT,iBAAiB,EAAE,EAAE;QACrB,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,EAAE;QACb,aAAa,EAAE;YACb,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM;SACV;QACvB,UAAU,EAAE,EAAE;QACd,KAAK,EAAE,EAAE;QACT,SAAS,EAAE,KAAK;QAChB,iBAAiB,EAAE,IAAI,CAAC,2BAA2B;QACnD,iBAAiB,EAAE,IAAI,CAAC,2BAA2B;QACnD,sBAAsB,EAAE;YACtB,iBAAiB,EAAE,KAAK;YACxB,kBAAkB,EAAE,KAAK;YACzB,oBAAoB,EAAE,KAAK;SAC5B;QACD,UAAU,EAAE,EAAE;QACd,qBAAqB,EAAE,CAAC;KACzB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,KAAK,UAAU,qBAAqB,CAAC,EACnC,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,UAAU,EACV,OAAO,GAQR;;IACC,MAAM,QAAQ,GACZ,OAAO,CAAC,QAAQ,KAAK,OAAO;QAC1B,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO;YAC9B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,OAAO,CAAC;IAEd,MAAM,OAAO,GAAG,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,GAAG,mCAAI,qBAAqB,CAAC;IACzD,MAAM,WAAW,GAAG,UAAU;QAC5B,CAAC,CAAC,2CAA2C,OAAO,kBAAkB,QAAQ,SAAS;QACvF,CAAC,CAAC,2BAA2B,OAAO,uBAAuB,CAAC;IAE9D,IAAA,cAAI,EAAC,OAAO,CAAC;SACV,GAAG,CAAC,WAAW,CAAC;SAChB,aAAa,CACZ,GAAG,EACH,IAAI,CAAC,IAAI,CACP,SAAS,EACT,iCAAiC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CACpE,CACF,CAAC;IAEJ,OAAO,MAAM,MAAM,CAAC,WAAW,CAC7B,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,WAAW,EAAE,EAC1D,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,gBAAgB,EAC9B,MAAM,EACN,IAAI,CAAC,aAAa,CAAC,MAAM,EACzB,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,IAAA,kCAAkB,EAAC,EAAE,CAAC,EACtC,IAAA,yBAAe,EAAC,IAAI,CAAC,EACrB,KAAK,CACN,CAAC;AACJ,CAAC;AAED,IAAA,aAAI,EAAC,8BAA8B,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC/C,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACrC,IAAA,gCAAgB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAE1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAE5B,MAAM,YAAY,GAAG,MAAM,qBAAqB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACtE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC,CAAC,CAAC;YACvD,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;SACjD;QAED,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,wFAAwF,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACzG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACrC,IAAA,gCAAgB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEjC,MAAM,kBAAkB,GAAG,MAAM,qBAAqB,CAAC;YACrD,OAAO,EAAE,UAAU;YACnB,QAAQ,EAAE,IAAI;YACd,MAAM;SACP,CAAC,CAAC;QACH,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAEzD,MAAM,oBAAoB,GAAG,MAAM,qBAAqB,CAAC;YACvD,OAAO,EAAE,UAAU;YACnB,MAAM;SACP,CAAC,CAAC;QACH,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,yEAAyE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC1F,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACrC,IAAA,gCAAgB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEjC,MAAM,kBAAkB,GAAG,MAAM,qBAAqB,CAAC;YACrD,OAAO,EAAE,UAAU;YACnB,QAAQ,EAAE,IAAI;YACd,MAAM;SACP,CAAC,CAAC;QAEH,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAEzD,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,WAAW,CAC3C,SAAS,EACT,gBAAgB,EAChB,MAAM,EACN,IAAI,CAAC,aAAa,CAAC,MAAM,EACzB,IAAA,kCAAkB,EAAC,EAAE,CAAC,EACtB,IAAA,yBAAe,EAAC,IAAI,CAAC,EACrB,KAAK,CACN,CAAC;QACF,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;QAEzD,MAAM,cAAc,GAAG,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAE3D,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,yEAAyE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC1F,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACrC,IAAA,gCAAgB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEjC,MAAM,kBAAkB,GAAG,MAAM,qBAAqB,CAAC;YACrD,OAAO,EAAE,UAAU;YACnB,MAAM;SACP,CAAC,CAAC;QAEH,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAEzD,MAAM,YAAY,GAAG,MAAM,qBAAqB,CAAC;YAC/C,OAAO,EAAE,QAAQ,CAAC,aAAa;YAC/B,MAAM;YACN,UAAU,EAAE,gBAAgB;YAC5B,UAAU,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;SACjC,CAAC,CAAC;QACH,CAAC,CAAC,SAAS,CACT,YAAY,CAAC,YAAY,EACzB,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CACrD,CAAC;QAEF,MAAM,cAAc,GAAG,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAE3D,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,+FAA+F,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAChH,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACrC,IAAA,gCAAgB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEjC,MAAM,kBAAkB,GAAG,MAAM,qBAAqB,CAAC;YACrD,OAAO,EAAE,UAAU;YACnB,QAAQ,EAAE,IAAI;YACd,MAAM;SACP,CAAC,CAAC;QAEH,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAEzD,MAAM,kBAAkB,GAAG,MAAM,qBAAqB,CAAC;YACrD,OAAO,EAAE,QAAQ,CAAC,aAAa;YAC/B,UAAU,EAAE,gBAAgB;YAC5B,UAAU,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;YAC/B,MAAM;SACP,CAAC,CAAC;QACH,CAAC,CAAC,SAAS,CACT,kBAAkB,CAAC,YAAY,EAC/B,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CACrD,CAAC;QAEF,MAAM,cAAc,GAAG,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAE3D,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,MAAM,2BAA2B,GAE7B;IACF,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC;IACvB,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC;IACzB;QACE,IAAI;QACJ,uGAAuG;QACvG,KAAK;KACN;CACF,CAAC;AAEF,KAAK,MAAM,CACT,oBAAoB,EACpB,UAAU,EACV,yBAAyB,EAC1B,IAAI,2BAA2B,EAAE;IAChC,IAAA,aAAI,EAAC,0BACH,yBAAyB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,iBAC3C,gCACE,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UACrC,eAAe,UAAU,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC9C,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACrC,IAAA,gCAAgB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAEjC,MAAM,qBAAqB,CAAC;gBAC1B,OAAO,EAAE,wBAAwB;gBACjC,UAAU,EAAE,gBAAgB;gBAC5B,QAAQ,EAAE,IAAI;gBACd,MAAM;aACP,CAAC,CAAC;YAEH,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC;YAErD,MAAM,qBAAqB,CAAC;gBAC1B,OAAO,EAAE,QAAQ,CAAC,aAAa;gBAC/B,UAAU,EAAE,gBAAgB;gBAC5B,YAAY,EAAE,IAAA,kCAAkB,EAC9B,oBAAoB,CAAC,CAAC,CAAC,CAAC,2BAAW,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,EAAE,CACjE;gBACD,UAAU,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;gBACjC,MAAM;aACP,CAAC,CAAC;YAEH,MAAM,cAAc,GAAG,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAE3D,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;CACJ;AAED,IAAA,aAAI,EAAC,gDAAgD,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACjE,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACrC,IAAA,gCAAgB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEjC,MAAM,aAAa,GAAG,EAAE,CAAC;QAEzB,MAAM,QAAQ,GACZ,OAAO,CAAC,QAAQ,KAAK,OAAO;YAC1B,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO;gBAC9B,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,OAAO,CAAC;QACd,MAAM,gBAAgB,GAAG,iBAAiB,QAAQ,SAAS,CAAC;QAE5D,IAAA,cAAI,EAAC,sCAAsC,CAAC;aACzC,GAAG,CACF,uDAAuD,QAAQ,CAAC,aAAa,EAAE,CAChF;aACA,KAAK,CAAC,GAAG,EAAE;YACV,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,aAAa,EAAE;SAC9C,CAAC,CAAC;QAEL,IAAA,cAAI,EAAC,sCAAsC,CAAC;aACzC,GAAG,CACF,2DAA2D,aAAa,EAAE,CAC3E;aACA,KAAK,CAAC,GAAG,EAAE;YACV,GAAG,EAAE,+EAA+E,QAAQ,CAAC,aAAa,IAAI,gBAAgB,EAAE;SACjI,CAAC,CAAC;QAEL,IAAA,cAAI,EAAC,sCAAsC,CAAC;aACzC,GAAG,CACF,2CAA2C,QAAQ,CAAC,aAAa,IAAI,gBAAgB,EAAE,CACxF;aACA,aAAa,CACZ,GAAG,EACH,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,8CAA8C,CAAC,CACrE,CAAC;QAEJ,MAAM,MAAM,CAAC,WAAW,CACtB,SAAS,EACT,oBAAoB,EACpB,MAAM,EACN,IAAI,CAAC,aAAa,CAAC,IAAI,EACvB,IAAA,kCAAkB,EAAC,EAAE,CAAC,EACtB,IAAA,yBAAe,EAAC,IAAI,CAAC,EACrB,KAAK,CACN,CAAC;QAEF,MAAM,cAAc,GAAG,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC3D,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,iCAAiC,EAAE,CAAC,CAAC,EAAE,EAAE;IAC5C,CAAC,CAAC,SAAS,CACT,MAAM,CAAC,mBAAmB,CACxB,mDAAmD,CACpD,EACD,UAAU,CACX,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,EAAE;IAC9B,MAAM,KAAK,GAAG;QACZ,UAAU,EAAE,gBAAgB;QAC5B,YAAY,EAAE,kBAAkB;QAChC,cAAc,EAAE,cAAc;QAC9B,OAAO,EAAE,OAAO;QAChB,aAAa,EAAE,aAAa;QAC5B,cAAc,EAAE,cAAc;KAC/B,CAAC;IAEF,KAAK,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAC9D,IAAI;YACF,MAAM,aAAa,GAAG,MAAM,CAAC,eAAe,CAC1C,OAAO,EACP,IAAA,yBAAe,EAAC,IAAI,CAAC,CACtB,CAAC;YACF,CAAC,CAAC,SAAS,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;SAC7C;QAAC,OAAO,CAAC,EAAE;YACV,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SACpD;KACF;AACH,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,0CAA0C,EAAE,CAAC,CAAC,EAAE,EAAE;IACrD,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEzD,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAExE,CAAC,CAAC,SAAS,CACT,MAAM,CAAC,eAAe,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,EAClE,CAAC,IAAI,CAAC,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,qCAAqC,EAAE,CAAC,CAAC,EAAE,EAAE;IAChD,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1E,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,wDAAwD,EAAE,CAAC,CAAC,EAAE,EAAE;IACnE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACpC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAEnE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACpC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEpE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACxD,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACzB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AACrE,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,wCAAwC,EAAE,CAAC,CAAC,EAAE,EAAE;IACnD,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAEjE,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAEjE,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CACZ,MAAM,CAAC,eAAe,CACpB,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAC1C,CAAC,KAAK,EAAE,KAAK,CAAC,EACd,EAAE,CACH,CACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,2BAA2B,EAAE,CAAC,CAAC,EAAE,EAAE;IACtC,MAAM,MAAM,GAAG,IAAA,yBAAe,EAAC,IAAI,CAAC,CAAC;IAErC,IAAA,4BAAqB,EAAC,WAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,MAAM,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;IAEjD,IAAA,4BAAqB,EAAC,WAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAE7C,kCAAkC;IAClC,OAAO,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACrD,MAAM,eAAe,GAAG,MAAM,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IACjE,CAAC,CAAC,SAAS,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAAC;IAErD,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,GAAG,SAAS,CAAC;IACpD,MAAM,OAAO,GAAG,MAAM,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,0EAA0E,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC3F,MAAM,qBAAqB,GAAG,yBAAyB,EAAE,CAAC;IAC1D,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,mBAAmB,EAAE,CAAC;IACxD,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,YAAY,CAAC,wBAAwB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAC1E,CAAC,CAAC,KAAK,CACL,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAC1E,4DAA4D,CAC7D,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,kEAAkE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACnF,MAAM,qBAAqB,GAAG,yBAAyB,EAAE,CAAC;IAC1D,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,mBAAmB,EAAE,CAAC;IACxD,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,YAAY,CAAC,wBAAwB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAC1E,CAAC,CAAC,IAAI,CACJ,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAC1E,4DAA4D,CAC7D,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,4DAA4D,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC7E,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACtC,MAAM,qBAAqB,GAAG,yBAAyB,EAAE,CAAC;QAC1D,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,mBAAmB,EAAE,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEzD,MAAM,cAAc,GAAW;YAC7B,GAAG,UAAU;YACb,OAAO;YACP,sBAAsB,EAAE;gBACtB,iBAAiB,EAAE,KAAK;gBACxB,oBAAoB,EAAE,KAAK;gBAC3B,kBAAkB,EAAE,KAAK;aAC1B;SACF,CAAC;QAEF,MAAM,YAAY,CAAC,mBAAmB,CACpC,cAAc,EACd,EAAE,EACF,SAAS,EACT,SAAS,EACT,IAAA,kCAAkB,EAAC,EAAE,CAAC,EACtB,IAAA,yBAAe,EAAC,IAAI,CAAC,CACtB,CAAC;QAEF,MAAM,IAAI,GAAG,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrD,sCAAsC;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAW,EAAE,EAAE,CAC1C,GAAG,CAAC,UAAU,CAAC,wBAAwB,CAAC,CACzC,CAAC;QACF,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,4CAA4C,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,kFAAkF;AAClF,MAAM,mBAAmB,GAAG,aAAI,CAAC,KAAK,CAAC;IACrC,IAAI,EAAE,KAAK,EACT,CAA4B,EAC5B,sBAA8C,EAC9C,cAA+B,EAC/B,cAAmB,EACnB,EAAE;QACF,MAAM,6BAA6B,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,GAAG,MAAM,CAAC;QAClD,IAAI;YACF,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBACtC,MAAM,qBAAqB,GAAG,yBAAyB,EAAE,CAAC;gBAC1D,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,mBAAmB,EAAE,CAAC;gBACxD,KAAK;qBACF,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC;qBAChC,QAAQ,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC;gBAEhD,MAAM,cAAc,GAAW;oBAC7B,GAAG,UAAU;oBACb,GAAG,cAAc;oBACjB,OAAO;oBACP,sBAAsB;iBACvB,CAAC;gBAEF,MAAM,YAAY,CAAC,mBAAmB,CACpC,cAAc,EACd,EAAE,EACF,SAAS,EACT,SAAS,EACT,IAAA,kCAAkB,EAAC,EAAE,CAAC,EACtB,IAAA,yBAAe,EAAC,IAAI,CAAC,CACtB,CAAC;gBAEF,MAAM,IAAI,GAAG,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACrD,kCAAkC;gBAClC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAW,EAAE,EAAE,CAC1C,GAAG,CAAC,UAAU,CAAC,wBAAwB,CAAC,CACzC,CAAC;gBACF,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,4CAA4C,CAAC,CAAC;gBAClE,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3C,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;gBACvE,CAAC,CAAC,SAAS,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;gBAE7C,MAAM,IAAA,aAAG,EAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;SACJ;gBAAS;YACR,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,GAAG,6BAA6B,CAAC;SAC1E;IACH,CAAC;IAED,KAAK,EAAE,CAAC,aAAa,GAAG,EAAE,EAAE,EAAE,CAC5B,0CAA0C,aAAa,EAAE;CAC5D,CAAC,CAAC;AAEH,IAAA,aAAI,EACF,OAAO,EACP,mBAAmB,EACnB;IACE,iBAAiB,EAAE,KAAK;IACxB,oBAAoB,EAAE,KAAK;IAC3B,kBAAkB,EAAE,KAAK;CAC1B,EACD,EAAE,EACF,EAAE,CACH,CAAC;AAEF,IAAA,aAAI,EACF,qBAAqB,EACrB,mBAAmB,EACnB;IACE,iBAAiB,EAAE,IAAI;IACvB,oBAAoB,EAAE,KAAK;IAC3B,kBAAkB,EAAE,KAAK;CAC1B,EACD,EAAE,EACF;IACE,KAAK,EAAE,CAAC,mDAAmD,CAAC;CAC7D,CACF,CAAC;AAEF,IAAA,aAAI,EACF,yCAAyC,EACzC,mBAAmB,EACnB;IACE,iBAAiB,EAAE,IAAI;IACvB,oBAAoB,EAAE,KAAK;IAC3B,kBAAkB,EAAE,KAAK;CAC1B,EACD;IACE,iBAAiB,EAAE;QACjB,KAAK,EAAE,EAAE,UAAU,EAAE,CAAC,uBAAuB,CAAC,EAAE;KACjD;CACF,EACD;IACE,KAAK,EAAE;QACL,UAAU,EAAE;YACV,uBAAuB;YACvB,mDAAmD;SACpD;KACF;CACF,CACF,CAAC;AAEF,IAAA,aAAI,EACF,+DAA+D,EAC/D,mBAAmB,EACnB;IACE,iBAAiB,EAAE,IAAI;IACvB,oBAAoB,EAAE,KAAK;IAC3B,kBAAkB,EAAE,KAAK;CAC1B,EACD;IACE,iBAAiB,EAAE;QACjB,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,uBAAuB,CAAC,EAAE;KAC1C;CACF,EACD;IACE,KAAK,EAAE;QACL,GAAG,EAAE,CAAC,uBAAuB,CAAC;QAC9B,UAAU,EAAE,CAAC,mDAAmD,CAAC;KAClE;CACF,CACF,CAAC;AAEF,IAAA,aAAI,EACF,2BAA2B,EAC3B,mBAAmB,EACnB;IACE,iBAAiB,EAAE,KAAK;IACxB,oBAAoB,EAAE,KAAK;IAC3B,kBAAkB,EAAE,KAAK;IACzB,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;CAC3B,EACD,EAAE,EACF;IACE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;CACtB,CACF,CAAC;AAEF,IAAA,aAAI,EACF,wDAAwD,EACxD,mBAAmB,EACnB;IACE,iBAAiB,EAAE,KAAK;IACxB,oBAAoB,EAAE,KAAK;IAC3B,kBAAkB,EAAE,IAAI;IACxB,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;CAC3B,EACD;IACE,iBAAiB,EAAE;QACjB,KAAK,EAAE;YACL,GAAG,EAAE,CAAC,uBAAuB,CAAC;SAC/B;KACF;CACF,EACD;IACE,KAAK,EAAE;QACL,GAAG,EAAE,CAAC,uBAAuB,EAAE,KAAK,EAAE,KAAK,CAAC;KAC7C;CACF,CACF,CAAC;AAEF,IAAA,aAAI,EACF,yDAAyD,EACzD,mBAAmB,EACnB;IACE,iBAAiB,EAAE,KAAK;IACxB,oBAAoB,EAAE,KAAK;IAC3B,kBAAkB,EAAE,KAAK;IACzB,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;CAC3B,EACD;IACE,iBAAiB,EAAE;QACjB,KAAK,EAAE;YACL,GAAG,EAAE,CAAC,uBAAuB,CAAC;SAC/B;KACF;CACF,EACD;IACE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;CACtB,CACF,CAAC;AAEF,IAAA,aAAI,EACF,6EAA6E,EAC7E,mBAAmB,EACnB;IACE,iBAAiB,EAAE,IAAI;IACvB,oBAAoB,EAAE,KAAK;IAC3B,kBAAkB,EAAE,KAAK;IACzB,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;CAC3B,EACD;IACE,iBAAiB,EAAE;QACjB,KAAK,EAAE;YACL,GAAG,EAAE,CAAC,uBAAuB,CAAC;SAC/B;KACF;CACF,EACD;IACE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,mDAAmD,CAAC;CAC3E,CACF,CAAC;AAEF,4BAA4B;AAC5B,IAAA,aAAI,EACF,6BAA6B,EAC7B,mBAAmB,EACnB;IACE,iBAAiB,EAAE,KAAK;IACxB,oBAAoB,EAAE,KAAK;IAC3B,kBAAkB,EAAE,KAAK;IACzB,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;CACjD,EACD,EAAE,EACF;IACE,OAAO,EAAE;QACP;YACE,IAAI,EAAE,KAAK;SACZ;QACD;YACE,IAAI,EAAE,KAAK;SACZ;KACF;CACF,CACF,CAAC;AAEF,IAAA,aAAI,EACF,uCAAuC,EACvC,mBAAmB,EACnB;IACE,iBAAiB,EAAE,KAAK;IACxB,oBAAoB,EAAE,KAAK;IAC3B,kBAAkB,EAAE,KAAK;IACzB,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;CACjD,EACD;IACE,iBAAiB,EAAE;QACjB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;KAC3B;CACF,EACD;IACE,OAAO,EAAE;QACP;YACE,IAAI,EAAE,KAAK;SACZ;QACD;YACE,IAAI,EAAE,KAAK;SACZ;KACF;CACF,CACF,CAAC;AAEF,IAAA,aAAI,EACF,sCAAsC,EACtC,mBAAmB,EACnB;IACE,iBAAiB,EAAE,KAAK;IACxB,oBAAoB,EAAE,IAAI;IAC1B,kBAAkB,EAAE,KAAK;IACzB,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;CACjD,EACD;IACE,iBAAiB,EAAE;QACjB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;KAC3B;CACF,EACD;IACE,OAAO,EAAE;QACP;YACE,IAAI,EAAE,KAAK;SACZ;QACD;YACE,IAAI,EAAE,KAAK;SACZ;QACD;YACE,IAAI,EAAE,KAAK;SACZ;KACF;CACF,CACF,CAAC;AAEF,IAAA,aAAI,EACF,wCAAwC,EACxC,mBAAmB,EACnB;IACE,iBAAiB,EAAE,KAAK;IACxB,oBAAoB,EAAE,IAAI;IAC1B,kBAAkB,EAAE,IAAI;IACxB,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;CACjD,EACD,EAAE,EACF;IACE,OAAO,EAAE;QACP;YACE,IAAI,EAAE,KAAK;SACZ;QACD;YACE,IAAI,EAAE,KAAK;SACZ;KACF;CACF,CACF,CAAC;AAEF,IAAA,aAAI,EACF,uCAAuC,EACvC,mBAAmB,EACnB;IACE,iBAAiB,EAAE,KAAK;IACxB,oBAAoB,EAAE,IAAI;IAC1B,kBAAkB,EAAE,IAAI;IACxB,YAAY,EAAE,EAAE;IAChB,UAAU,EAAE,EAAE;CACf,EACD;IACE,iBAAiB,EAAE;QACjB,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,EAAE;KACZ;CACF,EACD,EAAE,CACH,CAAC;AAEF,IAAA,aAAI,EAAC,8BAA8B,EAAE,KAAK,EAAE,CAA4B,EAAE,EAAE;IAC1E,MAAM,6BAA6B,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;IAC5E,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,GAAG,OAAO,CAAC;IAEnD,IAAI;QACF,MAAM,qBAAqB,GAAG,yBAAyB,EAAE,CAAC;QAC1D,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,mBAAmB,EAAE,CAAC;QACxD,KAAK;aACF,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC;aAChC,QAAQ,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC;QAEhD,MAAM,YAAY,CAAC,mBAAmB,CACpC,UAAU,EACV,EAAE,EACF,SAAS,EACT,SAAS,EACT,IAAA,kCAAkB,EAAC,EAAE,CAAC,EACtB,IAAA,yBAAe,EAAC,IAAI,CAAC,CACtB,CAAC;QAEF,MAAM,IAAI,GAAG,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrD,kCAAkC;QAClC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAW,EAAE,EAAE,CAC1C,GAAG,CAAC,UAAU,CAAC,wBAAwB,CAAC,CACzC,CAAC;QACF,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,gDAAgD,CAAC,CAAC;KACtE;YAAS;QACR,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,GAAG,6BAA6B,CAAC;KAC1E;AACH,CAAC,CAAC,CAAC;AAEH,SAAgB,yBAAyB;IAIvC,MAAM,gBAAgB,GAAG,KAAK,CAAC,kBAAkB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACzE,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,qBAAqB,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IACnE,qBAAqB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAChD,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AATD,8DASC"} \ 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/config-utils.js b/lib/config-utils.js index dc93eebd58..a6f8d9d117 100644 --- a/lib/config-utils.js +++ b/lib/config-utils.js @@ -134,7 +134,7 @@ const builtinSuites = ["security-extended", "security-and-quality"]; * Throws an error if suiteName is not a valid builtin suite. * May inject ML queries, and the return value will declare if this was done. */ -async function addBuiltinSuiteQueries(languages, codeQL, resultMap, packs, suiteName, featureFlags, configFile) { +async function addBuiltinSuiteQueries(languages, codeQL, resultMap, packs, suiteName, featureEnablement, configFile) { var _a; let injectedMlQueries = false; const found = builtinSuites.find((suite) => suite === suiteName); @@ -151,8 +151,7 @@ async function addBuiltinSuiteQueries(languages, codeQL, resultMap, packs, suite languages.includes("javascript") && (found === "security-extended" || found === "security-and-quality") && !((_a = packs.javascript) === null || _a === void 0 ? void 0 : _a.some(isMlPoweredJsQueriesPack)) && - (await featureFlags.getValue(feature_flags_1.FeatureFlag.MlPoweredQueriesEnabled)) && - (await (0, util_1.codeQlVersionAbove)(codeQL, codeql_1.CODEQL_VERSION_ML_POWERED_QUERIES))) { + (await featureEnablement.getValue(feature_flags_1.Feature.MlPoweredQueriesEnabled, codeQL))) { if (!packs.javascript) { packs.javascript = []; } @@ -227,7 +226,7 @@ async function addRemoteQueries(codeQL, resultMap, queryUses, tempDir, apiDetail * * @returns whether or not we injected ML queries into the packs */ -async function parseQueryUses(languages, codeQL, resultMap, packs, queryUses, tempDir, workspacePath, apiDetails, featureFlags, logger, configFile) { +async function parseQueryUses(languages, codeQL, resultMap, packs, queryUses, tempDir, workspacePath, apiDetails, featureEnablement, logger, configFile) { queryUses = queryUses.trim(); if (queryUses === "") { throw new Error(getQueryUsesInvalid(configFile)); @@ -239,7 +238,7 @@ async function parseQueryUses(languages, codeQL, resultMap, packs, queryUses, te } // Check for one of the builtin suites if (queryUses.indexOf("/") === -1 && queryUses.indexOf("@") === -1) { - return await addBuiltinSuiteQueries(languages, codeQL, resultMap, packs, queryUses, featureFlags, configFile); + return await addBuiltinSuiteQueries(languages, codeQL, resultMap, packs, queryUses, featureEnablement, configFile); } // Otherwise, must be a reference to another repo await addRemoteQueries(codeQL, resultMap, queryUses, tempDir, apiDetails, logger, configFile); @@ -454,13 +453,13 @@ async function getLanguages(codeQL, languagesInput, repository, apiDetails, logg } return parsedLanguages; } -async function addQueriesAndPacksFromWorkflow(codeQL, queriesInput, languages, resultMap, packs, tempDir, workspacePath, apiDetails, featureFlags, logger) { +async function addQueriesAndPacksFromWorkflow(codeQL, queriesInput, languages, resultMap, packs, tempDir, workspacePath, apiDetails, featureEnablement, logger) { let injectedMlQueries = false; queriesInput = queriesInput.trim(); // "+" means "don't override config file" - see shouldAddConfigFileQueries queriesInput = queriesInput.replace(/^\+/, ""); for (const query of queriesInput.split(",")) { - const didInject = await parseQueryUses(languages, codeQL, resultMap, packs, query, tempDir, workspacePath, apiDetails, featureFlags, logger); + const didInject = await parseQueryUses(languages, codeQL, resultMap, packs, query, tempDir, workspacePath, apiDetails, featureEnablement, logger); injectedMlQueries = injectedMlQueries || didInject; } return injectedMlQueries; @@ -478,7 +477,7 @@ function shouldAddConfigFileQueries(queriesInput) { /** * Get the default config for when the user has not supplied one. */ -async function getDefaultConfig(languagesInput, rawQueriesInput, rawPacksInput, dbLocation, trapCachingEnabled, debugMode, debugArtifactName, debugDatabaseName, repository, tempDir, codeQL, workspacePath, gitHubVersion, apiDetails, featureFlags, logger) { +async function getDefaultConfig(languagesInput, rawQueriesInput, rawPacksInput, dbLocation, trapCachingEnabled, debugMode, debugArtifactName, debugDatabaseName, repository, tempDir, codeQL, workspacePath, gitHubVersion, apiDetails, featureEnablement, logger) { const languages = await getLanguages(codeQL, languagesInput, repository, apiDetails, logger); const queries = {}; for (const language of languages) { @@ -496,7 +495,7 @@ async function getDefaultConfig(languagesInput, rawQueriesInput, rawPacksInput, : {}; if (rawQueriesInput) { augmentationProperties.injectedMlQueries = - await addQueriesAndPacksFromWorkflow(codeQL, rawQueriesInput, languages, queries, packs, tempDir, workspacePath, apiDetails, featureFlags, logger); + await addQueriesAndPacksFromWorkflow(codeQL, rawQueriesInput, languages, queries, packs, tempDir, workspacePath, apiDetails, featureEnablement, logger); } const { trapCaches, trapCacheDownloadTime } = await downloadCacheWithTime(trapCachingEnabled, codeQL, languages, logger); return { @@ -532,7 +531,7 @@ async function downloadCacheWithTime(trapCachingEnabled, codeQL, languages, logg /** * Load the config from the given file. */ -async function loadConfig(languagesInput, rawQueriesInput, rawPacksInput, configFile, dbLocation, trapCachingEnabled, debugMode, debugArtifactName, debugDatabaseName, repository, tempDir, codeQL, workspacePath, gitHubVersion, apiDetails, featureFlags, logger) { +async function loadConfig(languagesInput, rawQueriesInput, rawPacksInput, configFile, dbLocation, trapCachingEnabled, debugMode, debugArtifactName, debugDatabaseName, repository, tempDir, codeQL, workspacePath, gitHubVersion, apiDetails, featureEnablement, logger) { var _a; let parsedYAML; if (isLocal(configFile)) { @@ -581,7 +580,7 @@ async function loadConfig(languagesInput, rawQueriesInput, rawPacksInput, config // in the config file. if (rawQueriesInput) { augmentationProperties.injectedMlQueries = - await addQueriesAndPacksFromWorkflow(codeQL, rawQueriesInput, languages, queries, packs, tempDir, workspacePath, apiDetails, featureFlags, logger); + await addQueriesAndPacksFromWorkflow(codeQL, rawQueriesInput, languages, queries, packs, tempDir, workspacePath, apiDetails, featureEnablement, logger); } if (shouldAddConfigFileQueries(rawQueriesInput) && QUERIES_PROPERTY in parsedYAML) { @@ -593,7 +592,7 @@ async function loadConfig(languagesInput, rawQueriesInput, rawPacksInput, config if (typeof query[QUERIES_USES_PROPERTY] !== "string") { throw new Error(getQueriesMissingUses(configFile)); } - await parseQueryUses(languages, codeQL, queries, packs, query[QUERIES_USES_PROPERTY], tempDir, workspacePath, apiDetails, featureFlags, logger, configFile); + await parseQueryUses(languages, codeQL, queries, packs, query[QUERIES_USES_PROPERTY], tempDir, workspacePath, apiDetails, featureEnablement, logger, configFile); } } if (PATHS_IGNORE_PROPERTY in parsedYAML) { @@ -883,16 +882,16 @@ function dbLocationOrDefault(dbLocation, tempDir) { * This will parse the config from the user input if present, or generate * a default config. The parsed config is then stored to a known location. */ -async function initConfig(languagesInput, queriesInput, packsInput, registriesInput, configFile, dbLocation, trapCachingEnabled, debugMode, debugArtifactName, debugDatabaseName, repository, tempDir, codeQL, workspacePath, gitHubVersion, apiDetails, featureFlags, logger) { +async function initConfig(languagesInput, queriesInput, packsInput, registriesInput, configFile, dbLocation, trapCachingEnabled, debugMode, debugArtifactName, debugDatabaseName, repository, tempDir, codeQL, workspacePath, gitHubVersion, apiDetails, featureEnablement, logger) { var _a, _b, _c; let config; // If no config file was provided create an empty one if (!configFile) { logger.debug("No configuration file was provided"); - config = await getDefaultConfig(languagesInput, queriesInput, packsInput, dbLocation, trapCachingEnabled, debugMode, debugArtifactName, debugDatabaseName, repository, tempDir, codeQL, workspacePath, gitHubVersion, apiDetails, featureFlags, logger); + config = await getDefaultConfig(languagesInput, queriesInput, packsInput, dbLocation, trapCachingEnabled, debugMode, debugArtifactName, debugDatabaseName, repository, tempDir, codeQL, workspacePath, gitHubVersion, apiDetails, featureEnablement, logger); } else { - config = await loadConfig(languagesInput, queriesInput, packsInput, configFile, dbLocation, trapCachingEnabled, debugMode, debugArtifactName, debugDatabaseName, repository, tempDir, codeQL, workspacePath, gitHubVersion, apiDetails, featureFlags, logger); + config = await loadConfig(languagesInput, queriesInput, packsInput, configFile, dbLocation, trapCachingEnabled, debugMode, debugArtifactName, debugDatabaseName, repository, tempDir, codeQL, workspacePath, gitHubVersion, apiDetails, featureEnablement, logger); } // The list of queries should not be empty for any language. If it is then // it is a user configuration error. @@ -908,8 +907,8 @@ async function initConfig(languagesInput, queriesInput, packsInput, registriesIn // When using the codescanning config in the CLI, pack downloads // happen in the CLI during the `database init` command, so no need // to download them here. - await (0, util_1.logCodeScanningConfigInCli)(codeQL, featureFlags, logger); - if (!(await (0, util_1.useCodeScanningConfigInCli)(codeQL, featureFlags))) { + await (0, util_1.logCodeScanningConfigInCli)(codeQL, featureEnablement, logger); + if (!(await (0, util_1.useCodeScanningConfigInCli)(codeQL, featureEnablement))) { const registries = parseRegistries(registriesInput); await downloadPacks(codeQL, config.languages, config.packs, registries, apiDetails, config.tempDir, logger); } diff --git a/lib/config-utils.js.map b/lib/config-utils.js.map index b8176611ce..24e4f06794 100644 --- a/lib/config-utils.js.map +++ b/lib/config-utils.js.map @@ -1 +1 @@ -{"version":3,"file":"config-utils.js","sourceRoot":"","sources":["../src/config-utils.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"config-utils.js","sourceRoot":"","sources":["../src/config-utils.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/config-utils.test.js b/lib/config-utils.test.js index 4879829609..5688e10573 100644 --- a/lib/config-utils.test.js +++ b/lib/config-utils.test.js @@ -94,8 +94,8 @@ function mockListLanguages(languages) { return { packs: [] }; }, }); - const config = await configUtils.initConfig(languages, undefined, undefined, undefined, undefined, undefined, false, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), logger); - t.deepEqual(config, await configUtils.getDefaultConfig(languages, undefined, undefined, undefined, false, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), logger)); + const config = await configUtils.initConfig(languages, undefined, undefined, undefined, undefined, undefined, false, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, testing_utils_1.createFeatures)([]), logger); + t.deepEqual(config, await configUtils.getDefaultConfig(languages, undefined, undefined, undefined, false, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, testing_utils_1.createFeatures)([]), logger)); }); }); (0, ava_1.default)("loading config saves config", async (t) => { @@ -120,7 +120,7 @@ function mockListLanguages(languages) { t.false(fs.existsSync(configUtils.getPathToParsedConfigFile(tmpDir))); // Sanity check that getConfig returns undefined before we have called initConfig t.deepEqual(await configUtils.getConfig(tmpDir, logger), undefined); - const config1 = await configUtils.initConfig("javascript,python", undefined, undefined, undefined, undefined, undefined, false, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), logger); + const config1 = await configUtils.initConfig("javascript,python", undefined, undefined, undefined, undefined, undefined, false, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, testing_utils_1.createFeatures)([]), logger); // The saved config file should now exist t.true(fs.existsSync(configUtils.getPathToParsedConfigFile(tmpDir))); // And that same newly-initialised config should now be returned by getConfig @@ -136,7 +136,7 @@ function mockListLanguages(languages) { (0, ava_1.default)("load input outside of workspace", async (t) => { return await util.withTmpDir(async (tmpDir) => { try { - await configUtils.initConfig(undefined, undefined, undefined, undefined, "../input", undefined, false, false, "", "", { owner: "github", repo: "example " }, tmpDir, (0, codeql_1.getCachedCodeQL)(), tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true)); + await configUtils.initConfig(undefined, undefined, undefined, undefined, "../input", undefined, false, false, "", "", { owner: "github", repo: "example " }, tmpDir, (0, codeql_1.getCachedCodeQL)(), tmpDir, gitHubVersion, sampleApiDetails, (0, testing_utils_1.createFeatures)([]), (0, logging_1.getRunnerLogger)(true)); throw new Error("initConfig did not throw error"); } catch (err) { @@ -149,7 +149,7 @@ function mockListLanguages(languages) { // no filename given, just a repo const configFile = "octo-org/codeql-config@main"; try { - await configUtils.initConfig(undefined, undefined, undefined, undefined, configFile, undefined, false, false, "", "", { owner: "github", repo: "example " }, tmpDir, (0, codeql_1.getCachedCodeQL)(), tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true)); + await configUtils.initConfig(undefined, undefined, undefined, undefined, configFile, undefined, false, false, "", "", { owner: "github", repo: "example " }, tmpDir, (0, codeql_1.getCachedCodeQL)(), tmpDir, gitHubVersion, sampleApiDetails, (0, testing_utils_1.createFeatures)([]), (0, logging_1.getRunnerLogger)(true)); throw new Error("initConfig did not throw error"); } catch (err) { @@ -163,7 +163,7 @@ function mockListLanguages(languages) { const configFile = "input"; t.false(fs.existsSync(path.join(tmpDir, configFile))); try { - await configUtils.initConfig(languages, undefined, undefined, undefined, configFile, undefined, false, false, "", "", { owner: "github", repo: "example " }, tmpDir, (0, codeql_1.getCachedCodeQL)(), tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true)); + await configUtils.initConfig(languages, undefined, undefined, undefined, configFile, undefined, false, false, "", "", { owner: "github", repo: "example " }, tmpDir, (0, codeql_1.getCachedCodeQL)(), tmpDir, gitHubVersion, sampleApiDetails, (0, testing_utils_1.createFeatures)([]), (0, logging_1.getRunnerLogger)(true)); throw new Error("initConfig did not throw error"); } catch (err) { @@ -239,7 +239,7 @@ function mockListLanguages(languages) { }; const languages = "javascript"; const configFilePath = createConfigFile(inputFileContents, tmpDir); - const actualConfig = await configUtils.initConfig(languages, undefined, undefined, undefined, configFilePath, undefined, false, false, "my-artifact", "my-db", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true)); + const actualConfig = await configUtils.initConfig(languages, undefined, undefined, undefined, configFilePath, undefined, false, false, "my-artifact", "my-db", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, testing_utils_1.createFeatures)([]), (0, logging_1.getRunnerLogger)(true)); // Should exactly equal the object we constructed earlier t.deepEqual(actualConfig, expectedConfig); }); @@ -278,7 +278,7 @@ function mockListLanguages(languages) { fs.mkdirSync(path.join(tmpDir, "foo")); const languages = "javascript"; const configFilePath = createConfigFile(inputFileContents, tmpDir); - await configUtils.initConfig(languages, undefined, undefined, undefined, configFilePath, undefined, false, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true)); + await configUtils.initConfig(languages, undefined, undefined, undefined, configFilePath, undefined, false, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, testing_utils_1.createFeatures)([]), (0, logging_1.getRunnerLogger)(true)); // Check resolve queries was called correctly t.deepEqual(resolveQueriesArgs.length, 1); t.deepEqual(resolveQueriesArgs[0].queries, [ @@ -324,7 +324,7 @@ function queriesToResolvedQueryForm(queries) { }, }); const languages = "javascript"; - const config = await configUtils.initConfig(languages, undefined, undefined, undefined, configFilePath, undefined, false, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true)); + const config = await configUtils.initConfig(languages, undefined, undefined, undefined, configFilePath, undefined, false, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, testing_utils_1.createFeatures)([]), (0, logging_1.getRunnerLogger)(true)); // Check resolveQueries was called correctly // It'll be called once for the default queries // and once for `./foo` from the config file. @@ -360,7 +360,7 @@ function queriesToResolvedQueryForm(queries) { }, }); const languages = "javascript"; - const config = await configUtils.initConfig(languages, testQueries, undefined, undefined, configFilePath, undefined, false, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true)); + const config = await configUtils.initConfig(languages, testQueries, undefined, undefined, configFilePath, undefined, false, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, testing_utils_1.createFeatures)([]), (0, logging_1.getRunnerLogger)(true)); // Check resolveQueries was called correctly // It'll be called once for the default queries and once for `./override`, // but won't be called for './foo' from the config file. @@ -395,7 +395,7 @@ function queriesToResolvedQueryForm(queries) { }, }); const languages = "javascript"; - const config = await configUtils.initConfig(languages, testQueries, undefined, undefined, configFilePath, undefined, false, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true)); + const config = await configUtils.initConfig(languages, testQueries, undefined, undefined, configFilePath, undefined, false, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, testing_utils_1.createFeatures)([]), (0, logging_1.getRunnerLogger)(true)); // Check resolveQueries was called correctly // It'll be called once for `./workflow-query`, // but won't be called for the default one since that was disabled @@ -424,7 +424,7 @@ function queriesToResolvedQueryForm(queries) { }, }); const languages = "javascript"; - const config = await configUtils.initConfig(languages, testQueries, undefined, undefined, undefined, undefined, false, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true)); + const config = await configUtils.initConfig(languages, testQueries, undefined, undefined, undefined, undefined, false, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, testing_utils_1.createFeatures)([]), (0, logging_1.getRunnerLogger)(true)); // Check resolveQueries was called correctly: // It'll be called once for the default queries, // and then once for each of the two queries from the workflow @@ -466,7 +466,7 @@ function queriesToResolvedQueryForm(queries) { }, }); const languages = "javascript"; - const config = await configUtils.initConfig(languages, testQueries, undefined, undefined, configFilePath, undefined, false, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true)); + const config = await configUtils.initConfig(languages, testQueries, undefined, undefined, configFilePath, undefined, false, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, testing_utils_1.createFeatures)([]), (0, logging_1.getRunnerLogger)(true)); // Check resolveQueries was called correctly // It'll be called once for the default queries, // once for each of additional1 and additional2, @@ -508,7 +508,7 @@ function queriesToResolvedQueryForm(queries) { }, }); try { - await configUtils.initConfig(languages, queries, undefined, undefined, undefined, undefined, false, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true)); + await configUtils.initConfig(languages, queries, undefined, undefined, undefined, undefined, false, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, testing_utils_1.createFeatures)([]), (0, logging_1.getRunnerLogger)(true)); t.fail("initConfig did not throw error"); } catch (err) { @@ -554,7 +554,7 @@ function queriesToResolvedQueryForm(queries) { fs.mkdirSync(path.join(tmpDir, "foo/bar/dev"), { recursive: true }); const configFile = "octo-org/codeql-config/config.yaml@main"; const languages = "javascript"; - await configUtils.initConfig(languages, undefined, undefined, undefined, configFile, undefined, false, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true)); + await configUtils.initConfig(languages, undefined, undefined, undefined, configFile, undefined, false, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, testing_utils_1.createFeatures)([]), (0, logging_1.getRunnerLogger)(true)); t.assert(spyGetContents.called); }); }); @@ -564,7 +564,7 @@ function queriesToResolvedQueryForm(queries) { mockGetContents(dummyResponse); const repoReference = "octo-org/codeql-config/config.yaml@main"; try { - await configUtils.initConfig(undefined, undefined, undefined, undefined, repoReference, undefined, false, false, "", "", { owner: "github", repo: "example " }, tmpDir, (0, codeql_1.getCachedCodeQL)(), tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true)); + await configUtils.initConfig(undefined, undefined, undefined, undefined, repoReference, undefined, false, false, "", "", { owner: "github", repo: "example " }, tmpDir, (0, codeql_1.getCachedCodeQL)(), tmpDir, gitHubVersion, sampleApiDetails, (0, testing_utils_1.createFeatures)([]), (0, logging_1.getRunnerLogger)(true)); throw new Error("initConfig did not throw error"); } catch (err) { @@ -580,7 +580,7 @@ function queriesToResolvedQueryForm(queries) { mockGetContents(dummyResponse); const repoReference = "octo-org/codeql-config/config.yaml@main"; try { - await configUtils.initConfig(undefined, undefined, undefined, undefined, repoReference, undefined, false, false, "", "", { owner: "github", repo: "example " }, tmpDir, (0, codeql_1.getCachedCodeQL)(), tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true)); + await configUtils.initConfig(undefined, undefined, undefined, undefined, repoReference, undefined, false, false, "", "", { owner: "github", repo: "example " }, tmpDir, (0, codeql_1.getCachedCodeQL)(), tmpDir, gitHubVersion, sampleApiDetails, (0, testing_utils_1.createFeatures)([]), (0, logging_1.getRunnerLogger)(true)); throw new Error("initConfig did not throw error"); } catch (err) { @@ -600,7 +600,7 @@ function queriesToResolvedQueryForm(queries) { }, }); try { - await configUtils.initConfig(undefined, undefined, undefined, undefined, undefined, undefined, false, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true)); + await configUtils.initConfig(undefined, undefined, undefined, undefined, undefined, undefined, false, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, testing_utils_1.createFeatures)([]), (0, logging_1.getRunnerLogger)(true)); throw new Error("initConfig did not throw error"); } catch (err) { @@ -612,7 +612,7 @@ function queriesToResolvedQueryForm(queries) { return await util.withTmpDir(async (tmpDir) => { const languages = "rubbish,english"; try { - await configUtils.initConfig(languages, undefined, undefined, undefined, undefined, undefined, false, false, "", "", { owner: "github", repo: "example " }, tmpDir, (0, codeql_1.getCachedCodeQL)(), tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true)); + await configUtils.initConfig(languages, undefined, undefined, undefined, undefined, undefined, false, false, "", "", { owner: "github", repo: "example " }, tmpDir, (0, codeql_1.getCachedCodeQL)(), tmpDir, gitHubVersion, sampleApiDetails, (0, testing_utils_1.createFeatures)([]), (0, logging_1.getRunnerLogger)(true)); throw new Error("initConfig did not throw error"); } catch (err) { @@ -643,7 +643,7 @@ function queriesToResolvedQueryForm(queries) { const configFile = path.join(tmpDir, "codeql-config.yaml"); fs.writeFileSync(configFile, inputFileContents); const languages = "javascript"; - const { packs } = await configUtils.initConfig(languages, undefined, undefined, undefined, configFile, undefined, false, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true)); + const { packs } = await configUtils.initConfig(languages, undefined, undefined, undefined, configFile, undefined, false, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, testing_utils_1.createFeatures)([]), (0, logging_1.getRunnerLogger)(true)); t.deepEqual(packs, { [languages_1.Language.javascript]: ["a/b@1.2.3"], }); @@ -680,7 +680,7 @@ function queriesToResolvedQueryForm(queries) { fs.writeFileSync(configFile, inputFileContents); fs.mkdirSync(path.join(tmpDir, "foo")); const languages = "javascript,python,cpp"; - const { packs, queries } = await configUtils.initConfig(languages, undefined, undefined, undefined, configFile, undefined, false, false, "", "", { owner: "github", repo: "example" }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true)); + const { packs, queries } = await configUtils.initConfig(languages, undefined, undefined, undefined, configFile, undefined, false, false, "", "", { owner: "github", repo: "example" }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, testing_utils_1.createFeatures)([]), (0, logging_1.getRunnerLogger)(true)); t.deepEqual(packs, { [languages_1.Language.javascript]: ["a/b@1.2.3"], [languages_1.Language.python]: ["c/d@1.2.3"], @@ -726,7 +726,7 @@ function doInvalidInputTest(testName, inputFileContents, expectedErrorMessageGen const inputFile = path.join(tmpDir, configFile); fs.writeFileSync(inputFile, inputFileContents, "utf8"); try { - await configUtils.initConfig(languages, undefined, undefined, undefined, configFile, undefined, false, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)([]), (0, logging_1.getRunnerLogger)(true)); + await configUtils.initConfig(languages, undefined, undefined, undefined, configFile, undefined, false, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, testing_utils_1.createFeatures)([]), (0, logging_1.getRunnerLogger)(true)); throw new Error("initConfig did not throw error"); } catch (err) { @@ -968,7 +968,7 @@ parseInputAndConfigErrorMacro.title = (providedTitle) => `Parse Packs input and (0, ava_1.default)("input with + only", parseInputAndConfigErrorMacro, {}, " + ", [languages_1.Language.cpp], true, /remove the '\+'/); (0, ava_1.default)("input with invalid pack name", parseInputAndConfigErrorMacro, {}, " xxx", [languages_1.Language.cpp], false, /"xxx" is not a valid pack/); const mlPoweredQueriesMacro = ava_1.default.macro({ - exec: async (t, codeQLVersion, isMlPoweredQueriesFlagEnabled, packsInput, queriesInput, expectedVersionString) => { + exec: async (t, codeQLVersion, isMlPoweredQueriesEnabled, packsInput, queriesInput, expectedVersionString) => { return await util.withTmpDir(async (tmpDir) => { const codeQL = (0, codeql_1.setCodeQL)({ async getVersion() { @@ -987,9 +987,7 @@ const mlPoweredQueriesMacro = ava_1.default.macro({ return { packs: [] }; }, }); - const { packs } = await configUtils.initConfig("javascript", queriesInput, packsInput, undefined, undefined, undefined, false, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, feature_flags_1.createFeatureFlags)(isMlPoweredQueriesFlagEnabled - ? [feature_flags_1.FeatureFlag.MlPoweredQueriesEnabled] - : []), (0, logging_1.getRunnerLogger)(true)); + const { packs } = await configUtils.initConfig("javascript", queriesInput, packsInput, undefined, undefined, undefined, false, false, "", "", { owner: "github", repo: "example " }, tmpDir, codeQL, tmpDir, gitHubVersion, sampleApiDetails, (0, testing_utils_1.createFeatures)(isMlPoweredQueriesEnabled ? [feature_flags_1.Feature.MlPoweredQueriesEnabled] : []), (0, logging_1.getRunnerLogger)(true)); if (expectedVersionString !== undefined) { t.deepEqual(packs, { [languages_1.Language.javascript]: [ @@ -1002,14 +1000,12 @@ const mlPoweredQueriesMacro = ava_1.default.macro({ } }); }, - title: (_providedTitle, codeQLVersion, isMlPoweredQueriesFlagEnabled, packsInput, queriesInput, expectedVersionString) => `ML-powered queries ${expectedVersionString !== undefined + title: (_providedTitle, codeQLVersion, isMlPoweredQueriesEnabled, packsInput, queriesInput, expectedVersionString) => `ML-powered queries ${expectedVersionString !== undefined ? `${expectedVersionString} are` - : "aren't"} loaded for packs: ${packsInput}, queries: ${queriesInput} using CLI v${codeQLVersion} when feature flag is ${isMlPoweredQueriesFlagEnabled ? "enabled" : "disabled"}`, + : "aren't"} loaded for packs: ${packsInput}, queries: ${queriesInput} using CLI v${codeQLVersion} when feature is ${isMlPoweredQueriesEnabled ? "enabled" : "disabled"}`, }); -// macro, codeQLVersion, isMlPoweredQueriesFlagEnabled, packsInput, queriesInput, expectedVersionString -// Test that ML-powered queries aren't run on v2.7.4 of the CLI. -(0, ava_1.default)(mlPoweredQueriesMacro, "2.7.4", true, undefined, "security-extended", undefined); -// Test that ML-powered queries aren't run when the feature flag is off. +// macro, codeQLVersion, isMlPoweredQueriesEnabled, packsInput, queriesInput, expectedVersionString +// Test that ML-powered queries aren't run when the feature is off. (0, ava_1.default)(mlPoweredQueriesMacro, "2.7.5", false, undefined, "security-extended", undefined); // Test that the ~0.1.0 version of ML-powered queries is run on v2.8.3 of the CLI. (0, ava_1.default)(mlPoweredQueriesMacro, "2.8.3", true, undefined, "security-extended", process.platform === "win32" ? undefined : "~0.1.0"); diff --git a/lib/config-utils.test.js.map b/lib/config-utils.test.js.map index 8443d2b452..5dabecfe1e 100644 --- a/lib/config-utils.test.js.map +++ b/lib/config-utils.test.js.map @@ -1 +1 @@ -{"version":3,"file":"config-utils.test.js","sourceRoot":"","sources":["../src/config-utils.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"config-utils.test.js","sourceRoot":"","sources":["../src/config-utils.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/defaults.json b/lib/defaults.json index 197d124e50..c7b2b2aca2 100644 --- a/lib/defaults.json +++ b/lib/defaults.json @@ -1,3 +1,3 @@ { - "bundleVersion": "codeql-bundle-20220923" + "bundleVersion": "codeql-bundle-20221010" } diff --git a/lib/feature-flags.js b/lib/feature-flags.js index 36d3843c03..7f4605b3cb 100644 --- a/lib/feature-flags.js +++ b/lib/feature-flags.js @@ -19,89 +19,144 @@ var __importStar = (this && this.__importStar) || function (mod) { return result; }; Object.defineProperty(exports, "__esModule", { value: true }); -exports.createFeatureFlags = exports.GitHubFeatureFlags = exports.FeatureFlag = void 0; +exports.Features = exports.featureConfig = exports.Feature = void 0; const api_client_1 = require("./api-client"); const util = __importStar(require("./util")); -var FeatureFlag; -(function (FeatureFlag) { - FeatureFlag["BypassToolcacheEnabled"] = "bypass_toolcache_enabled"; - FeatureFlag["MlPoweredQueriesEnabled"] = "ml_powered_queries_enabled"; - FeatureFlag["TrapCachingEnabled"] = "trap_caching_enabled"; - FeatureFlag["GolangExtractionReconciliationEnabled"] = "golang_extraction_reconciliation_enabled"; - FeatureFlag["CliConfigFileEnabled"] = "cli_config_file_enabled"; -})(FeatureFlag = exports.FeatureFlag || (exports.FeatureFlag = {})); +var Feature; +(function (Feature) { + Feature["BypassToolcacheEnabled"] = "bypass_toolcache_enabled"; + Feature["CliConfigFileEnabled"] = "cli_config_file_enabled"; + Feature["GolangExtractionReconciliationEnabled"] = "golang_extraction_reconciliation_enabled"; + Feature["MlPoweredQueriesEnabled"] = "ml_powered_queries_enabled"; + Feature["TrapCachingEnabled"] = "trap_caching_enabled"; +})(Feature = exports.Feature || (exports.Feature = {})); +exports.featureConfig = { + [Feature.BypassToolcacheEnabled]: { + envVar: "CODEQL_BYPASS_TOOLCACHE", + minimumVersion: undefined, + }, + [Feature.CliConfigFileEnabled]: { + envVar: "CODEQL_PASS_CONFIG_TO_CLI", + minimumVersion: "2.10.1", + }, + [Feature.GolangExtractionReconciliationEnabled]: { + envVar: "CODEQL_GOLANG_EXTRACTION_RECONCILIATION", + minimumVersion: undefined, + }, + [Feature.MlPoweredQueriesEnabled]: { + envVar: "CODEQL_ML_POWERED_QUERIES", + minimumVersion: "2.7.5", + }, + [Feature.TrapCachingEnabled]: { + envVar: "CODEQL_TRAP_CACHING", + minimumVersion: undefined, + }, +}; +/** + * Determines the enablement status of a number of features. + * If feature enablement is not able to be determined locally, a request to the + * GitHub API is made to determine the enablement status. + */ +class Features { + constructor(gitHubVersion, apiDetails, repositoryNwo, logger) { + this.gitHubFeatureFlags = new GitHubFeatureFlags(gitHubVersion, apiDetails, repositoryNwo, logger); + } + /** + * + * @param feature The feature to check. + * @param codeql An optional CodeQL object. If provided, and a `minimumVersion` is specified for the + * feature, the version of the CodeQL CLI will be checked against the minimum version. + * If the version is less than the minimum version, the feature will be considered + * disabled. If not provided, and a `minimumVersion` is specified for the feature, the + * this function will throw. + * @returns true if the feature is enabled, false otherwise. + * + * @throws if a `minimumVersion` is specified for the feature, and `codeql` is not provided. + */ + async getValue(feature, codeql) { + if (!codeql && exports.featureConfig[feature].minimumVersion) { + throw new Error(`Internal error: A minimum version is specified for feature ${feature}, but no instance of CodeQL was provided.`); + } + // Bypassing the toolcache is disabled in test mode. + if (feature === Feature.BypassToolcacheEnabled && util.isInTestMode()) { + return false; + } + const envVar = (process.env[exports.featureConfig[feature].envVar] || "").toLocaleLowerCase(); + // Do not use this feature if user explicitly disables it via an environment variable. + if (envVar === "false") { + return false; + } + // Never use this feature if the CLI version explicitly can't support it. + const minimumVersion = exports.featureConfig[feature].minimumVersion; + if (codeql && minimumVersion) { + if (!(await util.codeQlVersionAbove(codeql, minimumVersion))) { + return false; + } + } + // Use this feature if user explicitly enables it via an environment variable. + if (envVar === "true") { + return true; + } + // Ask the GitHub API if the feature is enabled. + return await this.gitHubFeatureFlags.getValue(feature); + } +} +exports.Features = Features; class GitHubFeatureFlags { constructor(gitHubVersion, apiDetails, repositoryNwo, logger) { this.gitHubVersion = gitHubVersion; this.apiDetails = apiDetails; this.repositoryNwo = repositoryNwo; this.logger = logger; + /**/ } - async getValue(flag) { - // Bypassing the toolcache is disabled in test mode. - if (flag === FeatureFlag.BypassToolcacheEnabled && util.isInTestMode()) { - return false; - } + async getValue(feature) { const response = await this.getApiResponse(); if (response === undefined) { - this.logger.debug(`No feature flags API response for ${flag}, considering it disabled.`); + this.logger.debug(`No feature flags API response for ${feature}, considering it disabled.`); return false; } - const flagValue = response[flag]; - if (flagValue === undefined) { - this.logger.debug(`Feature flag '${flag}' undefined in API response, considering it disabled.`); + const featureEnablement = response[feature]; + if (featureEnablement === undefined) { + this.logger.debug(`Feature '${feature}' undefined in API response, considering it disabled.`); return false; } - return flagValue; + return !!featureEnablement; } async getApiResponse() { - const loadApiResponse = async () => { - // Do nothing when not running against github.com - if (this.gitHubVersion.type !== util.GitHubVariant.DOTCOM) { - this.logger.debug("Not running against github.com. Disabling all feature flags."); - return {}; - } - const client = (0, api_client_1.getApiClient)(this.apiDetails); - try { - const response = await client.request("GET /repos/:owner/:repo/code-scanning/codeql-action/features", { - owner: this.repositoryNwo.owner, - repo: this.repositoryNwo.repo, - }); - return response.data; - } - catch (e) { - if (util.isHTTPError(e) && e.status === 403) { - this.logger.warning("This run of the CodeQL Action does not have permission to access Code Scanning API endpoints. " + - "As a result, it will not be opted into any experimental features. " + - "This could be because the Action is running on a pull request from a fork. If not, " + - `please ensure the Action has the 'security-events: write' permission. Details: ${e}`); - } - else { - // Some feature flags, such as `ml_powered_queries_enabled` affect the produced alerts. - // Considering these feature flags disabled in the event of a transient error could - // therefore lead to alert churn. As a result, we crash if we cannot determine the value of - // the feature flags. - throw new Error(`Encountered an error while trying to load feature flags: ${e}`); - } - } - }; - const apiResponse = this.cachedApiResponse || (await loadApiResponse()); + const apiResponse = this.cachedApiResponse || (await this.loadApiResponse()); this.cachedApiResponse = apiResponse; return apiResponse; } + async loadApiResponse() { + // Do nothing when not running against github.com + if (this.gitHubVersion.type !== util.GitHubVariant.DOTCOM) { + this.logger.debug("Not running against github.com. Disabling all toggleable features."); + return {}; + } + const client = (0, api_client_1.getApiClient)(this.apiDetails); + try { + const response = await client.request("GET /repos/:owner/:repo/code-scanning/codeql-action/features", { + owner: this.repositoryNwo.owner, + repo: this.repositoryNwo.repo, + }); + return response.data; + } + catch (e) { + if (util.isHTTPError(e) && e.status === 403) { + this.logger.warning("This run of the CodeQL Action does not have permission to access Code Scanning API endpoints. " + + "As a result, it will not be opted into any experimental features. " + + "This could be because the Action is running on a pull request from a fork. If not, " + + `please ensure the Action has the 'security-events: write' permission. Details: ${e}`); + } + else { + // Some features, such as `ml_powered_queries_enabled` affect the produced alerts. + // Considering these features disabled in the event of a transient error could + // therefore lead to alert churn. As a result, we crash if we cannot determine the value of + // the feature. + throw new Error(`Encountered an error while trying to determine feature enablement: ${e}`); + } + } + } } -exports.GitHubFeatureFlags = GitHubFeatureFlags; -/** - * Create a feature flags instance with the specified set of enabled flags. - * - * This should be only used within tests. - */ -function createFeatureFlags(enabledFlags) { - return { - getValue: async (flag) => { - return enabledFlags.includes(flag); - }, - }; -} -exports.createFeatureFlags = createFeatureFlags; //# sourceMappingURL=feature-flags.js.map \ No newline at end of file diff --git a/lib/feature-flags.js.map b/lib/feature-flags.js.map index 058b4dddb1..ba4c7e1d10 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":"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"} \ 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/feature-flags.test.js b/lib/feature-flags.test.js index 8b944112f0..1d8fcc521e 100644 --- a/lib/feature-flags.test.js +++ b/lib/feature-flags.test.js @@ -19,87 +19,168 @@ const testApiDetails = { apiURL: undefined, }; const testRepositoryNwo = (0, repository_1.parseRepositoryNwo)("github/example"); -const ALL_FEATURE_FLAGS_DISABLED_VARIANTS = [ +const ALL_FEATURES_DISABLED_VARIANTS = [ { description: "GHES", gitHubVersion: { type: util_1.GitHubVariant.GHES, version: "3.0.0" }, }, { description: "GHAE", gitHubVersion: { type: util_1.GitHubVariant.GHAE } }, ]; -for (const variant of ALL_FEATURE_FLAGS_DISABLED_VARIANTS) { - (0, ava_1.default)(`All feature flags are disabled if running against ${variant.description}`, async (t) => { +for (const variant of ALL_FEATURES_DISABLED_VARIANTS) { + (0, ava_1.default)(`All features are disabled if running against ${variant.description}`, async (t) => { await (0, util_1.withTmpDir)(async (tmpDir) => { - (0, testing_utils_1.setupActionsVars)(tmpDir, tmpDir); const loggedMessages = []; - const featureFlags = new feature_flags_1.GitHubFeatureFlags(variant.gitHubVersion, testApiDetails, testRepositoryNwo, (0, testing_utils_1.getRecordingLogger)(loggedMessages)); - for (const flag of Object.values(feature_flags_1.FeatureFlag)) { - t.assert((await featureFlags.getValue(flag)) === false); + const featureEnablement = setUpTests(tmpDir, (0, testing_utils_1.getRecordingLogger)(loggedMessages), variant.gitHubVersion); + for (const feature of Object.values(feature_flags_1.Feature)) { + t.false(await featureEnablement.getValue(feature, includeCodeQlIfRequired(feature))); } t.assert(loggedMessages.find((v) => v.type === "debug" && v.message === - "Not running against github.com. Disabling all feature flags.") !== undefined); + "Not running against github.com. Disabling all toggleable features.") !== undefined); }); }); } (0, ava_1.default)("API response missing", async (t) => { await (0, util_1.withTmpDir)(async (tmpDir) => { - (0, testing_utils_1.setupActionsVars)(tmpDir, tmpDir); const loggedMessages = []; - const featureFlags = new feature_flags_1.GitHubFeatureFlags({ type: util_1.GitHubVariant.DOTCOM }, testApiDetails, testRepositoryNwo, (0, testing_utils_1.getRecordingLogger)(loggedMessages)); + const featureEnablement = setUpTests(tmpDir, (0, testing_utils_1.getRecordingLogger)(loggedMessages)); (0, testing_utils_1.mockFeatureFlagApiEndpoint)(403, {}); - for (const flag of Object.values(feature_flags_1.FeatureFlag)) { - t.assert((await featureFlags.getValue(flag)) === false); - } - for (const featureFlag of ["ml_powered_queries_enabled"]) { - t.assert(loggedMessages.find((v) => v.type === "debug" && - v.message === - `No feature flags API response for ${featureFlag}, considering it disabled.`) !== undefined); + for (const feature of Object.values(feature_flags_1.Feature)) { + t.assert((await featureEnablement.getValue(feature, includeCodeQlIfRequired(feature))) === false); } + assertAllFeaturesUndefinedInApi(t, loggedMessages); }); }); -(0, ava_1.default)("Feature flags are disabled if they're not returned in API response", async (t) => { +(0, ava_1.default)("Features are disabled if they're not returned in API response", async (t) => { await (0, util_1.withTmpDir)(async (tmpDir) => { - (0, testing_utils_1.setupActionsVars)(tmpDir, tmpDir); const loggedMessages = []; - const featureFlags = new feature_flags_1.GitHubFeatureFlags({ type: util_1.GitHubVariant.DOTCOM }, testApiDetails, testRepositoryNwo, (0, testing_utils_1.getRecordingLogger)(loggedMessages)); + const featureEnablement = setUpTests(tmpDir, (0, testing_utils_1.getRecordingLogger)(loggedMessages)); (0, testing_utils_1.mockFeatureFlagApiEndpoint)(200, {}); - for (const flag of Object.values(feature_flags_1.FeatureFlag)) { - t.assert((await featureFlags.getValue(flag)) === false); - } - for (const featureFlag of ["ml_powered_queries_enabled"]) { - t.assert(loggedMessages.find((v) => v.type === "debug" && - v.message === - `Feature flag '${featureFlag}' undefined in API response, considering it disabled.`) !== undefined); + for (const feature of Object.values(feature_flags_1.Feature)) { + t.assert((await featureEnablement.getValue(feature, includeCodeQlIfRequired(feature))) === false); } + assertAllFeaturesUndefinedInApi(t, loggedMessages); }); }); (0, ava_1.default)("Feature flags exception is propagated if the API request errors", async (t) => { await (0, util_1.withTmpDir)(async (tmpDir) => { - (0, testing_utils_1.setupActionsVars)(tmpDir, tmpDir); - const featureFlags = new feature_flags_1.GitHubFeatureFlags({ type: util_1.GitHubVariant.DOTCOM }, testApiDetails, testRepositoryNwo, (0, logging_1.getRunnerLogger)(true)); + const featureEnablement = setUpTests(tmpDir); (0, testing_utils_1.mockFeatureFlagApiEndpoint)(500, {}); - await t.throwsAsync(async () => featureFlags.getValue(feature_flags_1.FeatureFlag.MlPoweredQueriesEnabled), { - message: "Encountered an error while trying to load feature flags: Error: some error message", + await t.throwsAsync(async () => featureEnablement.getValue(feature_flags_1.Feature.MlPoweredQueriesEnabled, includeCodeQlIfRequired(feature_flags_1.Feature.MlPoweredQueriesEnabled)), { + message: "Encountered an error while trying to determine feature enablement: Error: some error message", }); }); }); -const FEATURE_FLAGS = ["ml_powered_queries_enabled"]; -for (const featureFlag of FEATURE_FLAGS) { - (0, ava_1.default)(`Feature flag '${featureFlag}' is enabled if enabled in the API response`, async (t) => { +for (const feature of Object.keys(feature_flags_1.featureConfig)) { + (0, ava_1.default)(`Only feature '${feature}' is enabled if enabled in the API response. Other features disabled`, async (t) => { await (0, util_1.withTmpDir)(async (tmpDir) => { - (0, testing_utils_1.setupActionsVars)(tmpDir, tmpDir); - const featureFlags = new feature_flags_1.GitHubFeatureFlags({ type: util_1.GitHubVariant.DOTCOM }, testApiDetails, testRepositoryNwo, (0, logging_1.getRunnerLogger)(true)); - const expectedFeatureFlags = {}; - for (const f of FEATURE_FLAGS) { - expectedFeatureFlags[f] = false; + const featureEnablement = setUpTests(tmpDir); + // set all features to false except the one we're testing + const expectedFeatureEnablement = {}; + for (const f of Object.keys(feature_flags_1.featureConfig)) { + expectedFeatureEnablement[f] = f === feature; + } + (0, testing_utils_1.mockFeatureFlagApiEndpoint)(200, expectedFeatureEnablement); + // retrieve the values of the actual features + const actualFeatureEnablement = {}; + for (const f of Object.keys(feature_flags_1.featureConfig)) { + actualFeatureEnablement[f] = await featureEnablement.getValue(f, includeCodeQlIfRequired(f)); } - expectedFeatureFlags[featureFlag] = true; - (0, testing_utils_1.mockFeatureFlagApiEndpoint)(200, expectedFeatureFlags); - const actualFeatureFlags = { - ml_powered_queries_enabled: await featureFlags.getValue(feature_flags_1.FeatureFlag.MlPoweredQueriesEnabled), - }; - t.deepEqual(actualFeatureFlags, expectedFeatureFlags); + // All features should be false except the one we're testing + t.deepEqual(actualFeatureEnablement, expectedFeatureEnablement); + }); + }); + (0, ava_1.default)(`Only feature '${feature}' is enabled if the associated environment variable is true. Others disabled.`, async (t) => { + await (0, util_1.withTmpDir)(async (tmpDir) => { + const featureEnablement = setUpTests(tmpDir); + const expectedFeatureEnablement = initializeFeatures(false); + (0, testing_utils_1.mockFeatureFlagApiEndpoint)(200, expectedFeatureEnablement); + // feature should be disabled initially + t.assert(!(await featureEnablement.getValue(feature, includeCodeQlIfRequired(feature)))); + // set env var to true and check that the feature is now enabled + process.env[feature_flags_1.featureConfig[feature].envVar] = "true"; + t.assert(await featureEnablement.getValue(feature, includeCodeQlIfRequired(feature))); }); }); + (0, ava_1.default)(`Feature '${feature}' is disabled if the associated environment variable is false, even if enabled in API`, async (t) => { + await (0, util_1.withTmpDir)(async (tmpDir) => { + const featureEnablement = setUpTests(tmpDir); + const expectedFeatureEnablement = initializeFeatures(true); + (0, testing_utils_1.mockFeatureFlagApiEndpoint)(200, expectedFeatureEnablement); + // feature should be enabled initially + t.assert(await featureEnablement.getValue(feature, includeCodeQlIfRequired(feature))); + // set env var to false and check that the feature is now disabled + process.env[feature_flags_1.featureConfig[feature].envVar] = "false"; + t.assert(!(await featureEnablement.getValue(feature, includeCodeQlIfRequired(feature)))); + }); + }); + if (feature_flags_1.featureConfig[feature].minimumVersion !== undefined) { + (0, ava_1.default)(`Getting feature '${feature} should throw if no codeql is provided`, async (t) => { + await (0, util_1.withTmpDir)(async (tmpDir) => { + const featureEnablement = setUpTests(tmpDir); + const expectedFeatureEnablement = initializeFeatures(true); + (0, testing_utils_1.mockFeatureFlagApiEndpoint)(200, expectedFeatureEnablement); + await t.throwsAsync(async () => featureEnablement.getValue(feature), { + message: `Internal error: A minimum version is specified for feature ${feature}, but no instance of CodeQL was provided.`, + }); + }); + }); + } + if (feature_flags_1.featureConfig[feature].minimumVersion !== undefined) { + (0, ava_1.default)(`Feature '${feature}' is disabled if the minimum CLI version is below ${feature_flags_1.featureConfig[feature].minimumVersion}`, async (t) => { + await (0, util_1.withTmpDir)(async (tmpDir) => { + const featureEnablement = setUpTests(tmpDir); + const expectedFeatureEnablement = initializeFeatures(true); + (0, testing_utils_1.mockFeatureFlagApiEndpoint)(200, expectedFeatureEnablement); + // feature should be disabled when an old CLI version is set + let codeql = (0, testing_utils_1.mockCodeQLVersion)("2.0.0"); + t.assert(!(await featureEnablement.getValue(feature, codeql))); + // even setting the env var to true should not enable the feature if + // the minimum CLI version is not met + process.env[feature_flags_1.featureConfig[feature].envVar] = "true"; + t.assert(!(await featureEnablement.getValue(feature, codeql))); + // feature should be enabled when a new CLI version is set + // and env var is not set + process.env[feature_flags_1.featureConfig[feature].envVar] = ""; + codeql = (0, testing_utils_1.mockCodeQLVersion)(feature_flags_1.featureConfig[feature].minimumVersion); + t.assert(await featureEnablement.getValue(feature, codeql)); + // set env var to false and check that the feature is now disabled + process.env[feature_flags_1.featureConfig[feature].envVar] = "false"; + t.assert(!(await featureEnablement.getValue(feature, codeql))); + }); + }); + } +} +// If we ever run into a situation where we no longer have any features that +// specify a minimum version, then we will have a bunch of code no longer being +// tested. This is unlikely, and this test will fail if that happens. +// If we do end up in that situation, then we should consider adding a synthetic +// feature with a minimum version that is only used for tests. +(0, ava_1.default)("At least one feature has a minimum version specified", (t) => { + t.assert(Object.values(feature_flags_1.featureConfig).some((f) => f.minimumVersion !== undefined), "At least one feature should have a minimum version specified"); + // An even less likely scenario is that we no longer have any features. + t.assert(Object.values(feature_flags_1.featureConfig).length > 0, "There should be at least one feature"); +}); +function assertAllFeaturesUndefinedInApi(t, loggedMessages) { + for (const feature of Object.keys(feature_flags_1.featureConfig)) { + t.assert(loggedMessages.find((v) => v.type === "debug" && + v.message.includes(feature) && + v.message.includes("considering it disabled")) !== undefined); + } +} +function initializeFeatures(initialValue) { + return Object.keys(feature_flags_1.featureConfig).reduce((features, key) => { + features[key] = initialValue; + return features; + }, {}); +} +function setUpTests(tmpDir, logger = (0, logging_1.getRunnerLogger)(true), gitHubVersion = { type: util_1.GitHubVariant.DOTCOM }) { + (0, testing_utils_1.setupActionsVars)(tmpDir, tmpDir); + return new feature_flags_1.Features(gitHubVersion, testApiDetails, testRepositoryNwo, logger); +} +function includeCodeQlIfRequired(feature) { + return feature_flags_1.featureConfig[feature].minimumVersion !== undefined + ? (0, testing_utils_1.mockCodeQLVersion)("9.9.9") + : undefined; } //# sourceMappingURL=feature-flags.test.js.map \ No newline at end of file diff --git a/lib/feature-flags.test.js.map b/lib/feature-flags.test.js.map index dcc8c3ece4..2a6012a656 100644 --- a/lib/feature-flags.test.js.map +++ b/lib/feature-flags.test.js.map @@ -1 +1 @@ -{"version":3,"file":"feature-flags.test.js","sourceRoot":"","sources":["../src/feature-flags.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"feature-flags.test.js","sourceRoot":"","sources":["../src/feature-flags.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/init-action.js b/lib/init-action.js index 4296b19889..772a81c4f1 100644 --- a/lib/init-action.js +++ b/lib/init-action.js @@ -88,22 +88,22 @@ async function run() { const gitHubVersion = await (0, api_client_1.getGitHubVersionActionsOnly)(); (0, util_1.checkGitHubVersionInRange)(gitHubVersion, logger, util_1.Mode.actions); const repositoryNwo = (0, repository_1.parseRepositoryNwo)((0, util_1.getRequiredEnvParam)("GITHUB_REPOSITORY")); - const featureFlags = new feature_flags_1.GitHubFeatureFlags(gitHubVersion, apiDetails, repositoryNwo, logger); + const features = new feature_flags_1.Features(gitHubVersion, apiDetails, repositoryNwo, logger); try { const workflowErrors = await (0, actions_util_1.validateWorkflow)(); if (!(await (0, actions_util_1.sendStatusReport)(await (0, actions_util_1.createStatusReportBase)("init", "starting", startedAt, workflowErrors)))) { return; } - const initCodeQLResult = await (0, init_1.initCodeQL)((0, actions_util_1.getOptionalInput)("tools"), apiDetails, (0, actions_util_1.getTemporaryDirectory)(), gitHubVersion.type, featureFlags, logger); + const initCodeQLResult = await (0, init_1.initCodeQL)((0, actions_util_1.getOptionalInput)("tools"), apiDetails, (0, actions_util_1.getTemporaryDirectory)(), gitHubVersion.type, features, logger); codeql = initCodeQLResult.codeql; toolsVersion = initCodeQLResult.toolsVersion; await (0, util_1.enrichEnvironment)(util_1.Mode.actions, codeql); - config = await (0, init_1.initConfig)((0, actions_util_1.getOptionalInput)("languages"), (0, actions_util_1.getOptionalInput)("queries"), (0, actions_util_1.getOptionalInput)("packs"), (0, actions_util_1.getOptionalInput)("registries"), (0, actions_util_1.getOptionalInput)("config-file"), (0, actions_util_1.getOptionalInput)("db-location"), await getTrapCachingEnabled(featureFlags), + config = await (0, init_1.initConfig)((0, actions_util_1.getOptionalInput)("languages"), (0, actions_util_1.getOptionalInput)("queries"), (0, actions_util_1.getOptionalInput)("packs"), (0, actions_util_1.getOptionalInput)("registries"), (0, actions_util_1.getOptionalInput)("config-file"), (0, actions_util_1.getOptionalInput)("db-location"), await getTrapCachingEnabled(features), // Debug mode is enabled if: // - The `init` Action is passed `debug: true`. // - Actions step debugging is enabled (e.g. by [enabling debug logging for a rerun](https://docs.github.com/en/actions/managing-workflow-runs/re-running-workflows-and-jobs#re-running-all-the-jobs-in-a-workflow), // or by setting the `ACTIONS_STEP_DEBUG` secret to `true`). - (0, actions_util_1.getOptionalInput)("debug") === "true" || core.isDebug(), (0, actions_util_1.getOptionalInput)("debug-artifact-name") || util_1.DEFAULT_DEBUG_ARTIFACT_NAME, (0, actions_util_1.getOptionalInput)("debug-database-name") || util_1.DEFAULT_DEBUG_DATABASE_NAME, repositoryNwo, (0, actions_util_1.getTemporaryDirectory)(), codeql, (0, util_1.getRequiredEnvParam)("GITHUB_WORKSPACE"), gitHubVersion, apiDetails, featureFlags, logger); + (0, actions_util_1.getOptionalInput)("debug") === "true" || core.isDebug(), (0, actions_util_1.getOptionalInput)("debug-artifact-name") || util_1.DEFAULT_DEBUG_ARTIFACT_NAME, (0, actions_util_1.getOptionalInput)("debug-database-name") || util_1.DEFAULT_DEBUG_DATABASE_NAME, repositoryNwo, (0, actions_util_1.getTemporaryDirectory)(), codeql, (0, util_1.getRequiredEnvParam)("GITHUB_WORKSPACE"), gitHubVersion, apiDetails, features, logger); if (config.languages.includes(languages_1.Language.python) && (0, actions_util_1.getRequiredInput)("setup-python-dependencies") === "true") { try { @@ -138,7 +138,7 @@ async function run() { (0, util_1.getMemoryFlagValue)((0, actions_util_1.getOptionalInput)("ram")).toString()); core.exportVariable("CODEQL_THREADS", (0, util_1.getThreadsFlagValue)((0, actions_util_1.getOptionalInput)("threads"), logger).toString()); const sourceRoot = path.resolve((0, util_1.getRequiredEnvParam)("GITHUB_WORKSPACE"), (0, actions_util_1.getOptionalInput)("source-root") || ""); - const tracerConfig = await (0, init_1.runInit)(codeql, config, sourceRoot, "Runner.Worker.exe", undefined, featureFlags, logger); + const tracerConfig = await (0, init_1.runInit)(codeql, config, sourceRoot, "Runner.Worker.exe", undefined, features, logger); if (tracerConfig !== undefined) { for (const [key, value] of Object.entries(tracerConfig.env)) { core.exportVariable(key, value); @@ -158,11 +158,16 @@ async function run() { } await sendSuccessStatusReport(startedAt, config, toolsVersion, logger); } -async function getTrapCachingEnabled(featureFlags) { +async function getTrapCachingEnabled(featureEnablement) { + // If the workflow specified something always respect that const trapCaching = (0, actions_util_1.getOptionalInput)("trap-caching"); if (trapCaching !== undefined) return trapCaching === "true"; - return await featureFlags.getValue(feature_flags_1.FeatureFlag.TrapCachingEnabled); + // On self-hosted runners which may have slow network access, disable TRAP caching by default + if (!(0, util_1.isHostedRunner)()) + return false; + // On hosted runners, respect the feature flag + return await featureEnablement.getValue(feature_flags_1.Feature.TrapCachingEnabled); } async function runWrapper() { try { diff --git a/lib/init-action.js.map b/lib/init-action.js.map index 5e26cb9119..2b86df80c0 100644 --- a/lib/init-action.js.map +++ b/lib/init-action.js.map @@ -1 +1 @@ -{"version":3,"file":"init-action.js","sourceRoot":"","sources":["../src/init-action.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"init-action.js","sourceRoot":"","sources":["../src/init-action.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/init.js b/lib/init.js index 443084377c..4acf565516 100644 --- a/lib/init.js +++ b/lib/init.js @@ -30,28 +30,28 @@ const configUtils = __importStar(require("./config-utils")); const tracer_config_1 = require("./tracer-config"); const util = __importStar(require("./util")); const util_1 = require("./util"); -async function initCodeQL(codeqlURL, apiDetails, tempDir, variant, featureFlags, logger) { +async function initCodeQL(codeqlURL, apiDetails, tempDir, variant, featureEnablement, logger) { logger.startGroup("Setup CodeQL tools"); - const { codeql, toolsVersion } = await (0, codeql_1.setupCodeQL)(codeqlURL, apiDetails, tempDir, variant, featureFlags, logger, true); + const { codeql, toolsVersion } = await (0, codeql_1.setupCodeQL)(codeqlURL, apiDetails, tempDir, variant, featureEnablement, logger, true); await codeql.printVersion(); logger.endGroup(); return { codeql, toolsVersion }; } exports.initCodeQL = initCodeQL; -async function initConfig(languagesInput, queriesInput, packsInput, registriesInput, configFile, dbLocation, trapCachingEnabled, debugMode, debugArtifactName, debugDatabaseName, repository, tempDir, codeQL, workspacePath, gitHubVersion, apiDetails, featureFlags, logger) { +async function initConfig(languagesInput, queriesInput, packsInput, registriesInput, configFile, dbLocation, trapCachingEnabled, debugMode, debugArtifactName, debugDatabaseName, repository, tempDir, codeQL, workspacePath, gitHubVersion, apiDetails, featureEnablement, logger) { logger.startGroup("Load language configuration"); - const config = await configUtils.initConfig(languagesInput, queriesInput, packsInput, registriesInput, configFile, dbLocation, trapCachingEnabled, debugMode, debugArtifactName, debugDatabaseName, repository, tempDir, codeQL, workspacePath, gitHubVersion, apiDetails, featureFlags, logger); + const config = await configUtils.initConfig(languagesInput, queriesInput, packsInput, registriesInput, configFile, dbLocation, trapCachingEnabled, debugMode, debugArtifactName, debugDatabaseName, repository, tempDir, codeQL, workspacePath, gitHubVersion, apiDetails, featureEnablement, logger); analysisPaths.printPathFiltersWarning(config, logger); logger.endGroup(); return config; } exports.initConfig = initConfig; -async function runInit(codeql, config, sourceRoot, processName, processLevel, featureFlags, logger) { +async function runInit(codeql, config, sourceRoot, processName, processLevel, featureEnablement, logger) { fs.mkdirSync(config.dbLocation, { recursive: true }); try { if (await (0, util_1.codeQlVersionAbove)(codeql, codeql_1.CODEQL_VERSION_NEW_TRACING)) { // Init a database cluster - await codeql.databaseInitCluster(config, sourceRoot, processName, processLevel, featureFlags, logger); + await codeql.databaseInitCluster(config, sourceRoot, processName, processLevel, featureEnablement, logger); } else { for (const language of config.languages) { @@ -63,7 +63,7 @@ async function runInit(codeql, config, sourceRoot, processName, processLevel, fe catch (e) { throw processError(e); } - return await (0, tracer_config_1.getCombinedTracerConfig)(config, codeql, await util.isGoExtractionReconciliationEnabled(featureFlags), logger); + return await (0, tracer_config_1.getCombinedTracerConfig)(config, codeql, await util.isGoExtractionReconciliationEnabled(featureEnablement), logger); } exports.runInit = runInit; /** diff --git a/lib/init.js.map b/lib/init.js.map index ecc28112d5..d1be1f5424 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":"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"} \ No newline at end of file +{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/runner.js b/lib/runner.js index d02fb88c30..aa04644ffc 100644 --- a/lib/runner.js +++ b/lib/runner.js @@ -30,11 +30,11 @@ const analyze_1 = require("./analyze"); const autobuild_1 = require("./autobuild"); const codeql_1 = require("./codeql"); const config_utils_1 = require("./config-utils"); -const feature_flags_1 = require("./feature-flags"); const init_1 = require("./init"); const languages_1 = require("./languages"); const logging_1 = require("./logging"); const repository_1 = require("./repository"); +const testing_utils_1 = require("./testing-utils"); const upload_lib = __importStar(require("./upload-lib")); const util_1 = require("./util"); // eslint-disable-next-line import/no-commonjs @@ -152,14 +152,14 @@ program codeql = await (0, codeql_1.getCodeQL)(cmd.codeqlPath); } else { - codeql = (await (0, init_1.initCodeQL)(undefined, apiDetails, tempDir, gitHubVersion.type, (0, feature_flags_1.createFeatureFlags)([]), logger)).codeql; + codeql = (await (0, init_1.initCodeQL)(undefined, apiDetails, tempDir, gitHubVersion.type, (0, testing_utils_1.createFeatures)([]), logger)).codeql; } await (0, util_1.enrichEnvironment)(util_1.Mode.runner, codeql); const workspacePath = checkoutPath; const config = await (0, init_1.initConfig)(cmd.languages, cmd.queries, cmd.packs, undefined, // we won't support registries in the runner - cmd.configFile, undefined, false, false, "", "", (0, repository_1.parseRepositoryNwo)(cmd.repository), tempDir, codeql, workspacePath, gitHubVersion, apiDetails, (0, feature_flags_1.createFeatureFlags)([]), logger); + cmd.configFile, undefined, false, false, "", "", (0, repository_1.parseRepositoryNwo)(cmd.repository), tempDir, codeql, workspacePath, gitHubVersion, apiDetails, (0, testing_utils_1.createFeatures)([]), logger); const sourceRoot = checkoutPath; - const tracerConfig = await (0, init_1.runInit)(codeql, config, sourceRoot, parseTraceProcessName(), parseTraceProcessLevel(), (0, feature_flags_1.createFeatureFlags)([]), logger); + const tracerConfig = await (0, init_1.runInit)(codeql, config, sourceRoot, parseTraceProcessName(), parseTraceProcessLevel(), (0, testing_utils_1.createFeatures)([]), logger); if (tracerConfig === undefined) { return; } @@ -231,7 +231,7 @@ program languages = [language]; } else { - languages = await (0, autobuild_1.determineAutobuildLanguages)(config, (0, feature_flags_1.createFeatureFlags)([]), logger); + languages = await (0, autobuild_1.determineAutobuildLanguages)(config, (0, testing_utils_1.createFeatures)([]), logger); } if (languages !== undefined) { for (const language of languages) { @@ -294,8 +294,8 @@ program } const threads = (0, util_1.getThreadsFlag)(cmd.threads || initEnv["CODEQL_THREADS"], logger); const memory = (0, util_1.getMemoryFlag)(cmd.ram || initEnv["CODEQL_RAM"]); - await (0, analyze_1.runFinalize)(outputDir, threads, memory, config, logger, (0, feature_flags_1.createFeatureFlags)([])); - await (0, analyze_1.runQueries)(outputDir, memory, (0, util_1.getAddSnippetsFlag)(cmd.addSnippets), threads, cmd.category, config, logger, (0, feature_flags_1.createFeatureFlags)([])); + await (0, analyze_1.runFinalize)(outputDir, threads, memory, config, logger, (0, testing_utils_1.createFeatures)([])); + await (0, analyze_1.runQueries)(outputDir, memory, (0, util_1.getAddSnippetsFlag)(cmd.addSnippets), threads, cmd.category, config, logger, (0, testing_utils_1.createFeatures)([])); if (!cmd.upload) { logger.info("Not uploading results"); return; diff --git a/lib/runner.js.map b/lib/runner.js.map index 0cd3e3d3aa..43d837d4e0 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/lib/testing-utils.js b/lib/testing-utils.js index dcd64bf9d3..761fbc23b1 100644 --- a/lib/testing-utils.js +++ b/lib/testing-utils.js @@ -19,7 +19,7 @@ var __importStar = (this && this.__importStar) || function (mod) { return result; }; Object.defineProperty(exports, "__esModule", { value: true }); -exports.mockFeatureFlagApiEndpoint = exports.getRecordingLogger = exports.setupActionsVars = exports.setupTests = void 0; +exports.createFeatures = exports.mockCodeQLVersion = exports.mockFeatureFlagApiEndpoint = exports.getRecordingLogger = exports.setupActionsVars = exports.setupTests = void 0; const github = __importStar(require("@actions/github")); const sinon = __importStar(require("sinon")); const apiClient = __importStar(require("./api-client")); @@ -144,4 +144,25 @@ function mockFeatureFlagApiEndpoint(responseStatusCode, response) { sinon.stub(apiClient, "getApiClient").value(() => client); } exports.mockFeatureFlagApiEndpoint = mockFeatureFlagApiEndpoint; +function mockCodeQLVersion(version) { + return { + async getVersion() { + return version; + }, + }; +} +exports.mockCodeQLVersion = mockCodeQLVersion; +/** + * Create a feature enablement instance with the specified set of enabled features. + * + * This should be only used within tests. + */ +function createFeatures(enabledFeatures) { + return { + getValue: async (feature) => { + return enabledFeatures.includes(feature); + }, + }; +} +exports.createFeatures = createFeatures; //# sourceMappingURL=testing-utils.js.map \ No newline at end of file diff --git a/lib/testing-utils.js.map b/lib/testing-utils.js.map index 533543a2d3..aca0477aeb 100644 --- a/lib/testing-utils.js.map +++ b/lib/testing-utils.js.map @@ -1 +1 @@ -{"version":3,"file":"testing-utils.js","sourceRoot":"","sources":["../src/testing-utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,wDAA0C;AAE1C,6CAA+B;AAE/B,wDAA0C;AAC1C,iDAAmC;AAEnC,iCAAmC;AASnC,SAAS,UAAU,CAAC,OAAoB;IACtC,8CAA8C;IAC9C,gCAAgC;IAChC,2EAA2E;IAC3E,2FAA2F;IAC3F,OAAO,CACL,KAA0B,EAC1B,QAAiB,EACjB,EAA0B,EACjB,EAAE;QACX,2CAA2C;QAC3C,IAAI,EAAE,KAAK,SAAS,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;YACtD,EAAE,GAAG,QAAQ,CAAC;YACd,QAAQ,GAAG,SAAS,CAAC;SACtB;QAED,oBAAoB;QACpB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC;SAC7B;aAAM;YACL,OAAO,CAAC,UAAU,IAAI,IAAI,WAAW,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAC1E;QAED,iDAAiD;QACjD,IAAI,EAAE,KAAK,SAAS,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE;YAChD,EAAE,EAAE,CAAC;SACN;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AAED,SAAgB,UAAU,CAAC,IAAiB;IAC1C,MAAM,SAAS,GAAG,IAA2B,CAAC;IAE9C,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE;QACzB,gEAAgE;QAChE,0CAA0C;QAC1C,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAErB,iEAAiE;QACjE,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,EAAE,CAAC;QAC1B,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrE,CAAC,CAAC,OAAO,CAAC,WAAW,GAAG,kBAAkB,CAAC;QAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAQ,CAAC;QACpD,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrE,CAAC,CAAC,OAAO,CAAC,WAAW,GAAG,kBAAkB,CAAC;QAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAQ,CAAC;QAEpD,2EAA2E;QAC3E,2EAA2E;QAC3E,yCAAyC;QACzC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAC9C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAClC,CAAC;QACF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;SAC7C;QAED,mEAAmE;QACnE,wEAAwE;QACxE,kEAAkE;QAClE,CAAC,CAAC,OAAO,CAAC,GAAG,GAAG,EAAE,CAAC;QACnB,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QAC/B,4BAA4B;QAC5B,0DAA0D;QAC1D,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;QAC7C,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;QAC7C,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE;YACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;SAC5C;QAED,uCAAuC;QACvC,KAAK,CAAC,OAAO,EAAE,CAAC;QAEhB,oCAAoC;QACpC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC;AAjDD,gCAiDC;AAED,yEAAyE;AACzE,sDAAsD;AACtD,SAAgB,gBAAgB,CAAC,OAAe,EAAE,QAAgB;IAChE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,QAAQ,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC;AAC5C,CAAC;AAJD,4CAIC;AAOD,SAAgB,kBAAkB,CAAC,QAAyB;IAC1D,OAAO;QACL,KAAK,EAAE,CAAC,OAAe,EAAE,EAAE;YACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YAC1C,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;QACD,IAAI,EAAE,CAAC,OAAe,EAAE,EAAE;YACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;QACD,OAAO,EAAE,CAAC,OAAuB,EAAE,EAAE;YACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;QACD,KAAK,EAAE,CAAC,OAAuB,EAAE,EAAE;YACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YAC1C,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI;QACnB,UAAU,EAAE,GAAG,EAAE,CAAC,SAAS;QAC3B,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS;KAC1B,CAAC;AACJ,CAAC;AAtBD,gDAsBC;AAED,0EAA0E;AAC1E,SAAgB,0BAA0B,CACxC,kBAA0B,EAC1B,QAAyC;IAEzC,kEAAkE;IAClE,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAExC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAEjD,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAClC,8DAA8D,CAC/D,CAAC;IACF,IAAI,kBAAkB,GAAG,GAAG,EAAE;QAC5B,QAAQ,CAAC,QAAQ,CAAC;YAChB,MAAM,EAAE,kBAAkB;YAC1B,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,GAAG,EAAE,8DAA8D;SACpE,CAAC,CAAC;KACJ;SAAM;QACL,QAAQ,CAAC,MAAM,CAAC,IAAI,gBAAS,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC,CAAC;KAC1E;IAED,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;AAC5D,CAAC;AAxBD,gEAwBC"} \ No newline at end of file +{"version":3,"file":"testing-utils.js","sourceRoot":"","sources":["../src/testing-utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,wDAA0C;AAE1C,6CAA+B;AAE/B,wDAA0C;AAC1C,iDAAmC;AAGnC,iCAAmC;AASnC,SAAS,UAAU,CAAC,OAAoB;IACtC,8CAA8C;IAC9C,gCAAgC;IAChC,2EAA2E;IAC3E,2FAA2F;IAC3F,OAAO,CACL,KAA0B,EAC1B,QAAiB,EACjB,EAA0B,EACjB,EAAE;QACX,2CAA2C;QAC3C,IAAI,EAAE,KAAK,SAAS,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;YACtD,EAAE,GAAG,QAAQ,CAAC;YACd,QAAQ,GAAG,SAAS,CAAC;SACtB;QAED,oBAAoB;QACpB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC;SAC7B;aAAM;YACL,OAAO,CAAC,UAAU,IAAI,IAAI,WAAW,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAC1E;QAED,iDAAiD;QACjD,IAAI,EAAE,KAAK,SAAS,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE;YAChD,EAAE,EAAE,CAAC;SACN;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AAED,SAAgB,UAAU,CAAC,IAAiB;IAC1C,MAAM,SAAS,GAAG,IAA2B,CAAC;IAE9C,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE;QACzB,gEAAgE;QAChE,0CAA0C;QAC1C,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAErB,iEAAiE;QACjE,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,EAAE,CAAC;QAC1B,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrE,CAAC,CAAC,OAAO,CAAC,WAAW,GAAG,kBAAkB,CAAC;QAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAQ,CAAC;QACpD,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrE,CAAC,CAAC,OAAO,CAAC,WAAW,GAAG,kBAAkB,CAAC;QAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAQ,CAAC;QAEpD,2EAA2E;QAC3E,2EAA2E;QAC3E,yCAAyC;QACzC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAC9C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAClC,CAAC;QACF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;SAC7C;QAED,mEAAmE;QACnE,wEAAwE;QACxE,kEAAkE;QAClE,CAAC,CAAC,OAAO,CAAC,GAAG,GAAG,EAAE,CAAC;QACnB,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QAC/B,4BAA4B;QAC5B,0DAA0D;QAC1D,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;QAC7C,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;QAC7C,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE;YACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;SAC5C;QAED,uCAAuC;QACvC,KAAK,CAAC,OAAO,EAAE,CAAC;QAEhB,oCAAoC;QACpC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC;AAjDD,gCAiDC;AAED,yEAAyE;AACzE,sDAAsD;AACtD,SAAgB,gBAAgB,CAAC,OAAe,EAAE,QAAgB;IAChE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,QAAQ,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC;AAC5C,CAAC;AAJD,4CAIC;AAOD,SAAgB,kBAAkB,CAAC,QAAyB;IAC1D,OAAO;QACL,KAAK,EAAE,CAAC,OAAe,EAAE,EAAE;YACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YAC1C,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;QACD,IAAI,EAAE,CAAC,OAAe,EAAE,EAAE;YACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;QACD,OAAO,EAAE,CAAC,OAAuB,EAAE,EAAE;YACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;QACD,KAAK,EAAE,CAAC,OAAuB,EAAE,EAAE;YACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YAC1C,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI;QACnB,UAAU,EAAE,GAAG,EAAE,CAAC,SAAS;QAC3B,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS;KAC1B,CAAC;AACJ,CAAC;AAtBD,gDAsBC;AAED,0EAA0E;AAC1E,SAAgB,0BAA0B,CACxC,kBAA0B,EAC1B,QAAyC;IAEzC,kEAAkE;IAClE,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAExC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAEjD,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAClC,8DAA8D,CAC/D,CAAC;IACF,IAAI,kBAAkB,GAAG,GAAG,EAAE;QAC5B,QAAQ,CAAC,QAAQ,CAAC;YAChB,MAAM,EAAE,kBAAkB;YAC1B,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,GAAG,EAAE,8DAA8D;SACpE,CAAC,CAAC;KACJ;SAAM;QACL,QAAQ,CAAC,MAAM,CAAC,IAAI,gBAAS,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC,CAAC;KAC1E;IAED,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;AAC5D,CAAC;AAxBD,gEAwBC;AAED,SAAgB,iBAAiB,CAAC,OAAO;IACvC,OAAO;QACL,KAAK,CAAC,UAAU;YACd,OAAO,OAAO,CAAC;QACjB,CAAC;KACe,CAAC;AACrB,CAAC;AAND,8CAMC;AAED;;;;GAIG;AACH,SAAgB,cAAc,CAAC,eAA0B;IACvD,OAAO;QACL,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAC1B,OAAO,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;KACF,CAAC;AACJ,CAAC;AAND,wCAMC"} \ No newline at end of file diff --git a/lib/trap-caching.js b/lib/trap-caching.js index d990dfdbd3..2ad6c138ed 100644 --- a/lib/trap-caching.js +++ b/lib/trap-caching.js @@ -100,10 +100,11 @@ async function downloadTrapCaches(codeql, languages, logger) { // The SHA from the base of the PR is the most similar commit we might have a cache for const preferredKey = await cacheKey(codeql, language, baseSha); logger.info(`Looking in Actions cache for TRAP cache with key ${preferredKey}`); - const found = await (0, util_1.withTimeout)(MAX_CACHE_OPERATION_MS, cache.restoreCache([cacheDir], preferredKey, [ - await cachePrefix(codeql, language), // Fall back to any cache with the right key prefix - ]), () => { - logger.info(`Timed out waiting for TRAP cache download for ${language}, will continue without it`); + const found = await cache.restoreCache([cacheDir], preferredKey, [ + // Fall back to any cache with the right key prefix + await cachePrefix(codeql, language), + ], { + segmentTimeoutInMs: MAX_CACHE_OPERATION_MS, }); if (found === undefined) { // We didn't find a TRAP cache in the Actions cache, so the directory on disk is diff --git a/lib/trap-caching.js.map b/lib/trap-caching.js.map index 7f4dad635a..c42365a3ff 100644 --- a/lib/trap-caching.js.map +++ b/lib/trap-caching.js.map @@ -1 +1 @@ -{"version":3,"file":"trap-caching.js","sourceRoot":"","sources":["../src/trap-caching.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"trap-caching.js","sourceRoot":"","sources":["../src/trap-caching.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/util.js b/lib/util.js index a3c02c8419..31d83cff91 100644 --- a/lib/util.js +++ b/lib/util.js @@ -23,6 +23,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); exports.withTimeout = exports.tryGetFolderBytes = exports.isGoExtractionReconciliationEnabled = exports.listFolder = exports.doesDirectoryExist = exports.logCodeScanningConfigInCli = exports.useCodeScanningConfigInCli = exports.isInTestMode = exports.checkActionVersion = exports.getMlPoweredJsQueriesStatus = exports.getMlPoweredJsQueriesPack = exports.ML_POWERED_JS_QUERIES_PACK_NAME = exports.isGoodVersion = exports.delay = exports.bundleDb = exports.codeQlVersionAbove = exports.getCachedCodeQlVersion = exports.cacheCodeQlVersion = exports.isGitHubGhesVersionBelow = exports.isHTTPError = exports.UserError = exports.HTTPError = exports.getRequiredEnvParam = exports.isActions = exports.getMode = exports.enrichEnvironment = exports.initializeEnvironment = exports.EnvVar = exports.Mode = exports.assertNever = exports.getGitHubAuth = exports.apiVersionInRange = exports.DisallowedAPIVersionReason = exports.checkGitHubVersionInRange = exports.getGitHubVersion = exports.GitHubVariant = exports.parseGitHubUrl = exports.getCodeQLDatabasePath = exports.getThreadsFlag = exports.getThreadsFlagValue = exports.getAddSnippetsFlag = exports.getMemoryFlag = exports.getMemoryFlagValue = exports.withTmpDir = exports.getToolNames = exports.getExtraOptionsEnvParam = exports.DID_AUTOBUILD_GO_ENV_VAR_NAME = exports.DEFAULT_DEBUG_DATABASE_NAME = exports.DEFAULT_DEBUG_ARTIFACT_NAME = exports.GITHUB_DOTCOM_URL = void 0; +exports.isHostedRunner = void 0; const fs = __importStar(require("fs")); const os = __importStar(require("os")); const path = __importStar(require("path")); @@ -424,12 +425,6 @@ var EnvVar; * own sandwiched workflow mechanism */ EnvVar["FEATURE_SANDWICH"] = "CODEQL_ACTION_FEATURE_SANDWICH"; - /** - * If set to the "true" string and the codeql CLI version is greater than - * `CODEQL_VERSION_CONFIG_FILES`, then the codeql-action will pass the - * the codeql-config file to the codeql CLI to be processed there. - */ - EnvVar["CODEQL_PASS_CONFIG_TO_CLI"] = "CODEQL_PASS_CONFIG_TO_CLI"; })(EnvVar = exports.EnvVar || (exports.EnvVar = {})); const exportVar = (mode, name, value) => { if (mode === Mode.actions) { @@ -491,9 +486,6 @@ function getRequiredEnvParam(paramName) { return value; } exports.getRequiredEnvParam = getRequiredEnvParam; -function getOptionalEnvParam(paramName) { - return process.env[paramName] || ""; -} class HTTPError extends Error { constructor(message, status) { super(message); @@ -662,25 +654,12 @@ exports.isInTestMode = isInTestMode; * @returns true if the action should generate a conde-scanning config file * that gets passed to the CLI. */ -async function useCodeScanningConfigInCli(codeql, featureFlags) { - const envVarIsEnabled = getOptionalEnvParam(EnvVar.CODEQL_PASS_CONFIG_TO_CLI); - // If the user has explicitly turned off the feature, then don't use it. - if (envVarIsEnabled.toLocaleLowerCase() === "false") { - return false; - } - // If the user has explicitly turned on the feature, then use it. - // Or if the feature flag is enabled, then use it. - const isEnabled = envVarIsEnabled.toLocaleLowerCase() === "true" || - (await featureFlags.getValue(feature_flags_1.FeatureFlag.CliConfigFileEnabled)); - if (!isEnabled) { - return false; - } - // If the CLI version is too old, then don't use it. - return await codeQlVersionAbove(codeql, codeql_1.CODEQL_VERSION_CONFIG_FILES); +async function useCodeScanningConfigInCli(codeql, featureEnablement) { + return await featureEnablement.getValue(feature_flags_1.Feature.CliConfigFileEnabled, codeql); } exports.useCodeScanningConfigInCli = useCodeScanningConfigInCli; -async function logCodeScanningConfigInCli(codeql, featureFlags, logger) { - if (await useCodeScanningConfigInCli(codeql, featureFlags)) { +async function logCodeScanningConfigInCli(codeql, featureEnablement, logger) { + if (await useCodeScanningConfigInCli(codeql, featureEnablement)) { logger.info("Code Scanning configuration file being processed in the codeql CLI."); } else { @@ -721,9 +700,8 @@ function listFolder(dir) { return files; } exports.listFolder = listFolder; -async function isGoExtractionReconciliationEnabled(featureFlags) { - return (process.env["CODEQL_ACTION_RECONCILE_GO_EXTRACTION"] === "true" || - (await featureFlags.getValue(feature_flags_1.FeatureFlag.GolangExtractionReconciliationEnabled))); +async function isGoExtractionReconciliationEnabled(featureEnablement) { + return await featureEnablement.getValue(feature_flags_1.Feature.GolangExtractionReconciliationEnabled); } exports.isGoExtractionReconciliationEnabled = isGoExtractionReconciliationEnabled; /** @@ -748,19 +726,53 @@ exports.tryGetFolderBytes = tryGetFolderBytes; * Run a promise for a given amount of time, and if it doesn't resolve within * that time, call the provided callback and then return undefined. * + * Important: This does NOT cancel the original promise, so that promise will + * continue in the background even after the timeout has expired. If the + * original promise hangs, then this will prevent the process terminating. + * * @param timeoutMs The timeout in milliseconds. * @param promise The promise to run. * @param onTimeout A callback to call if the promise times out. * @returns The result of the promise, or undefined if the promise times out. */ async function withTimeout(timeoutMs, promise, onTimeout) { + let finished = false; + const mainTask = async () => { + const result = await promise; + finished = true; + return result; + }; const timeout = new Promise((resolve) => { setTimeout(() => { - onTimeout(); + if (!finished) + onTimeout(); resolve(undefined); }, timeoutMs); }); - return await Promise.race([promise, timeout]); + return await Promise.race([mainTask(), timeout]); } exports.withTimeout = withTimeout; +/** + * This function implements a heuristic to determine whether the + * runner we are on is hosted by GitHub. It does this by checking + * the name of the runner against the list of known GitHub-hosted + * runner names. It also checks for the presence of a toolcache + * directory with the name hostedtoolcache which is present on + * GitHub-hosted runners. + * + * @returns true iff the runner is hosted by GitHub + */ +function isHostedRunner() { + var _a, _b, _c; + return ( + // Name of the runner on hosted Windows runners + ((_a = process.env["RUNNER_NAME"]) === null || _a === void 0 ? void 0 : _a.includes("Hosted Agent")) || + ( + // Name of the runner on hosted POSIX runners + (_b = process.env["RUNNER_NAME"]) === null || _b === void 0 ? void 0 : _b.includes("GitHub Actions")) || + ( + // Segment of the path to the tool cache on all hosted runners + (_c = process.env["RUNNER_TOOL_CACHE"]) === null || _c === void 0 ? void 0 : _c.includes("hostedtoolcache"))); +} +exports.isHostedRunner = isHostedRunner; //# sourceMappingURL=util.js.map \ No newline at end of file diff --git a/lib/util.js.map b/lib/util.js.map index a43eee300f..7aa87dc812 100644 --- a/lib/util.js.map +++ b/lib/util.js.map @@ -1 +1 @@ -{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/util.test.js b/lib/util.test.js index a436265112..e7c01b2b65 100644 --- a/lib/util.test.js +++ b/lib/util.test.js @@ -31,7 +31,6 @@ const github = __importStar(require("@actions/github")); const ava_1 = __importDefault(require("ava")); const sinon = __importStar(require("sinon")); const api = __importStar(require("./api-client")); -const feature_flags_1 = require("./feature-flags"); const logging_1 = require("./logging"); const testing_utils_1 = require("./testing-utils"); const util = __importStar(require("./util")); @@ -362,40 +361,6 @@ for (const [version, githubVersion, shouldReportWarning,] of CHECK_ACTION_VERSIO ]); }); }); -(0, ava_1.default)("useCodeScanningConfigInCli with no env var", async (t) => { - t.assert(!(await util.useCodeScanningConfigInCli(mockVersion("2.10.0"), (0, feature_flags_1.createFeatureFlags)([])))); - t.assert(!(await util.useCodeScanningConfigInCli(mockVersion("2.10.1"), (0, feature_flags_1.createFeatureFlags)([])))); - t.assert(!(await util.useCodeScanningConfigInCli(mockVersion("2.10.0"), (0, feature_flags_1.createFeatureFlags)([feature_flags_1.FeatureFlag.CliConfigFileEnabled])))); - // Yay! It works! - t.assert(await util.useCodeScanningConfigInCli(mockVersion("2.10.1"), (0, feature_flags_1.createFeatureFlags)([feature_flags_1.FeatureFlag.CliConfigFileEnabled]))); -}); -for (const val of ["TRUE", "true", "True"]) { - (0, ava_1.default)(`useCodeScanningConfigInCli with env var ${val}`, async (t) => { - process.env[util.EnvVar.CODEQL_PASS_CONFIG_TO_CLI] = val; - t.assert(!(await util.useCodeScanningConfigInCli(mockVersion("2.10.0"), (0, feature_flags_1.createFeatureFlags)([])))); - t.assert(!(await util.useCodeScanningConfigInCli(mockVersion("2.10.0"), (0, feature_flags_1.createFeatureFlags)([feature_flags_1.FeatureFlag.CliConfigFileEnabled])))); - // Yay! It works! - t.assert(await util.useCodeScanningConfigInCli(mockVersion("2.10.1"), (0, feature_flags_1.createFeatureFlags)([feature_flags_1.FeatureFlag.CliConfigFileEnabled]))); - t.assert(await util.useCodeScanningConfigInCli(mockVersion("2.10.1"), (0, feature_flags_1.createFeatureFlags)([]))); - }); -} -for (const val of ["FALSE", "false", "False"]) { - (0, ava_1.default)(`useCodeScanningConfigInCli with env var ${val}`, async (t) => { - // Never turned on when env var is false - process.env[util.EnvVar.CODEQL_PASS_CONFIG_TO_CLI] = val; - t.assert(!(await util.useCodeScanningConfigInCli(mockVersion("2.10.0"), (0, feature_flags_1.createFeatureFlags)([])))); - t.assert(!(await util.useCodeScanningConfigInCli(mockVersion("2.10.0"), (0, feature_flags_1.createFeatureFlags)([feature_flags_1.FeatureFlag.CliConfigFileEnabled])))); - t.assert(!(await util.useCodeScanningConfigInCli(mockVersion("2.10.1"), (0, feature_flags_1.createFeatureFlags)([feature_flags_1.FeatureFlag.CliConfigFileEnabled])))); - t.assert(!(await util.useCodeScanningConfigInCli(mockVersion("2.10.1"), (0, feature_flags_1.createFeatureFlags)([])))); - }); -} -function mockVersion(version) { - return { - async getVersion() { - return version; - }, - }; -} const longTime = 999999; const shortTime = 10; (0, ava_1.default)("withTimeout on long task", async (t) => { @@ -424,4 +389,18 @@ const shortTime = 10; t.deepEqual(shortTaskTimedOut, false); t.deepEqual(result, 99); }); +(0, ava_1.default)("withTimeout doesn't call callback if promise resolves", async (t) => { + let shortTaskTimedOut = false; + const shortTask = new Promise((resolve) => { + setTimeout(() => { + resolve(99); + }, shortTime); + }); + const result = await util.withTimeout(100, shortTask, () => { + shortTaskTimedOut = true; + }); + await new Promise((r) => setTimeout(r, 200)); + t.deepEqual(shortTaskTimedOut, false); + t.deepEqual(result, 99); +}); //# sourceMappingURL=util.test.js.map \ No newline at end of file diff --git a/lib/util.test.js.map b/lib/util.test.js.map index 7d6b34d83e..684ca04bf2 100644 --- a/lib/util.test.js.map +++ b/lib/util.test.js.map @@ -1 +1 @@ -{"version":3,"file":"util.test.js","sourceRoot":"","sources":["../src/util.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"util.test.js","sourceRoot":"","sources":["../src/util.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json index b7c4912610..9330c2f4dd 100644 --- a/node_modules/.package-lock.json +++ b/node_modules/.package-lock.json @@ -1,34 +1,26 @@ { "name": "codeql", - "version": "1.1.27", + "version": "1.1.28", "lockfileVersion": 2, "requires": true, "packages": { "node_modules/@actions/artifact": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@actions/artifact/-/artifact-1.0.0.tgz", - "integrity": "sha512-oje+cCiM2maVwoiN+LT9kh2C6UqiTcS1tDKins+nRfckX+C8JJD2kAmzpD5fn/p5Dibjrqk1mtwreAzgNxHrDg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@actions/artifact/-/artifact-1.1.0.tgz", + "integrity": "sha512-shO+w/BAnzRnFhfsgUao8sxjByAMqDdfvek2LLKeCueBKXoTrAcp7U/hs9Fdx+z9g7Q0mbIrmHAzAAww4HK1bQ==", "dependencies": { "@actions/core": "^1.2.6", - "@actions/http-client": "^1.0.11", + "@actions/http-client": "^2.0.1", "tmp": "^0.2.1", "tmp-promise": "^3.0.2" } }, - "node_modules/@actions/artifact/node_modules/@actions/http-client": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.11.tgz", - "integrity": "sha512-VRYHGQV1rqnROJqdMvGUbY/Kn8vriQe/F9HR2AlYHzmKuM/p3kjNuXhmdBfcVgsvRWTz5C5XW5xvndZrVBuAYg==", - "dependencies": { - "tunnel": "0.0.6" - } - }, "node_modules/@actions/cache": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@actions/cache/-/cache-3.0.0.tgz", - "integrity": "sha512-GL9CT1Fnu+pqs8TTB621q8Xa8Cilw2n9MwvbgMedetH7L1q2n6jY61gzbwGbKgtVbp3gVJ12aNMi4osSGXx3KQ==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@actions/cache/-/cache-3.0.5.tgz", + "integrity": "sha512-0WpPmwnRPkn5k5ASmjoX8bY8NrZEPTwN+64nGYJmR/bHjEVgC8svdf5K956wi67tNJBGJky2+UfvNbUOtHmMHg==", "dependencies": { - "@actions/core": "^1.2.6", + "@actions/core": "^1.10.0", "@actions/exec": "^1.0.1", "@actions/glob": "^0.1.0", "@actions/http-client": "^2.0.1", @@ -57,9 +49,9 @@ } }, "node_modules/@actions/core": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.9.1.tgz", - "integrity": "sha512-5ad+U2YGrmmiw6du20AQW5XuWo7UKN2052FjSV7MX+Wfjf8sCqcsZe62NfgHys4QI4/Y+vQvLKYL8jWtA1ZBTA==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz", + "integrity": "sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==", "dependencies": { "@actions/http-client": "^2.0.1", "uuid": "^8.3.2" @@ -74,9 +66,9 @@ } }, "node_modules/@actions/exec": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.1.0.tgz", - "integrity": "sha512-LImpN9AY0J1R1mEYJjVJfSZWU4zYOlEcwSTgPve1rFQqK5AwrEs6uWW5Rv70gbDIQIAUwI86z6B+9mPK4w9Sbg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.1.1.tgz", + "integrity": "sha512-+sCcHHbVdk93a0XT19ECtO/gIXoxvdsgQLzb2fE2/5sIZmWQuluYyjPQtrtTHdU1YzTZ7bAPN4sITq2xi1679w==", "dependencies": { "@actions/io": "^1.0.1" } @@ -117,18 +109,18 @@ } }, "node_modules/@actions/io": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@actions/io/-/io-1.1.1.tgz", - "integrity": "sha512-Qi4JoKXjmE0O67wAOH6y0n26QXhMKMFo7GD/4IXNVcrtLjUlGjGuVys6pQgwF3ArfGTQu0XpqaNr0YhED2RaRA==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@actions/io/-/io-1.1.2.tgz", + "integrity": "sha512-d+RwPlMp+2qmBfeLYPLXuSRykDIFEwdTA0MMxzS9kh4kvP1ftrc/9fzy6pX6qAjthdXruHQ6/6kjT/DNo5ALuw==" }, "node_modules/@actions/tool-cache": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@actions/tool-cache/-/tool-cache-2.0.0.tgz", - "integrity": "sha512-/5/R16ddC2hw48UO5T/d1gwzsyZjBTttGLV74xnLgfD/7nJKk17ArgCi3YXj3et/IAatMDEqaTM5kw5Hevgd5A==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@actions/tool-cache/-/tool-cache-2.0.1.tgz", + "integrity": "sha512-iPU+mNwrbA8jodY8eyo/0S/QqCKDajiR8OxWTnSk/SnYg0sj8Hp4QcUEVC1YFpHWXtrfbQrE13Jz4k4HXJQKcA==", "dependencies": { "@actions/core": "^1.2.6", "@actions/exec": "^1.0.0", - "@actions/http-client": "^2.0.0", + "@actions/http-client": "^2.0.1", "@actions/io": "^1.1.1", "semver": "^6.1.0", "uuid": "^3.3.2" @@ -603,9 +595,9 @@ } }, "node_modules/@octokit/openapi-types": { - "version": "13.4.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-13.4.0.tgz", - "integrity": "sha512-2mVzW0X1+HDO3jF80/+QFZNzJiTefELKbhMu6yaBYbp/1gSMkVDm4rT472gJljTokWUlXaaE63m7WrWENhMDLw==" + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-14.0.0.tgz", + "integrity": "sha512-HNWisMYlR8VCnNurDU6os2ikx0s0VyEjDYHNS/h4cgb8DeOxQ0n72HyinUtdDVxJhFy3FWLGl0DJhfEWk3P5Iw==" }, "node_modules/@octokit/plugin-paginate-rest": { "version": "2.4.0", @@ -703,11 +695,11 @@ } }, "node_modules/@octokit/types": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-7.1.1.tgz", - "integrity": "sha512-Dx6cNTORyVaKY0Yeb9MbHksk79L8GXsihbG6PtWqTpkyA2TY1qBWE26EQXVG3dHwY9Femdd/WEeRUEiD0+H3TQ==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-8.0.0.tgz", + "integrity": "sha512-65/TPpOJP1i3K4lBJMnWqPUJ6zuOtzhtagDvydAWbEXpbFYA0oMKKyLb95NFZZP0lSh/4b6K+DQlzvYQJQQePg==", "dependencies": { - "@octokit/openapi-types": "^13.4.0" + "@octokit/openapi-types": "^14.0.0" } }, "node_modules/@opentelemetry/api": { diff --git a/node_modules/@actions/artifact/lib/internal/crc64.d.ts b/node_modules/@actions/artifact/lib/internal/crc64.d.ts new file mode 100644 index 0000000000..bab5caed02 --- /dev/null +++ b/node_modules/@actions/artifact/lib/internal/crc64.d.ts @@ -0,0 +1,21 @@ +/** + * CRC64: cyclic redundancy check, 64-bits + * + * In order to validate that artifacts are not being corrupted over the wire, this redundancy check allows us to + * validate that there was no corruption during transmission. The implementation here is based on Go's hash/crc64 pkg, + * but without the slicing-by-8 optimization: https://cs.opensource.google/go/go/+/master:src/hash/crc64/crc64.go + * + * This implementation uses a pregenerated table based on 0x9A6C9329AC4BC9B5 as the polynomial, the same polynomial that + * is used for Azure Storage: https://github.com/Azure/azure-storage-net/blob/cbe605f9faa01bfc3003d75fc5a16b2eaccfe102/Lib/Common/Core/Util/Crc64.cs#L27 + */ +/// +export declare type CRC64DigestEncoding = 'hex' | 'base64' | 'buffer'; +declare class CRC64 { + private _crc; + constructor(); + update(data: Buffer | string): void; + digest(encoding?: CRC64DigestEncoding): string | Buffer; + private toBuffer; + static flip64Bits(n: bigint): bigint; +} +export default CRC64; diff --git a/node_modules/@actions/artifact/lib/internal/crc64.js b/node_modules/@actions/artifact/lib/internal/crc64.js new file mode 100644 index 0000000000..56971fd11f --- /dev/null +++ b/node_modules/@actions/artifact/lib/internal/crc64.js @@ -0,0 +1,303 @@ +"use strict"; +/** + * CRC64: cyclic redundancy check, 64-bits + * + * In order to validate that artifacts are not being corrupted over the wire, this redundancy check allows us to + * validate that there was no corruption during transmission. The implementation here is based on Go's hash/crc64 pkg, + * but without the slicing-by-8 optimization: https://cs.opensource.google/go/go/+/master:src/hash/crc64/crc64.go + * + * This implementation uses a pregenerated table based on 0x9A6C9329AC4BC9B5 as the polynomial, the same polynomial that + * is used for Azure Storage: https://github.com/Azure/azure-storage-net/blob/cbe605f9faa01bfc3003d75fc5a16b2eaccfe102/Lib/Common/Core/Util/Crc64.cs#L27 + */ +Object.defineProperty(exports, "__esModule", { value: true }); +// when transpile target is >= ES2020 (after dropping node 12) these can be changed to bigint literals - ts(2737) +const PREGEN_POLY_TABLE = [ + BigInt('0x0000000000000000'), + BigInt('0x7F6EF0C830358979'), + BigInt('0xFEDDE190606B12F2'), + BigInt('0x81B31158505E9B8B'), + BigInt('0xC962E5739841B68F'), + BigInt('0xB60C15BBA8743FF6'), + BigInt('0x37BF04E3F82AA47D'), + BigInt('0x48D1F42BC81F2D04'), + BigInt('0xA61CECB46814FE75'), + BigInt('0xD9721C7C5821770C'), + BigInt('0x58C10D24087FEC87'), + BigInt('0x27AFFDEC384A65FE'), + BigInt('0x6F7E09C7F05548FA'), + BigInt('0x1010F90FC060C183'), + BigInt('0x91A3E857903E5A08'), + BigInt('0xEECD189FA00BD371'), + BigInt('0x78E0FF3B88BE6F81'), + BigInt('0x078E0FF3B88BE6F8'), + BigInt('0x863D1EABE8D57D73'), + BigInt('0xF953EE63D8E0F40A'), + BigInt('0xB1821A4810FFD90E'), + BigInt('0xCEECEA8020CA5077'), + BigInt('0x4F5FFBD87094CBFC'), + BigInt('0x30310B1040A14285'), + BigInt('0xDEFC138FE0AA91F4'), + BigInt('0xA192E347D09F188D'), + BigInt('0x2021F21F80C18306'), + BigInt('0x5F4F02D7B0F40A7F'), + BigInt('0x179EF6FC78EB277B'), + BigInt('0x68F0063448DEAE02'), + BigInt('0xE943176C18803589'), + BigInt('0x962DE7A428B5BCF0'), + BigInt('0xF1C1FE77117CDF02'), + BigInt('0x8EAF0EBF2149567B'), + BigInt('0x0F1C1FE77117CDF0'), + BigInt('0x7072EF2F41224489'), + BigInt('0x38A31B04893D698D'), + BigInt('0x47CDEBCCB908E0F4'), + BigInt('0xC67EFA94E9567B7F'), + BigInt('0xB9100A5CD963F206'), + BigInt('0x57DD12C379682177'), + BigInt('0x28B3E20B495DA80E'), + BigInt('0xA900F35319033385'), + BigInt('0xD66E039B2936BAFC'), + BigInt('0x9EBFF7B0E12997F8'), + BigInt('0xE1D10778D11C1E81'), + BigInt('0x606216208142850A'), + BigInt('0x1F0CE6E8B1770C73'), + BigInt('0x8921014C99C2B083'), + BigInt('0xF64FF184A9F739FA'), + BigInt('0x77FCE0DCF9A9A271'), + BigInt('0x08921014C99C2B08'), + BigInt('0x4043E43F0183060C'), + BigInt('0x3F2D14F731B68F75'), + BigInt('0xBE9E05AF61E814FE'), + BigInt('0xC1F0F56751DD9D87'), + BigInt('0x2F3DEDF8F1D64EF6'), + BigInt('0x50531D30C1E3C78F'), + BigInt('0xD1E00C6891BD5C04'), + BigInt('0xAE8EFCA0A188D57D'), + BigInt('0xE65F088B6997F879'), + BigInt('0x9931F84359A27100'), + BigInt('0x1882E91B09FCEA8B'), + BigInt('0x67EC19D339C963F2'), + BigInt('0xD75ADABD7A6E2D6F'), + BigInt('0xA8342A754A5BA416'), + BigInt('0x29873B2D1A053F9D'), + BigInt('0x56E9CBE52A30B6E4'), + BigInt('0x1E383FCEE22F9BE0'), + BigInt('0x6156CF06D21A1299'), + BigInt('0xE0E5DE5E82448912'), + BigInt('0x9F8B2E96B271006B'), + BigInt('0x71463609127AD31A'), + BigInt('0x0E28C6C1224F5A63'), + BigInt('0x8F9BD7997211C1E8'), + BigInt('0xF0F5275142244891'), + BigInt('0xB824D37A8A3B6595'), + BigInt('0xC74A23B2BA0EECEC'), + BigInt('0x46F932EAEA507767'), + BigInt('0x3997C222DA65FE1E'), + BigInt('0xAFBA2586F2D042EE'), + BigInt('0xD0D4D54EC2E5CB97'), + BigInt('0x5167C41692BB501C'), + BigInt('0x2E0934DEA28ED965'), + BigInt('0x66D8C0F56A91F461'), + BigInt('0x19B6303D5AA47D18'), + BigInt('0x980521650AFAE693'), + BigInt('0xE76BD1AD3ACF6FEA'), + BigInt('0x09A6C9329AC4BC9B'), + BigInt('0x76C839FAAAF135E2'), + BigInt('0xF77B28A2FAAFAE69'), + BigInt('0x8815D86ACA9A2710'), + BigInt('0xC0C42C4102850A14'), + BigInt('0xBFAADC8932B0836D'), + BigInt('0x3E19CDD162EE18E6'), + BigInt('0x41773D1952DB919F'), + BigInt('0x269B24CA6B12F26D'), + BigInt('0x59F5D4025B277B14'), + BigInt('0xD846C55A0B79E09F'), + BigInt('0xA72835923B4C69E6'), + BigInt('0xEFF9C1B9F35344E2'), + BigInt('0x90973171C366CD9B'), + BigInt('0x1124202993385610'), + BigInt('0x6E4AD0E1A30DDF69'), + BigInt('0x8087C87E03060C18'), + BigInt('0xFFE938B633338561'), + BigInt('0x7E5A29EE636D1EEA'), + BigInt('0x0134D92653589793'), + BigInt('0x49E52D0D9B47BA97'), + BigInt('0x368BDDC5AB7233EE'), + BigInt('0xB738CC9DFB2CA865'), + BigInt('0xC8563C55CB19211C'), + BigInt('0x5E7BDBF1E3AC9DEC'), + BigInt('0x21152B39D3991495'), + BigInt('0xA0A63A6183C78F1E'), + BigInt('0xDFC8CAA9B3F20667'), + BigInt('0x97193E827BED2B63'), + BigInt('0xE877CE4A4BD8A21A'), + BigInt('0x69C4DF121B863991'), + BigInt('0x16AA2FDA2BB3B0E8'), + BigInt('0xF86737458BB86399'), + BigInt('0x8709C78DBB8DEAE0'), + BigInt('0x06BAD6D5EBD3716B'), + BigInt('0x79D4261DDBE6F812'), + BigInt('0x3105D23613F9D516'), + BigInt('0x4E6B22FE23CC5C6F'), + BigInt('0xCFD833A67392C7E4'), + BigInt('0xB0B6C36E43A74E9D'), + BigInt('0x9A6C9329AC4BC9B5'), + BigInt('0xE50263E19C7E40CC'), + BigInt('0x64B172B9CC20DB47'), + BigInt('0x1BDF8271FC15523E'), + BigInt('0x530E765A340A7F3A'), + BigInt('0x2C608692043FF643'), + BigInt('0xADD397CA54616DC8'), + BigInt('0xD2BD67026454E4B1'), + BigInt('0x3C707F9DC45F37C0'), + BigInt('0x431E8F55F46ABEB9'), + BigInt('0xC2AD9E0DA4342532'), + BigInt('0xBDC36EC59401AC4B'), + BigInt('0xF5129AEE5C1E814F'), + BigInt('0x8A7C6A266C2B0836'), + BigInt('0x0BCF7B7E3C7593BD'), + BigInt('0x74A18BB60C401AC4'), + BigInt('0xE28C6C1224F5A634'), + BigInt('0x9DE29CDA14C02F4D'), + BigInt('0x1C518D82449EB4C6'), + BigInt('0x633F7D4A74AB3DBF'), + BigInt('0x2BEE8961BCB410BB'), + BigInt('0x548079A98C8199C2'), + BigInt('0xD53368F1DCDF0249'), + BigInt('0xAA5D9839ECEA8B30'), + BigInt('0x449080A64CE15841'), + BigInt('0x3BFE706E7CD4D138'), + BigInt('0xBA4D61362C8A4AB3'), + BigInt('0xC52391FE1CBFC3CA'), + BigInt('0x8DF265D5D4A0EECE'), + BigInt('0xF29C951DE49567B7'), + BigInt('0x732F8445B4CBFC3C'), + BigInt('0x0C41748D84FE7545'), + BigInt('0x6BAD6D5EBD3716B7'), + BigInt('0x14C39D968D029FCE'), + BigInt('0x95708CCEDD5C0445'), + BigInt('0xEA1E7C06ED698D3C'), + BigInt('0xA2CF882D2576A038'), + BigInt('0xDDA178E515432941'), + BigInt('0x5C1269BD451DB2CA'), + BigInt('0x237C997575283BB3'), + BigInt('0xCDB181EAD523E8C2'), + BigInt('0xB2DF7122E51661BB'), + BigInt('0x336C607AB548FA30'), + BigInt('0x4C0290B2857D7349'), + BigInt('0x04D364994D625E4D'), + BigInt('0x7BBD94517D57D734'), + BigInt('0xFA0E85092D094CBF'), + BigInt('0x856075C11D3CC5C6'), + BigInt('0x134D926535897936'), + BigInt('0x6C2362AD05BCF04F'), + BigInt('0xED9073F555E26BC4'), + BigInt('0x92FE833D65D7E2BD'), + BigInt('0xDA2F7716ADC8CFB9'), + BigInt('0xA54187DE9DFD46C0'), + BigInt('0x24F29686CDA3DD4B'), + BigInt('0x5B9C664EFD965432'), + BigInt('0xB5517ED15D9D8743'), + BigInt('0xCA3F8E196DA80E3A'), + BigInt('0x4B8C9F413DF695B1'), + BigInt('0x34E26F890DC31CC8'), + BigInt('0x7C339BA2C5DC31CC'), + BigInt('0x035D6B6AF5E9B8B5'), + BigInt('0x82EE7A32A5B7233E'), + BigInt('0xFD808AFA9582AA47'), + BigInt('0x4D364994D625E4DA'), + BigInt('0x3258B95CE6106DA3'), + BigInt('0xB3EBA804B64EF628'), + BigInt('0xCC8558CC867B7F51'), + BigInt('0x8454ACE74E645255'), + BigInt('0xFB3A5C2F7E51DB2C'), + BigInt('0x7A894D772E0F40A7'), + BigInt('0x05E7BDBF1E3AC9DE'), + BigInt('0xEB2AA520BE311AAF'), + BigInt('0x944455E88E0493D6'), + BigInt('0x15F744B0DE5A085D'), + BigInt('0x6A99B478EE6F8124'), + BigInt('0x224840532670AC20'), + BigInt('0x5D26B09B16452559'), + BigInt('0xDC95A1C3461BBED2'), + BigInt('0xA3FB510B762E37AB'), + BigInt('0x35D6B6AF5E9B8B5B'), + BigInt('0x4AB846676EAE0222'), + BigInt('0xCB0B573F3EF099A9'), + BigInt('0xB465A7F70EC510D0'), + BigInt('0xFCB453DCC6DA3DD4'), + BigInt('0x83DAA314F6EFB4AD'), + BigInt('0x0269B24CA6B12F26'), + BigInt('0x7D0742849684A65F'), + BigInt('0x93CA5A1B368F752E'), + BigInt('0xECA4AAD306BAFC57'), + BigInt('0x6D17BB8B56E467DC'), + BigInt('0x12794B4366D1EEA5'), + BigInt('0x5AA8BF68AECEC3A1'), + BigInt('0x25C64FA09EFB4AD8'), + BigInt('0xA4755EF8CEA5D153'), + BigInt('0xDB1BAE30FE90582A'), + BigInt('0xBCF7B7E3C7593BD8'), + BigInt('0xC399472BF76CB2A1'), + BigInt('0x422A5673A732292A'), + BigInt('0x3D44A6BB9707A053'), + BigInt('0x759552905F188D57'), + BigInt('0x0AFBA2586F2D042E'), + BigInt('0x8B48B3003F739FA5'), + BigInt('0xF42643C80F4616DC'), + BigInt('0x1AEB5B57AF4DC5AD'), + BigInt('0x6585AB9F9F784CD4'), + BigInt('0xE436BAC7CF26D75F'), + BigInt('0x9B584A0FFF135E26'), + BigInt('0xD389BE24370C7322'), + BigInt('0xACE74EEC0739FA5B'), + BigInt('0x2D545FB4576761D0'), + BigInt('0x523AAF7C6752E8A9'), + BigInt('0xC41748D84FE75459'), + BigInt('0xBB79B8107FD2DD20'), + BigInt('0x3ACAA9482F8C46AB'), + BigInt('0x45A459801FB9CFD2'), + BigInt('0x0D75ADABD7A6E2D6'), + BigInt('0x721B5D63E7936BAF'), + BigInt('0xF3A84C3BB7CDF024'), + BigInt('0x8CC6BCF387F8795D'), + BigInt('0x620BA46C27F3AA2C'), + BigInt('0x1D6554A417C62355'), + BigInt('0x9CD645FC4798B8DE'), + BigInt('0xE3B8B53477AD31A7'), + BigInt('0xAB69411FBFB21CA3'), + BigInt('0xD407B1D78F8795DA'), + BigInt('0x55B4A08FDFD90E51'), + BigInt('0x2ADA5047EFEC8728') +]; +class CRC64 { + constructor() { + this._crc = BigInt(0); + } + update(data) { + const buffer = typeof data === 'string' ? Buffer.from(data) : data; + let crc = CRC64.flip64Bits(this._crc); + for (const dataByte of buffer) { + const crcByte = Number(crc & BigInt(0xff)); + crc = PREGEN_POLY_TABLE[crcByte ^ dataByte] ^ (crc >> BigInt(8)); + } + this._crc = CRC64.flip64Bits(crc); + } + digest(encoding) { + switch (encoding) { + case 'hex': + return this._crc.toString(16).toUpperCase(); + case 'base64': + return this.toBuffer().toString('base64'); + default: + return this.toBuffer(); + } + } + toBuffer() { + return Buffer.from([0, 8, 16, 24, 32, 40, 48, 56].map(s => Number((this._crc >> BigInt(s)) & BigInt(0xff)))); + } + static flip64Bits(n) { + return (BigInt(1) << BigInt(64)) - BigInt(1) - n; + } +} +exports.default = CRC64; +//# sourceMappingURL=crc64.js.map \ No newline at end of file diff --git a/node_modules/@actions/artifact/lib/internal/crc64.js.map b/node_modules/@actions/artifact/lib/internal/crc64.js.map new file mode 100644 index 0000000000..97a221ba4a --- /dev/null +++ b/node_modules/@actions/artifact/lib/internal/crc64.js.map @@ -0,0 +1 @@ +{"version":3,"file":"crc64.js","sourceRoot":"","sources":["../../src/internal/crc64.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;AAEH,iHAAiH;AACjH,MAAM,iBAAiB,GAAG;IACxB,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;IAC5B,MAAM,CAAC,oBAAoB,CAAC;CAC7B,CAAA;AAID,MAAM,KAAK;IAGT;QACE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IACvB,CAAC;IAED,MAAM,CAAC,IAAqB;QAC1B,MAAM,MAAM,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAClE,IAAI,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAErC,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE;YAC7B,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;YAC1C,GAAG,GAAG,iBAAiB,CAAC,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;SACjE;QAED,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IACnC,CAAC;IAED,MAAM,CAAC,QAA8B;QACnC,QAAQ,QAAQ,EAAE;YAChB,KAAK,KAAK;gBACR,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;YAC7C,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAC3C;gBACE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAA;SACzB;IACH,CAAC;IAEO,QAAQ;QACd,OAAO,MAAM,CAAC,IAAI,CAChB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACrC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAChD,CACF,CAAA;IACH,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,CAAS;QACzB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAClD,CAAC;CACF;AAED,kBAAe,KAAK,CAAA"} \ No newline at end of file diff --git a/node_modules/@actions/artifact/lib/internal/download-http-client.d.ts b/node_modules/@actions/artifact/lib/internal/download-http-client.d.ts index 645c73901e..b68b4318a4 100644 --- a/node_modules/@actions/artifact/lib/internal/download-http-client.d.ts +++ b/node_modules/@actions/artifact/lib/internal/download-http-client.d.ts @@ -1,7 +1,7 @@ /// import * as fs from 'fs'; import { ListArtifactsResponse, QueryArtifactResponse } from './contracts'; -import { IHttpClientResponse } from '@actions/http-client/interfaces'; +import { HttpClientResponse } from '@actions/http-client'; import { DownloadItem } from './download-specification'; export declare class DownloadHttpClient { private downloadHttpManager; @@ -35,5 +35,5 @@ export declare class DownloadHttpClient { * @param destinationStream the stream where the file should be written to * @param isGzip a boolean denoting if the content is compressed using gzip and if we need to decode it */ - pipeResponseToFile(response: IHttpClientResponse, destinationStream: fs.WriteStream, isGzip: boolean): Promise; + pipeResponseToFile(response: HttpClientResponse, destinationStream: fs.WriteStream, isGzip: boolean): Promise; } diff --git a/node_modules/@actions/artifact/lib/internal/download-http-client.js.map b/node_modules/@actions/artifact/lib/internal/download-http-client.js.map index b46f0c5da7..597c9f873f 100644 --- a/node_modules/@actions/artifact/lib/internal/download-http-client.js.map +++ b/node_modules/@actions/artifact/lib/internal/download-http-client.js.map @@ -1 +1 @@ -{"version":3,"file":"download-http-client.js","sourceRoot":"","sources":["../../src/internal/download-http-client.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"download-http-client.js","sourceRoot":"","sources":["../../src/internal/download-http-client.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@actions/artifact/lib/internal/http-manager.d.ts b/node_modules/@actions/artifact/lib/internal/http-manager.d.ts index e8d879dba5..c6ebc01fa4 100644 --- a/node_modules/@actions/artifact/lib/internal/http-manager.d.ts +++ b/node_modules/@actions/artifact/lib/internal/http-manager.d.ts @@ -1,4 +1,4 @@ -import { HttpClient } from '@actions/http-client/index'; +import { HttpClient } from '@actions/http-client'; /** * Used for managing http clients during either upload or download */ diff --git a/node_modules/@actions/artifact/lib/internal/requestUtils.d.ts b/node_modules/@actions/artifact/lib/internal/requestUtils.d.ts index 2c7e2b7e3c..0a0fb99bae 100644 --- a/node_modules/@actions/artifact/lib/internal/requestUtils.d.ts +++ b/node_modules/@actions/artifact/lib/internal/requestUtils.d.ts @@ -1,3 +1,3 @@ -import { IHttpClientResponse } from '@actions/http-client/interfaces'; -export declare function retry(name: string, operation: () => Promise, customErrorMessages: Map, maxAttempts: number): Promise; -export declare function retryHttpClientRequest(name: string, method: () => Promise, customErrorMessages?: Map, maxAttempts?: number): Promise; +import { HttpClientResponse } from '@actions/http-client'; +export declare function retry(name: string, operation: () => Promise, customErrorMessages: Map, maxAttempts: number): Promise; +export declare function retryHttpClientRequest(name: string, method: () => Promise, customErrorMessages?: Map, maxAttempts?: number): Promise; diff --git a/node_modules/@actions/artifact/lib/internal/requestUtils.js.map b/node_modules/@actions/artifact/lib/internal/requestUtils.js.map index 5a1943fe8a..a09c474e2f 100644 --- a/node_modules/@actions/artifact/lib/internal/requestUtils.js.map +++ b/node_modules/@actions/artifact/lib/internal/requestUtils.js.map @@ -1 +1 @@ -{"version":3,"file":"requestUtils.js","sourceRoot":"","sources":["../../src/internal/requestUtils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,mCAMgB;AAChB,oDAAqC;AACrC,yDAAgD;AAEhD,SAAsB,KAAK,CACzB,IAAY,EACZ,SAA6C,EAC7C,mBAAwC,EACxC,WAAmB;;QAEnB,IAAI,QAAQ,GAAoC,SAAS,CAAA;QACzD,IAAI,UAAU,GAAuB,SAAS,CAAA;QAC9C,IAAI,WAAW,GAAG,KAAK,CAAA;QACvB,IAAI,YAAY,GAAG,EAAE,CAAA;QACrB,IAAI,sBAAsB,GAAuB,SAAS,CAAA;QAC1D,IAAI,OAAO,GAAG,CAAC,CAAA;QAEf,OAAO,OAAO,IAAI,WAAW,EAAE;YAC7B,IAAI;gBACF,QAAQ,GAAG,MAAM,SAAS,EAAE,CAAA;gBAC5B,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAA;gBAExC,IAAI,2BAAmB,CAAC,UAAU,CAAC,EAAE;oBACnC,OAAO,QAAQ,CAAA;iBAChB;gBAED,uFAAuF;gBACvF,IAAI,UAAU,EAAE;oBACd,sBAAsB,GAAG,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;iBAC7D;gBAED,WAAW,GAAG,6BAAqB,CAAC,UAAU,CAAC,CAAA;gBAC/C,YAAY,GAAG,mCAAmC,UAAU,EAAE,CAAA;aAC/D;YAAC,OAAO,KAAK,EAAE;gBACd,WAAW,GAAG,IAAI,CAAA;gBAClB,YAAY,GAAG,KAAK,CAAC,OAAO,CAAA;aAC7B;YAED,IAAI,CAAC,WAAW,EAAE;gBAChB,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,2BAA2B,CAAC,CAAA;gBAC7C,IAAI,QAAQ,EAAE;oBACZ,8BAAsB,CAAC,QAAQ,CAAC,CAAA;iBACjC;gBACD,MAAK;aACN;YAED,IAAI,CAAC,IAAI,CACP,GAAG,IAAI,cAAc,OAAO,OAAO,WAAW,uBAAuB,YAAY,EAAE,CACpF,CAAA;YAED,MAAM,aAAK,CAAC,6CAAqC,CAAC,OAAO,CAAC,CAAC,CAAA;YAC3D,OAAO,EAAE,CAAA;SACV;QAED,IAAI,QAAQ,EAAE;YACZ,8BAAsB,CAAC,QAAQ,CAAC,CAAA;SACjC;QAED,IAAI,sBAAsB,EAAE;YAC1B,MAAM,KAAK,CAAC,GAAG,IAAI,YAAY,sBAAsB,EAAE,CAAC,CAAA;SACzD;QACD,MAAM,KAAK,CAAC,GAAG,IAAI,YAAY,YAAY,EAAE,CAAC,CAAA;IAChD,CAAC;CAAA;AA1DD,sBA0DC;AAED,SAAsB,sBAAsB,CAC1C,IAAY,EACZ,MAA0C,EAC1C,sBAA2C,IAAI,GAAG,EAAE,EACpD,WAAW,GAAG,gCAAa,EAAE;;QAE7B,OAAO,MAAM,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,CAAC,CAAA;IACpE,CAAC;CAAA;AAPD,wDAOC"} \ No newline at end of file +{"version":3,"file":"requestUtils.js","sourceRoot":"","sources":["../../src/internal/requestUtils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,mCAMgB;AAChB,oDAAqC;AACrC,yDAAgD;AAEhD,SAAsB,KAAK,CACzB,IAAY,EACZ,SAA4C,EAC5C,mBAAwC,EACxC,WAAmB;;QAEnB,IAAI,QAAQ,GAAmC,SAAS,CAAA;QACxD,IAAI,UAAU,GAAuB,SAAS,CAAA;QAC9C,IAAI,WAAW,GAAG,KAAK,CAAA;QACvB,IAAI,YAAY,GAAG,EAAE,CAAA;QACrB,IAAI,sBAAsB,GAAuB,SAAS,CAAA;QAC1D,IAAI,OAAO,GAAG,CAAC,CAAA;QAEf,OAAO,OAAO,IAAI,WAAW,EAAE;YAC7B,IAAI;gBACF,QAAQ,GAAG,MAAM,SAAS,EAAE,CAAA;gBAC5B,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAA;gBAExC,IAAI,2BAAmB,CAAC,UAAU,CAAC,EAAE;oBACnC,OAAO,QAAQ,CAAA;iBAChB;gBAED,uFAAuF;gBACvF,IAAI,UAAU,EAAE;oBACd,sBAAsB,GAAG,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;iBAC7D;gBAED,WAAW,GAAG,6BAAqB,CAAC,UAAU,CAAC,CAAA;gBAC/C,YAAY,GAAG,mCAAmC,UAAU,EAAE,CAAA;aAC/D;YAAC,OAAO,KAAK,EAAE;gBACd,WAAW,GAAG,IAAI,CAAA;gBAClB,YAAY,GAAG,KAAK,CAAC,OAAO,CAAA;aAC7B;YAED,IAAI,CAAC,WAAW,EAAE;gBAChB,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,2BAA2B,CAAC,CAAA;gBAC7C,IAAI,QAAQ,EAAE;oBACZ,8BAAsB,CAAC,QAAQ,CAAC,CAAA;iBACjC;gBACD,MAAK;aACN;YAED,IAAI,CAAC,IAAI,CACP,GAAG,IAAI,cAAc,OAAO,OAAO,WAAW,uBAAuB,YAAY,EAAE,CACpF,CAAA;YAED,MAAM,aAAK,CAAC,6CAAqC,CAAC,OAAO,CAAC,CAAC,CAAA;YAC3D,OAAO,EAAE,CAAA;SACV;QAED,IAAI,QAAQ,EAAE;YACZ,8BAAsB,CAAC,QAAQ,CAAC,CAAA;SACjC;QAED,IAAI,sBAAsB,EAAE;YAC1B,MAAM,KAAK,CAAC,GAAG,IAAI,YAAY,sBAAsB,EAAE,CAAC,CAAA;SACzD;QACD,MAAM,KAAK,CAAC,GAAG,IAAI,YAAY,YAAY,EAAE,CAAC,CAAA;IAChD,CAAC;CAAA;AA1DD,sBA0DC;AAED,SAAsB,sBAAsB,CAC1C,IAAY,EACZ,MAAyC,EACzC,sBAA2C,IAAI,GAAG,EAAE,EACpD,WAAW,GAAG,gCAAa,EAAE;;QAE7B,OAAO,MAAM,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,CAAC,CAAA;IACpE,CAAC;CAAA;AAPD,wDAOC"} \ No newline at end of file diff --git a/node_modules/@actions/artifact/lib/internal/upload-http-client.js b/node_modules/@actions/artifact/lib/internal/upload-http-client.js index f68027b5df..bec9a6a4e1 100644 --- a/node_modules/@actions/artifact/lib/internal/upload-http-client.js +++ b/node_modules/@actions/artifact/lib/internal/upload-http-client.js @@ -299,8 +299,10 @@ class UploadHttpClient { */ uploadChunk(httpClientIndex, resourceUrl, openStream, start, end, uploadFileSize, isGzip, totalFileSize) { return __awaiter(this, void 0, void 0, function* () { + // open a new stream and read it to compute the digest + const digest = yield utils_1.digestForStream(openStream()); // prepare all the necessary headers before making any http call - const headers = utils_1.getUploadHeaders('application/octet-stream', true, isGzip, totalFileSize, end - start + 1, utils_1.getContentRange(start, end, uploadFileSize)); + const headers = utils_1.getUploadHeaders('application/octet-stream', true, isGzip, totalFileSize, end - start + 1, utils_1.getContentRange(start, end, uploadFileSize), digest); const uploadChunkRequest = () => __awaiter(this, void 0, void 0, function* () { const client = this.uploadHttpManager.getClient(httpClientIndex); return yield client.sendStream('PUT', resourceUrl, openStream(), headers); diff --git a/node_modules/@actions/artifact/lib/internal/upload-http-client.js.map b/node_modules/@actions/artifact/lib/internal/upload-http-client.js.map index 3347380fbb..35ebcfba6b 100644 --- a/node_modules/@actions/artifact/lib/internal/upload-http-client.js.map +++ b/node_modules/@actions/artifact/lib/internal/upload-http-client.js.map @@ -1 +1 @@ -{"version":3,"file":"upload-http-client.js","sourceRoot":"","sources":["../../src/internal/upload-http-client.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"upload-http-client.js","sourceRoot":"","sources":["../../src/internal/upload-http-client.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@actions/artifact/lib/internal/utils.d.ts b/node_modules/@actions/artifact/lib/internal/utils.d.ts index 64b37f86bb..5a5637ac2d 100644 --- a/node_modules/@actions/artifact/lib/internal/utils.d.ts +++ b/node_modules/@actions/artifact/lib/internal/utils.d.ts @@ -1,7 +1,6 @@ /// -import { HttpClient } from '@actions/http-client'; -import { IHeaders, IHttpClientResponse } from '@actions/http-client/interfaces'; -import { IncomingHttpHeaders } from 'http'; +import { IncomingHttpHeaders, OutgoingHttpHeaders } from 'http'; +import { HttpClient, HttpClientResponse } from '@actions/http-client'; /** * Returns a retry time in milliseconds that exponentially gets larger * depending on the amount of retries that have been attempted @@ -34,7 +33,7 @@ export declare function getContentRange(start: number, end: number, total: numbe * @param {string} acceptType the type of content that we can accept * @returns appropriate headers to make a specific http call during artifact download */ -export declare function getDownloadHeaders(contentType: string, isKeepAlive?: boolean, acceptGzip?: boolean): IHeaders; +export declare function getDownloadHeaders(contentType: string, isKeepAlive?: boolean, acceptGzip?: boolean): OutgoingHttpHeaders; /** * Sets all the necessary headers when uploading an artifact * @param {string} contentType the type of content being uploaded @@ -45,7 +44,7 @@ export declare function getDownloadHeaders(contentType: string, isKeepAlive?: bo * @param {string} contentRange the range of the content that is being uploaded * @returns appropriate headers to make a specific http call during artifact upload */ -export declare function getUploadHeaders(contentType: string, isKeepAlive?: boolean, isGzip?: boolean, uncompressedLength?: number, contentLength?: number, contentRange?: string): IHeaders; +export declare function getUploadHeaders(contentType: string, isKeepAlive?: boolean, isGzip?: boolean, uncompressedLength?: number, contentLength?: number, contentRange?: string, digest?: StreamDigest): OutgoingHttpHeaders; export declare function createHttpClient(userAgent: string): HttpClient; export declare function getArtifactUrl(): string; /** @@ -57,10 +56,15 @@ export declare function getArtifactUrl(): string; * Certain information such as the TLSSocket and the Readable state are not really useful for diagnostic purposes so they can be avoided. * Other information such as the headers, the response code and message might be useful, so this is displayed. */ -export declare function displayHttpDiagnostics(response: IHttpClientResponse): void; +export declare function displayHttpDiagnostics(response: HttpClientResponse): void; export declare function createDirectoriesForArtifact(directories: string[]): Promise; export declare function createEmptyFilesForArtifact(emptyFilesToCreate: string[]): Promise; export declare function getFileSize(filePath: string): Promise; export declare function rmFile(filePath: string): Promise; export declare function getProperRetention(retentionInput: number, retentionSetting: string | undefined): number; export declare function sleep(milliseconds: number): Promise; +export interface StreamDigest { + crc64: string; + md5: string; +} +export declare function digestForStream(stream: NodeJS.ReadableStream): Promise; diff --git a/node_modules/@actions/artifact/lib/internal/utils.js b/node_modules/@actions/artifact/lib/internal/utils.js index 8d3e2740e3..0d866983cb 100644 --- a/node_modules/@actions/artifact/lib/internal/utils.js +++ b/node_modules/@actions/artifact/lib/internal/utils.js @@ -8,13 +8,18 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; Object.defineProperty(exports, "__esModule", { value: true }); -exports.sleep = exports.getProperRetention = exports.rmFile = exports.getFileSize = exports.createEmptyFilesForArtifact = exports.createDirectoriesForArtifact = exports.displayHttpDiagnostics = exports.getArtifactUrl = exports.createHttpClient = exports.getUploadHeaders = exports.getDownloadHeaders = exports.getContentRange = exports.tryGetRetryAfterValueTimeInMilliseconds = exports.isThrottledStatusCode = exports.isRetryableStatusCode = exports.isForbiddenStatusCode = exports.isSuccessStatusCode = exports.getApiVersion = exports.parseEnvNumber = exports.getExponentialRetryTimeInMilliseconds = void 0; -const core_1 = require("@actions/core"); +exports.digestForStream = exports.sleep = exports.getProperRetention = exports.rmFile = exports.getFileSize = exports.createEmptyFilesForArtifact = exports.createDirectoriesForArtifact = exports.displayHttpDiagnostics = exports.getArtifactUrl = exports.createHttpClient = exports.getUploadHeaders = exports.getDownloadHeaders = exports.getContentRange = exports.tryGetRetryAfterValueTimeInMilliseconds = exports.isThrottledStatusCode = exports.isRetryableStatusCode = exports.isForbiddenStatusCode = exports.isSuccessStatusCode = exports.getApiVersion = exports.parseEnvNumber = exports.getExponentialRetryTimeInMilliseconds = void 0; +const crypto_1 = __importDefault(require("crypto")); const fs_1 = require("fs"); +const core_1 = require("@actions/core"); const http_client_1 = require("@actions/http-client"); -const auth_1 = require("@actions/http-client/auth"); +const auth_1 = require("@actions/http-client/lib/auth"); const config_variables_1 = require("./config-variables"); +const crc64_1 = __importDefault(require("./crc64")); /** * Returns a retry time in milliseconds that exponentially gets larger * depending on the amount of retries that have been attempted @@ -155,7 +160,7 @@ exports.getDownloadHeaders = getDownloadHeaders; * @param {string} contentRange the range of the content that is being uploaded * @returns appropriate headers to make a specific http call during artifact upload */ -function getUploadHeaders(contentType, isKeepAlive, isGzip, uncompressedLength, contentLength, contentRange) { +function getUploadHeaders(contentType, isKeepAlive, isGzip, uncompressedLength, contentLength, contentRange, digest) { const requestOptions = {}; requestOptions['Accept'] = `application/json;api-version=${getApiVersion()}`; if (contentType) { @@ -176,6 +181,10 @@ function getUploadHeaders(contentType, isKeepAlive, isGzip, uncompressedLength, if (contentRange) { requestOptions['Content-Range'] = contentRange; } + if (digest) { + requestOptions['x-actions-results-crc64'] = digest.crc64; + requestOptions['x-actions-results-md5'] = digest.md5; + } return requestOptions; } exports.getUploadHeaders = getUploadHeaders; @@ -261,4 +270,23 @@ function sleep(milliseconds) { }); } exports.sleep = sleep; +function digestForStream(stream) { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => { + const crc64 = new crc64_1.default(); + const md5 = crypto_1.default.createHash('md5'); + stream + .on('data', data => { + crc64.update(data); + md5.update(data); + }) + .on('end', () => resolve({ + crc64: crc64.digest('base64'), + md5: md5.digest('base64') + })) + .on('error', reject); + }); + }); +} +exports.digestForStream = digestForStream; //# sourceMappingURL=utils.js.map \ No newline at end of file diff --git a/node_modules/@actions/artifact/lib/internal/utils.js.map b/node_modules/@actions/artifact/lib/internal/utils.js.map index 6c8ab495a0..0684349bae 100644 --- a/node_modules/@actions/artifact/lib/internal/utils.js.map +++ b/node_modules/@actions/artifact/lib/internal/utils.js.map @@ -1 +1 @@ -{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/internal/utils.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/internal/utils.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@actions/artifact/node_modules/@actions/http-client/LICENSE b/node_modules/@actions/artifact/node_modules/@actions/http-client/LICENSE deleted file mode 100644 index 5823a51c31..0000000000 --- a/node_modules/@actions/artifact/node_modules/@actions/http-client/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -Actions Http Client for Node.js - -Copyright (c) GitHub, Inc. - -All rights reserved. - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and -associated documentation files (the "Software"), to deal in the Software without restriction, -including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT -LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/@actions/artifact/node_modules/@actions/http-client/README.md b/node_modules/@actions/artifact/node_modules/@actions/http-client/README.md deleted file mode 100644 index be61eb351f..0000000000 --- a/node_modules/@actions/artifact/node_modules/@actions/http-client/README.md +++ /dev/null @@ -1,79 +0,0 @@ - -

- -

- -# Actions Http-Client - -[![Http Status](https://github.com/actions/http-client/workflows/http-tests/badge.svg)](https://github.com/actions/http-client/actions) - -A lightweight HTTP client optimized for use with actions, TypeScript with generics and async await. - -## Features - - - HTTP client with TypeScript generics and async/await/Promises - - Typings included so no need to acquire separately (great for intellisense and no versioning drift) - - [Proxy support](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/about-self-hosted-runners#using-a-proxy-server-with-self-hosted-runners) just works with actions and the runner - - Targets ES2019 (runner runs actions with node 12+). Only supported on node 12+. - - Basic, Bearer and PAT Support out of the box. Extensible handlers for others. - - Redirects supported - -Features and releases [here](./RELEASES.md) - -## Install - -``` -npm install @actions/http-client --save -``` - -## Samples - -See the [HTTP](./__tests__) tests for detailed examples. - -## Errors - -### HTTP - -The HTTP client does not throw unless truly exceptional. - -* A request that successfully executes resulting in a 404, 500 etc... will return a response object with a status code and a body. -* Redirects (3xx) will be followed by default. - -See [HTTP tests](./__tests__) for detailed examples. - -## Debugging - -To enable detailed console logging of all HTTP requests and responses, set the NODE_DEBUG environment varible: - -``` -export NODE_DEBUG=http -``` - -## Node support - -The http-client is built using the latest LTS version of Node 12. It may work on previous node LTS versions but it's tested and officially supported on Node12+. - -## Support and Versioning - -We follow semver and will hold compatibility between major versions and increment the minor version with new features and capabilities (while holding compat). - -## Contributing - -We welcome PRs. Please create an issue and if applicable, a design before proceeding with code. - -once: - -```bash -$ npm install -``` - -To build: - -```bash -$ npm run build -``` - -To run all tests: -```bash -$ npm test -``` diff --git a/node_modules/@actions/artifact/node_modules/@actions/http-client/RELEASES.md b/node_modules/@actions/artifact/node_modules/@actions/http-client/RELEASES.md deleted file mode 100644 index 935178a833..0000000000 --- a/node_modules/@actions/artifact/node_modules/@actions/http-client/RELEASES.md +++ /dev/null @@ -1,26 +0,0 @@ -## Releases - -## 1.0.10 - -Contains a bug fix where proxy is defined without a user and password. see [PR here](https://github.com/actions/http-client/pull/42) - -## 1.0.9 -Throw HttpClientError instead of a generic Error from the \Json() helper methods when the server responds with a non-successful status code. - -## 1.0.8 -Fixed security issue where a redirect (e.g. 302) to another domain would pass headers. The fix was to strip the authorization header if the hostname was different. More [details in PR #27](https://github.com/actions/http-client/pull/27) - -## 1.0.7 -Update NPM dependencies and add 429 to the list of HttpCodes - -## 1.0.6 -Automatically sends Content-Type and Accept application/json headers for \Json() helper methods if not set in the client or parameters. - -## 1.0.5 -Adds \Json() helper methods for json over http scenarios. - -## 1.0.4 -Started to add \Json() helper methods. Do not use this release for that. Use >= 1.0.5 since there was an issue with types. - -## 1.0.1 to 1.0.3 -Adds proxy support. diff --git a/node_modules/@actions/artifact/node_modules/@actions/http-client/actions.png b/node_modules/@actions/artifact/node_modules/@actions/http-client/actions.png deleted file mode 100644 index 1857ef3755..0000000000 Binary files a/node_modules/@actions/artifact/node_modules/@actions/http-client/actions.png and /dev/null differ diff --git a/node_modules/@actions/artifact/node_modules/@actions/http-client/auth.d.ts b/node_modules/@actions/artifact/node_modules/@actions/http-client/auth.d.ts deleted file mode 100644 index 1094189cfb..0000000000 --- a/node_modules/@actions/artifact/node_modules/@actions/http-client/auth.d.ts +++ /dev/null @@ -1,23 +0,0 @@ -import ifm = require('./interfaces'); -export declare class BasicCredentialHandler implements ifm.IRequestHandler { - username: string; - password: string; - constructor(username: string, password: string); - prepareRequest(options: any): void; - canHandleAuthentication(response: ifm.IHttpClientResponse): boolean; - handleAuthentication(httpClient: ifm.IHttpClient, requestInfo: ifm.IRequestInfo, objs: any): Promise; -} -export declare class BearerCredentialHandler implements ifm.IRequestHandler { - token: string; - constructor(token: string); - prepareRequest(options: any): void; - canHandleAuthentication(response: ifm.IHttpClientResponse): boolean; - handleAuthentication(httpClient: ifm.IHttpClient, requestInfo: ifm.IRequestInfo, objs: any): Promise; -} -export declare class PersonalAccessTokenCredentialHandler implements ifm.IRequestHandler { - token: string; - constructor(token: string); - prepareRequest(options: any): void; - canHandleAuthentication(response: ifm.IHttpClientResponse): boolean; - handleAuthentication(httpClient: ifm.IHttpClient, requestInfo: ifm.IRequestInfo, objs: any): Promise; -} diff --git a/node_modules/@actions/artifact/node_modules/@actions/http-client/auth.js b/node_modules/@actions/artifact/node_modules/@actions/http-client/auth.js deleted file mode 100644 index 67a58aa78e..0000000000 --- a/node_modules/@actions/artifact/node_modules/@actions/http-client/auth.js +++ /dev/null @@ -1,58 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -class BasicCredentialHandler { - constructor(username, password) { - this.username = username; - this.password = password; - } - prepareRequest(options) { - options.headers['Authorization'] = - 'Basic ' + - Buffer.from(this.username + ':' + this.password).toString('base64'); - } - // This handler cannot handle 401 - canHandleAuthentication(response) { - return false; - } - handleAuthentication(httpClient, requestInfo, objs) { - return null; - } -} -exports.BasicCredentialHandler = BasicCredentialHandler; -class BearerCredentialHandler { - constructor(token) { - this.token = token; - } - // currently implements pre-authorization - // TODO: support preAuth = false where it hooks on 401 - prepareRequest(options) { - options.headers['Authorization'] = 'Bearer ' + this.token; - } - // This handler cannot handle 401 - canHandleAuthentication(response) { - return false; - } - handleAuthentication(httpClient, requestInfo, objs) { - return null; - } -} -exports.BearerCredentialHandler = BearerCredentialHandler; -class PersonalAccessTokenCredentialHandler { - constructor(token) { - this.token = token; - } - // currently implements pre-authorization - // TODO: support preAuth = false where it hooks on 401 - prepareRequest(options) { - options.headers['Authorization'] = - 'Basic ' + Buffer.from('PAT:' + this.token).toString('base64'); - } - // This handler cannot handle 401 - canHandleAuthentication(response) { - return false; - } - handleAuthentication(httpClient, requestInfo, objs) { - return null; - } -} -exports.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler; diff --git a/node_modules/@actions/artifact/node_modules/@actions/http-client/index.d.ts b/node_modules/@actions/artifact/node_modules/@actions/http-client/index.d.ts deleted file mode 100644 index 9583dc72a3..0000000000 --- a/node_modules/@actions/artifact/node_modules/@actions/http-client/index.d.ts +++ /dev/null @@ -1,124 +0,0 @@ -/// -import http = require('http'); -import ifm = require('./interfaces'); -export declare enum HttpCodes { - OK = 200, - MultipleChoices = 300, - MovedPermanently = 301, - ResourceMoved = 302, - SeeOther = 303, - NotModified = 304, - UseProxy = 305, - SwitchProxy = 306, - TemporaryRedirect = 307, - PermanentRedirect = 308, - BadRequest = 400, - Unauthorized = 401, - PaymentRequired = 402, - Forbidden = 403, - NotFound = 404, - MethodNotAllowed = 405, - NotAcceptable = 406, - ProxyAuthenticationRequired = 407, - RequestTimeout = 408, - Conflict = 409, - Gone = 410, - TooManyRequests = 429, - InternalServerError = 500, - NotImplemented = 501, - BadGateway = 502, - ServiceUnavailable = 503, - GatewayTimeout = 504 -} -export declare enum Headers { - Accept = "accept", - ContentType = "content-type" -} -export declare enum MediaTypes { - ApplicationJson = "application/json" -} -/** - * Returns the proxy URL, depending upon the supplied url and proxy environment variables. - * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com - */ -export declare function getProxyUrl(serverUrl: string): string; -export declare class HttpClientError extends Error { - constructor(message: string, statusCode: number); - statusCode: number; - result?: any; -} -export declare class HttpClientResponse implements ifm.IHttpClientResponse { - constructor(message: http.IncomingMessage); - message: http.IncomingMessage; - readBody(): Promise; -} -export declare function isHttps(requestUrl: string): boolean; -export declare class HttpClient { - userAgent: string | undefined; - handlers: ifm.IRequestHandler[]; - requestOptions: ifm.IRequestOptions; - private _ignoreSslError; - private _socketTimeout; - private _allowRedirects; - private _allowRedirectDowngrade; - private _maxRedirects; - private _allowRetries; - private _maxRetries; - private _agent; - private _proxyAgent; - private _keepAlive; - private _disposed; - constructor(userAgent?: string, handlers?: ifm.IRequestHandler[], requestOptions?: ifm.IRequestOptions); - options(requestUrl: string, additionalHeaders?: ifm.IHeaders): Promise; - get(requestUrl: string, additionalHeaders?: ifm.IHeaders): Promise; - del(requestUrl: string, additionalHeaders?: ifm.IHeaders): Promise; - post(requestUrl: string, data: string, additionalHeaders?: ifm.IHeaders): Promise; - patch(requestUrl: string, data: string, additionalHeaders?: ifm.IHeaders): Promise; - put(requestUrl: string, data: string, additionalHeaders?: ifm.IHeaders): Promise; - head(requestUrl: string, additionalHeaders?: ifm.IHeaders): Promise; - sendStream(verb: string, requestUrl: string, stream: NodeJS.ReadableStream, additionalHeaders?: ifm.IHeaders): Promise; - /** - * Gets a typed object from an endpoint - * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise - */ - getJson(requestUrl: string, additionalHeaders?: ifm.IHeaders): Promise>; - postJson(requestUrl: string, obj: any, additionalHeaders?: ifm.IHeaders): Promise>; - putJson(requestUrl: string, obj: any, additionalHeaders?: ifm.IHeaders): Promise>; - patchJson(requestUrl: string, obj: any, additionalHeaders?: ifm.IHeaders): Promise>; - /** - * Makes a raw http request. - * All other methods such as get, post, patch, and request ultimately call this. - * Prefer get, del, post and patch - */ - request(verb: string, requestUrl: string, data: string | NodeJS.ReadableStream, headers: ifm.IHeaders): Promise; - /** - * Needs to be called if keepAlive is set to true in request options. - */ - dispose(): void; - /** - * Raw request. - * @param info - * @param data - */ - requestRaw(info: ifm.IRequestInfo, data: string | NodeJS.ReadableStream): Promise; - /** - * Raw request with callback. - * @param info - * @param data - * @param onResult - */ - requestRawWithCallback(info: ifm.IRequestInfo, data: string | NodeJS.ReadableStream, onResult: (err: any, res: ifm.IHttpClientResponse) => void): void; - /** - * Gets an http agent. This function is useful when you need an http agent that handles - * routing through a proxy server - depending upon the url and proxy environment variables. - * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com - */ - getAgent(serverUrl: string): http.Agent; - private _prepareRequest; - private _mergeHeaders; - private _getExistingOrDefaultHeader; - private _getAgent; - private _performExponentialBackoff; - private static dateTimeDeserializer; - private _processResponse; -} diff --git a/node_modules/@actions/artifact/node_modules/@actions/http-client/index.js b/node_modules/@actions/artifact/node_modules/@actions/http-client/index.js deleted file mode 100644 index 43b2b10390..0000000000 --- a/node_modules/@actions/artifact/node_modules/@actions/http-client/index.js +++ /dev/null @@ -1,537 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const http = require("http"); -const https = require("https"); -const pm = require("./proxy"); -let tunnel; -var HttpCodes; -(function (HttpCodes) { - HttpCodes[HttpCodes["OK"] = 200] = "OK"; - HttpCodes[HttpCodes["MultipleChoices"] = 300] = "MultipleChoices"; - HttpCodes[HttpCodes["MovedPermanently"] = 301] = "MovedPermanently"; - HttpCodes[HttpCodes["ResourceMoved"] = 302] = "ResourceMoved"; - HttpCodes[HttpCodes["SeeOther"] = 303] = "SeeOther"; - HttpCodes[HttpCodes["NotModified"] = 304] = "NotModified"; - HttpCodes[HttpCodes["UseProxy"] = 305] = "UseProxy"; - HttpCodes[HttpCodes["SwitchProxy"] = 306] = "SwitchProxy"; - HttpCodes[HttpCodes["TemporaryRedirect"] = 307] = "TemporaryRedirect"; - HttpCodes[HttpCodes["PermanentRedirect"] = 308] = "PermanentRedirect"; - HttpCodes[HttpCodes["BadRequest"] = 400] = "BadRequest"; - HttpCodes[HttpCodes["Unauthorized"] = 401] = "Unauthorized"; - HttpCodes[HttpCodes["PaymentRequired"] = 402] = "PaymentRequired"; - HttpCodes[HttpCodes["Forbidden"] = 403] = "Forbidden"; - HttpCodes[HttpCodes["NotFound"] = 404] = "NotFound"; - HttpCodes[HttpCodes["MethodNotAllowed"] = 405] = "MethodNotAllowed"; - HttpCodes[HttpCodes["NotAcceptable"] = 406] = "NotAcceptable"; - HttpCodes[HttpCodes["ProxyAuthenticationRequired"] = 407] = "ProxyAuthenticationRequired"; - HttpCodes[HttpCodes["RequestTimeout"] = 408] = "RequestTimeout"; - HttpCodes[HttpCodes["Conflict"] = 409] = "Conflict"; - HttpCodes[HttpCodes["Gone"] = 410] = "Gone"; - HttpCodes[HttpCodes["TooManyRequests"] = 429] = "TooManyRequests"; - HttpCodes[HttpCodes["InternalServerError"] = 500] = "InternalServerError"; - HttpCodes[HttpCodes["NotImplemented"] = 501] = "NotImplemented"; - HttpCodes[HttpCodes["BadGateway"] = 502] = "BadGateway"; - HttpCodes[HttpCodes["ServiceUnavailable"] = 503] = "ServiceUnavailable"; - HttpCodes[HttpCodes["GatewayTimeout"] = 504] = "GatewayTimeout"; -})(HttpCodes = exports.HttpCodes || (exports.HttpCodes = {})); -var Headers; -(function (Headers) { - Headers["Accept"] = "accept"; - Headers["ContentType"] = "content-type"; -})(Headers = exports.Headers || (exports.Headers = {})); -var MediaTypes; -(function (MediaTypes) { - MediaTypes["ApplicationJson"] = "application/json"; -})(MediaTypes = exports.MediaTypes || (exports.MediaTypes = {})); -/** - * Returns the proxy URL, depending upon the supplied url and proxy environment variables. - * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com - */ -function getProxyUrl(serverUrl) { - let proxyUrl = pm.getProxyUrl(new URL(serverUrl)); - return proxyUrl ? proxyUrl.href : ''; -} -exports.getProxyUrl = getProxyUrl; -const HttpRedirectCodes = [ - HttpCodes.MovedPermanently, - HttpCodes.ResourceMoved, - HttpCodes.SeeOther, - HttpCodes.TemporaryRedirect, - HttpCodes.PermanentRedirect -]; -const HttpResponseRetryCodes = [ - HttpCodes.BadGateway, - HttpCodes.ServiceUnavailable, - HttpCodes.GatewayTimeout -]; -const RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD']; -const ExponentialBackoffCeiling = 10; -const ExponentialBackoffTimeSlice = 5; -class HttpClientError extends Error { - constructor(message, statusCode) { - super(message); - this.name = 'HttpClientError'; - this.statusCode = statusCode; - Object.setPrototypeOf(this, HttpClientError.prototype); - } -} -exports.HttpClientError = HttpClientError; -class HttpClientResponse { - constructor(message) { - this.message = message; - } - readBody() { - return new Promise(async (resolve, reject) => { - let output = Buffer.alloc(0); - this.message.on('data', (chunk) => { - output = Buffer.concat([output, chunk]); - }); - this.message.on('end', () => { - resolve(output.toString()); - }); - }); - } -} -exports.HttpClientResponse = HttpClientResponse; -function isHttps(requestUrl) { - let parsedUrl = new URL(requestUrl); - return parsedUrl.protocol === 'https:'; -} -exports.isHttps = isHttps; -class HttpClient { - constructor(userAgent, handlers, requestOptions) { - this._ignoreSslError = false; - this._allowRedirects = true; - this._allowRedirectDowngrade = false; - this._maxRedirects = 50; - this._allowRetries = false; - this._maxRetries = 1; - this._keepAlive = false; - this._disposed = false; - this.userAgent = userAgent; - this.handlers = handlers || []; - this.requestOptions = requestOptions; - if (requestOptions) { - if (requestOptions.ignoreSslError != null) { - this._ignoreSslError = requestOptions.ignoreSslError; - } - this._socketTimeout = requestOptions.socketTimeout; - if (requestOptions.allowRedirects != null) { - this._allowRedirects = requestOptions.allowRedirects; - } - if (requestOptions.allowRedirectDowngrade != null) { - this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade; - } - if (requestOptions.maxRedirects != null) { - this._maxRedirects = Math.max(requestOptions.maxRedirects, 0); - } - if (requestOptions.keepAlive != null) { - this._keepAlive = requestOptions.keepAlive; - } - if (requestOptions.allowRetries != null) { - this._allowRetries = requestOptions.allowRetries; - } - if (requestOptions.maxRetries != null) { - this._maxRetries = requestOptions.maxRetries; - } - } - } - options(requestUrl, additionalHeaders) { - return this.request('OPTIONS', requestUrl, null, additionalHeaders || {}); - } - get(requestUrl, additionalHeaders) { - return this.request('GET', requestUrl, null, additionalHeaders || {}); - } - del(requestUrl, additionalHeaders) { - return this.request('DELETE', requestUrl, null, additionalHeaders || {}); - } - post(requestUrl, data, additionalHeaders) { - return this.request('POST', requestUrl, data, additionalHeaders || {}); - } - patch(requestUrl, data, additionalHeaders) { - return this.request('PATCH', requestUrl, data, additionalHeaders || {}); - } - put(requestUrl, data, additionalHeaders) { - return this.request('PUT', requestUrl, data, additionalHeaders || {}); - } - head(requestUrl, additionalHeaders) { - return this.request('HEAD', requestUrl, null, additionalHeaders || {}); - } - sendStream(verb, requestUrl, stream, additionalHeaders) { - return this.request(verb, requestUrl, stream, additionalHeaders); - } - /** - * Gets a typed object from an endpoint - * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise - */ - async getJson(requestUrl, additionalHeaders = {}) { - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - let res = await this.get(requestUrl, additionalHeaders); - return this._processResponse(res, this.requestOptions); - } - async postJson(requestUrl, obj, additionalHeaders = {}) { - let data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); - let res = await this.post(requestUrl, data, additionalHeaders); - return this._processResponse(res, this.requestOptions); - } - async putJson(requestUrl, obj, additionalHeaders = {}) { - let data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); - let res = await this.put(requestUrl, data, additionalHeaders); - return this._processResponse(res, this.requestOptions); - } - async patchJson(requestUrl, obj, additionalHeaders = {}) { - let data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); - let res = await this.patch(requestUrl, data, additionalHeaders); - return this._processResponse(res, this.requestOptions); - } - /** - * Makes a raw http request. - * All other methods such as get, post, patch, and request ultimately call this. - * Prefer get, del, post and patch - */ - async request(verb, requestUrl, data, headers) { - if (this._disposed) { - throw new Error('Client has already been disposed.'); - } - let parsedUrl = new URL(requestUrl); - let info = this._prepareRequest(verb, parsedUrl, headers); - // Only perform retries on reads since writes may not be idempotent. - let maxTries = this._allowRetries && RetryableHttpVerbs.indexOf(verb) != -1 - ? this._maxRetries + 1 - : 1; - let numTries = 0; - let response; - while (numTries < maxTries) { - response = await this.requestRaw(info, data); - // Check if it's an authentication challenge - if (response && - response.message && - response.message.statusCode === HttpCodes.Unauthorized) { - let authenticationHandler; - for (let i = 0; i < this.handlers.length; i++) { - if (this.handlers[i].canHandleAuthentication(response)) { - authenticationHandler = this.handlers[i]; - break; - } - } - if (authenticationHandler) { - return authenticationHandler.handleAuthentication(this, info, data); - } - else { - // We have received an unauthorized response but have no handlers to handle it. - // Let the response return to the caller. - return response; - } - } - let redirectsRemaining = this._maxRedirects; - while (HttpRedirectCodes.indexOf(response.message.statusCode) != -1 && - this._allowRedirects && - redirectsRemaining > 0) { - const redirectUrl = response.message.headers['location']; - if (!redirectUrl) { - // if there's no location to redirect to, we won't - break; - } - let parsedRedirectUrl = new URL(redirectUrl); - if (parsedUrl.protocol == 'https:' && - parsedUrl.protocol != parsedRedirectUrl.protocol && - !this._allowRedirectDowngrade) { - throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.'); - } - // we need to finish reading the response before reassigning response - // which will leak the open socket. - await response.readBody(); - // strip authorization header if redirected to a different hostname - if (parsedRedirectUrl.hostname !== parsedUrl.hostname) { - for (let header in headers) { - // header names are case insensitive - if (header.toLowerCase() === 'authorization') { - delete headers[header]; - } - } - } - // let's make the request with the new redirectUrl - info = this._prepareRequest(verb, parsedRedirectUrl, headers); - response = await this.requestRaw(info, data); - redirectsRemaining--; - } - if (HttpResponseRetryCodes.indexOf(response.message.statusCode) == -1) { - // If not a retry code, return immediately instead of retrying - return response; - } - numTries += 1; - if (numTries < maxTries) { - await response.readBody(); - await this._performExponentialBackoff(numTries); - } - } - return response; - } - /** - * Needs to be called if keepAlive is set to true in request options. - */ - dispose() { - if (this._agent) { - this._agent.destroy(); - } - this._disposed = true; - } - /** - * Raw request. - * @param info - * @param data - */ - requestRaw(info, data) { - return new Promise((resolve, reject) => { - let callbackForResult = function (err, res) { - if (err) { - reject(err); - } - resolve(res); - }; - this.requestRawWithCallback(info, data, callbackForResult); - }); - } - /** - * Raw request with callback. - * @param info - * @param data - * @param onResult - */ - requestRawWithCallback(info, data, onResult) { - let socket; - if (typeof data === 'string') { - info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8'); - } - let callbackCalled = false; - let handleResult = (err, res) => { - if (!callbackCalled) { - callbackCalled = true; - onResult(err, res); - } - }; - let req = info.httpModule.request(info.options, (msg) => { - let res = new HttpClientResponse(msg); - handleResult(null, res); - }); - req.on('socket', sock => { - socket = sock; - }); - // If we ever get disconnected, we want the socket to timeout eventually - req.setTimeout(this._socketTimeout || 3 * 60000, () => { - if (socket) { - socket.end(); - } - handleResult(new Error('Request timeout: ' + info.options.path), null); - }); - req.on('error', function (err) { - // err has statusCode property - // res should have headers - handleResult(err, null); - }); - if (data && typeof data === 'string') { - req.write(data, 'utf8'); - } - if (data && typeof data !== 'string') { - data.on('close', function () { - req.end(); - }); - data.pipe(req); - } - else { - req.end(); - } - } - /** - * Gets an http agent. This function is useful when you need an http agent that handles - * routing through a proxy server - depending upon the url and proxy environment variables. - * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com - */ - getAgent(serverUrl) { - let parsedUrl = new URL(serverUrl); - return this._getAgent(parsedUrl); - } - _prepareRequest(method, requestUrl, headers) { - const info = {}; - info.parsedUrl = requestUrl; - const usingSsl = info.parsedUrl.protocol === 'https:'; - info.httpModule = usingSsl ? https : http; - const defaultPort = usingSsl ? 443 : 80; - info.options = {}; - info.options.host = info.parsedUrl.hostname; - info.options.port = info.parsedUrl.port - ? parseInt(info.parsedUrl.port) - : defaultPort; - info.options.path = - (info.parsedUrl.pathname || '') + (info.parsedUrl.search || ''); - info.options.method = method; - info.options.headers = this._mergeHeaders(headers); - if (this.userAgent != null) { - info.options.headers['user-agent'] = this.userAgent; - } - info.options.agent = this._getAgent(info.parsedUrl); - // gives handlers an opportunity to participate - if (this.handlers) { - this.handlers.forEach(handler => { - handler.prepareRequest(info.options); - }); - } - return info; - } - _mergeHeaders(headers) { - const lowercaseKeys = obj => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {}); - if (this.requestOptions && this.requestOptions.headers) { - return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers)); - } - return lowercaseKeys(headers || {}); - } - _getExistingOrDefaultHeader(additionalHeaders, header, _default) { - const lowercaseKeys = obj => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {}); - let clientHeader; - if (this.requestOptions && this.requestOptions.headers) { - clientHeader = lowercaseKeys(this.requestOptions.headers)[header]; - } - return additionalHeaders[header] || clientHeader || _default; - } - _getAgent(parsedUrl) { - let agent; - let proxyUrl = pm.getProxyUrl(parsedUrl); - let useProxy = proxyUrl && proxyUrl.hostname; - if (this._keepAlive && useProxy) { - agent = this._proxyAgent; - } - if (this._keepAlive && !useProxy) { - agent = this._agent; - } - // if agent is already assigned use that agent. - if (!!agent) { - return agent; - } - const usingSsl = parsedUrl.protocol === 'https:'; - let maxSockets = 100; - if (!!this.requestOptions) { - maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets; - } - if (useProxy) { - // If using proxy, need tunnel - if (!tunnel) { - tunnel = require('tunnel'); - } - const agentOptions = { - maxSockets: maxSockets, - keepAlive: this._keepAlive, - proxy: { - ...((proxyUrl.username || proxyUrl.password) && { - proxyAuth: `${proxyUrl.username}:${proxyUrl.password}` - }), - host: proxyUrl.hostname, - port: proxyUrl.port - } - }; - let tunnelAgent; - const overHttps = proxyUrl.protocol === 'https:'; - if (usingSsl) { - tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp; - } - else { - tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp; - } - agent = tunnelAgent(agentOptions); - this._proxyAgent = agent; - } - // if reusing agent across request and tunneling agent isn't assigned create a new agent - if (this._keepAlive && !agent) { - const options = { keepAlive: this._keepAlive, maxSockets: maxSockets }; - agent = usingSsl ? new https.Agent(options) : new http.Agent(options); - this._agent = agent; - } - // if not using private agent and tunnel agent isn't setup then use global agent - if (!agent) { - agent = usingSsl ? https.globalAgent : http.globalAgent; - } - if (usingSsl && this._ignoreSslError) { - // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process - // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options - // we have to cast it to any and change it directly - agent.options = Object.assign(agent.options || {}, { - rejectUnauthorized: false - }); - } - return agent; - } - _performExponentialBackoff(retryNumber) { - retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber); - const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber); - return new Promise(resolve => setTimeout(() => resolve(), ms)); - } - static dateTimeDeserializer(key, value) { - if (typeof value === 'string') { - let a = new Date(value); - if (!isNaN(a.valueOf())) { - return a; - } - } - return value; - } - async _processResponse(res, options) { - return new Promise(async (resolve, reject) => { - const statusCode = res.message.statusCode; - const response = { - statusCode: statusCode, - result: null, - headers: {} - }; - // not found leads to null obj returned - if (statusCode == HttpCodes.NotFound) { - resolve(response); - } - let obj; - let contents; - // get the result from the body - try { - contents = await res.readBody(); - if (contents && contents.length > 0) { - if (options && options.deserializeDates) { - obj = JSON.parse(contents, HttpClient.dateTimeDeserializer); - } - else { - obj = JSON.parse(contents); - } - response.result = obj; - } - response.headers = res.message.headers; - } - catch (err) { - // Invalid resource (contents not json); leaving result obj null - } - // note that 3xx redirects are handled by the http layer. - if (statusCode > 299) { - let msg; - // if exception/error in body, attempt to get better error - if (obj && obj.message) { - msg = obj.message; - } - else if (contents && contents.length > 0) { - // it may be the case that the exception is in the body message as string - msg = contents; - } - else { - msg = 'Failed request: (' + statusCode + ')'; - } - let err = new HttpClientError(msg, statusCode); - err.result = response.result; - reject(err); - } - else { - resolve(response); - } - }); - } -} -exports.HttpClient = HttpClient; diff --git a/node_modules/@actions/artifact/node_modules/@actions/http-client/interfaces.d.ts b/node_modules/@actions/artifact/node_modules/@actions/http-client/interfaces.d.ts deleted file mode 100644 index 78bd85b343..0000000000 --- a/node_modules/@actions/artifact/node_modules/@actions/http-client/interfaces.d.ts +++ /dev/null @@ -1,49 +0,0 @@ -/// -import http = require('http'); -export interface IHeaders { - [key: string]: any; -} -export interface IHttpClient { - options(requestUrl: string, additionalHeaders?: IHeaders): Promise; - get(requestUrl: string, additionalHeaders?: IHeaders): Promise; - del(requestUrl: string, additionalHeaders?: IHeaders): Promise; - post(requestUrl: string, data: string, additionalHeaders?: IHeaders): Promise; - patch(requestUrl: string, data: string, additionalHeaders?: IHeaders): Promise; - put(requestUrl: string, data: string, additionalHeaders?: IHeaders): Promise; - sendStream(verb: string, requestUrl: string, stream: NodeJS.ReadableStream, additionalHeaders?: IHeaders): Promise; - request(verb: string, requestUrl: string, data: string | NodeJS.ReadableStream, headers: IHeaders): Promise; - requestRaw(info: IRequestInfo, data: string | NodeJS.ReadableStream): Promise; - requestRawWithCallback(info: IRequestInfo, data: string | NodeJS.ReadableStream, onResult: (err: any, res: IHttpClientResponse) => void): void; -} -export interface IRequestHandler { - prepareRequest(options: http.RequestOptions): void; - canHandleAuthentication(response: IHttpClientResponse): boolean; - handleAuthentication(httpClient: IHttpClient, requestInfo: IRequestInfo, objs: any): Promise; -} -export interface IHttpClientResponse { - message: http.IncomingMessage; - readBody(): Promise; -} -export interface IRequestInfo { - options: http.RequestOptions; - parsedUrl: URL; - httpModule: any; -} -export interface IRequestOptions { - headers?: IHeaders; - socketTimeout?: number; - ignoreSslError?: boolean; - allowRedirects?: boolean; - allowRedirectDowngrade?: boolean; - maxRedirects?: number; - maxSockets?: number; - keepAlive?: boolean; - deserializeDates?: boolean; - allowRetries?: boolean; - maxRetries?: number; -} -export interface ITypedResponse { - statusCode: number; - result: T | null; - headers: Object; -} diff --git a/node_modules/@actions/artifact/node_modules/@actions/http-client/interfaces.js b/node_modules/@actions/artifact/node_modules/@actions/http-client/interfaces.js deleted file mode 100644 index c8ad2e549b..0000000000 --- a/node_modules/@actions/artifact/node_modules/@actions/http-client/interfaces.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/node_modules/@actions/artifact/node_modules/@actions/http-client/package.json b/node_modules/@actions/artifact/node_modules/@actions/http-client/package.json deleted file mode 100644 index 0c99fd41ef..0000000000 --- a/node_modules/@actions/artifact/node_modules/@actions/http-client/package.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "name": "@actions/http-client", - "version": "1.0.11", - "description": "Actions Http Client", - "main": "index.js", - "scripts": { - "build": "rm -Rf ./_out && tsc && cp package*.json ./_out && cp *.md ./_out && cp LICENSE ./_out && cp actions.png ./_out", - "test": "jest", - "format": "prettier --write *.ts && prettier --write **/*.ts", - "format-check": "prettier --check *.ts && prettier --check **/*.ts", - "audit-check": "npm audit --audit-level=moderate" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/actions/http-client.git" - }, - "keywords": [ - "Actions", - "Http" - ], - "author": "GitHub, Inc.", - "license": "MIT", - "bugs": { - "url": "https://github.com/actions/http-client/issues" - }, - "homepage": "https://github.com/actions/http-client#readme", - "devDependencies": { - "@types/jest": "^25.1.4", - "@types/node": "^12.12.31", - "jest": "^25.1.0", - "prettier": "^2.0.4", - "proxy": "^1.0.1", - "ts-jest": "^25.2.1", - "typescript": "^3.8.3" - }, - "dependencies": { - "tunnel": "0.0.6" - } -} diff --git a/node_modules/@actions/artifact/node_modules/@actions/http-client/proxy.d.ts b/node_modules/@actions/artifact/node_modules/@actions/http-client/proxy.d.ts deleted file mode 100644 index 4599865401..0000000000 --- a/node_modules/@actions/artifact/node_modules/@actions/http-client/proxy.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export declare function getProxyUrl(reqUrl: URL): URL | undefined; -export declare function checkBypass(reqUrl: URL): boolean; diff --git a/node_modules/@actions/artifact/node_modules/@actions/http-client/proxy.js b/node_modules/@actions/artifact/node_modules/@actions/http-client/proxy.js deleted file mode 100644 index 88f00ecd1a..0000000000 --- a/node_modules/@actions/artifact/node_modules/@actions/http-client/proxy.js +++ /dev/null @@ -1,57 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -function getProxyUrl(reqUrl) { - let usingSsl = reqUrl.protocol === 'https:'; - let proxyUrl; - if (checkBypass(reqUrl)) { - return proxyUrl; - } - let proxyVar; - if (usingSsl) { - proxyVar = process.env['https_proxy'] || process.env['HTTPS_PROXY']; - } - else { - proxyVar = process.env['http_proxy'] || process.env['HTTP_PROXY']; - } - if (proxyVar) { - proxyUrl = new URL(proxyVar); - } - return proxyUrl; -} -exports.getProxyUrl = getProxyUrl; -function checkBypass(reqUrl) { - if (!reqUrl.hostname) { - return false; - } - let noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || ''; - if (!noProxy) { - return false; - } - // Determine the request port - let reqPort; - if (reqUrl.port) { - reqPort = Number(reqUrl.port); - } - else if (reqUrl.protocol === 'http:') { - reqPort = 80; - } - else if (reqUrl.protocol === 'https:') { - reqPort = 443; - } - // Format the request hostname and hostname with port - let upperReqHosts = [reqUrl.hostname.toUpperCase()]; - if (typeof reqPort === 'number') { - upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`); - } - // Compare request host against noproxy - for (let upperNoProxyItem of noProxy - .split(',') - .map(x => x.trim().toUpperCase()) - .filter(x => x)) { - if (upperReqHosts.some(x => x === upperNoProxyItem)) { - return true; - } - } - return false; -} -exports.checkBypass = checkBypass; diff --git a/node_modules/@actions/artifact/package.json b/node_modules/@actions/artifact/package.json index 6dd84aa236..8b204dd730 100644 --- a/node_modules/@actions/artifact/package.json +++ b/node_modules/@actions/artifact/package.json @@ -1,6 +1,6 @@ { "name": "@actions/artifact", - "version": "1.0.0", + "version": "1.1.0", "preview": true, "description": "Actions artifact lib", "keywords": [ @@ -38,7 +38,7 @@ }, "dependencies": { "@actions/core": "^1.2.6", - "@actions/http-client": "^1.0.11", + "@actions/http-client": "^2.0.1", "tmp": "^0.2.1", "tmp-promise": "^3.0.2" }, diff --git a/node_modules/@actions/cache/README.md b/node_modules/@actions/cache/README.md index 541b115564..5fec54ae4d 100644 --- a/node_modules/@actions/cache/README.md +++ b/node_modules/@actions/cache/README.md @@ -2,17 +2,17 @@ > Functions necessary for caching dependencies and build outputs to improve workflow execution time. -See ["Caching dependencies to speed up workflows"](https://help.github.com/github/automating-your-workflow-with-github-actions/caching-dependencies-to-speed-up-workflows) for how caching works. +See ["Caching dependencies to speed up workflows"](https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows) for how caching works. Note that GitHub will remove any cache entries that have not been accessed in over 7 days. There is no limit on the number of caches you can store, but the total size of all caches in a repository is limited to 10 GB. If you exceed this limit, GitHub will save your cache but will begin evicting caches until the total size is less than 10 GB. ## Usage -This package is used by the v2+ versions of our first party cache action. You can find an example implementation in the cache repo [here](https://github.com/actions/cache). +This package is used by the v2+ versions of our first party cache action. You can find an example implementation in the cache repo [here](https://github.com/actions/cache). #### Save Cache -Saves a cache containing the files in `paths` using the `key` provided. The files would be compressed using zstandard compression algorithm if zstd is installed, otherwise gzip is used. Function returns the cache id if the cache was saved succesfully and throws an error if cache upload fails. +Saves a cache containing the files in `paths` using the `key` provided. The files would be compressed using zstandard compression algorithm if zstd is installed, otherwise gzip is used. Function returns the cache id if the cache was saved succesfully and throws an error if cache upload fails. ```js const cache = require('@actions/cache'); @@ -26,7 +26,7 @@ const cacheId = await cache.saveCache(paths, key) #### Restore Cache -Restores a cache based on `key` and `restoreKeys` to the `paths` provided. Function returns the cache key for cache hit and returns undefined if cache not found. +Restores a cache based on `key` and `restoreKeys` to the `paths` provided. Function returns the cache key for cache hit and returns undefined if cache not found. ```js const cache = require('@actions/cache'); @@ -42,3 +42,8 @@ const restoreKeys = [ const cacheKey = await cache.restoreCache(paths, key, restoreKeys) ``` +##### Cache segment restore timeout + +A cache gets downloaded in multiple segments of fixed sizes (`1GB` for a `32-bit` runner and `2GB` for a `64-bit` runner). Sometimes, a segment download gets stuck which causes the workflow job to be stuck forever and fail. Version `v3.0.4` of cache package introduces a segment download timeout. The segment download timeout will allow the segment download to get aborted and hence allow the job to proceed with a cache miss. + +Default value of this timeout is 60 minutes and can be customized by specifying an [environment variable](https://docs.github.com/en/actions/learn-github-actions/environment-variables) named `SEGMENT_DOWNLOAD_TIMEOUT_MINS` with timeout value in minutes. diff --git a/node_modules/@actions/cache/lib/internal/cacheUtils.js b/node_modules/@actions/cache/lib/internal/cacheUtils.js index 9ab8a0b7a8..4d24e316c8 100644 --- a/node_modules/@actions/cache/lib/internal/cacheUtils.js +++ b/node_modules/@actions/cache/lib/internal/cacheUtils.js @@ -81,7 +81,13 @@ function resolvePaths(patterns) { .replace(new RegExp(`\\${path.sep}`, 'g'), '/'); core.debug(`Matched: ${relativeFile}`); // Paths are made relative so the tar entries are all relative to the root of the workspace. - paths.push(`${relativeFile}`); + if (relativeFile === '') { + // path.relative returns empty string if workspace and file are equal + paths.push('.'); + } + else { + paths.push(`${relativeFile}`); + } } } catch (e_1_1) { e_1 = { error: e_1_1 }; } diff --git a/node_modules/@actions/cache/lib/internal/cacheUtils.js.map b/node_modules/@actions/cache/lib/internal/cacheUtils.js.map index 6d7360b456..9b8c6325d0 100644 --- a/node_modules/@actions/cache/lib/internal/cacheUtils.js.map +++ b/node_modules/@actions/cache/lib/internal/cacheUtils.js.map @@ -1 +1 @@ -{"version":3,"file":"cacheUtils.js","sourceRoot":"","sources":["../../src/internal/cacheUtils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAqC;AACrC,oDAAqC;AACrC,oDAAqC;AACrC,gDAAiC;AACjC,uCAAwB;AACxB,2CAA4B;AAC5B,+CAAgC;AAChC,2CAA4B;AAC5B,+BAAiC;AACjC,2CAA4D;AAE5D,8FAA8F;AAC9F,SAAsB,mBAAmB;;QACvC,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAA;QAE/C,IAAI,aAAa,GAAW,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,CAAA;QAE5D,IAAI,CAAC,aAAa,EAAE;YAClB,IAAI,YAAoB,CAAA;YACxB,IAAI,UAAU,EAAE;gBACd,8CAA8C;gBAC9C,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,MAAM,CAAA;aACpD;iBAAM;gBACL,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE;oBACjC,YAAY,GAAG,QAAQ,CAAA;iBACxB;qBAAM;oBACL,YAAY,GAAG,OAAO,CAAA;iBACvB;aACF;YACD,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;SAC3D;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,SAAM,EAAE,CAAC,CAAA;QAC/C,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACrB,OAAO,IAAI,CAAA;IACb,CAAC;CAAA;AAvBD,kDAuBC;AAED,SAAgB,yBAAyB,CAAC,QAAgB;IACxD,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAA;AACnC,CAAC;AAFD,8DAEC;AAED,SAAsB,YAAY,CAAC,QAAkB;;;;QACnD,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,MAAM,SAAS,SAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,mCAAI,OAAO,CAAC,GAAG,EAAE,CAAA;QAClE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACrD,mBAAmB,EAAE,KAAK;SAC3B,CAAC,CAAA;;YAEF,KAAyB,IAAA,KAAA,cAAA,OAAO,CAAC,aAAa,EAAE,CAAA,IAAA;gBAArC,MAAM,IAAI,WAAA,CAAA;gBACnB,MAAM,YAAY,GAAG,IAAI;qBACtB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;qBACzB,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;gBACjD,IAAI,CAAC,KAAK,CAAC,YAAY,YAAY,EAAE,CAAC,CAAA;gBACtC,4FAA4F;gBAC5F,KAAK,CAAC,IAAI,CAAC,GAAG,YAAY,EAAE,CAAC,CAAA;aAC9B;;;;;;;;;QAED,OAAO,KAAK,CAAA;;CACb;AAjBD,oCAiBC;AAED,SAAsB,UAAU,CAAC,QAAqB;;QACpD,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAA;IAC5C,CAAC;CAAA;AAFD,gCAEC;AAED,SAAe,UAAU,CAAC,GAAW;;QACnC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,YAAY,CAAC,CAAA;QACvC,IAAI,aAAa,GAAG,EAAE,CAAA;QACtB,IAAI;YACF,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,YAAY,EAAE,EAAE,EAAE;gBACtC,gBAAgB,EAAE,IAAI;gBACtB,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE;oBACT,MAAM,EAAE,CAAC,IAAY,EAAU,EAAE,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACpE,MAAM,EAAE,CAAC,IAAY,EAAU,EAAE,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;iBACrE;aACF,CAAC,CAAA;SACH;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;SACxB;QAED,aAAa,GAAG,aAAa,CAAC,IAAI,EAAE,CAAA;QACpC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;QACzB,OAAO,aAAa,CAAA;IACtB,CAAC;CAAA;AAED,0DAA0D;AAC1D,SAAsB,oBAAoB;;QACxC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,CAAC,MAAM,iBAAiB,EAAE,CAAC,EAAE;YAChE,sEAAsE;YACtE,OAAO,6BAAiB,CAAC,IAAI,CAAA;SAC9B;QAED,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,CAAA;QAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;QAE3C,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC,EAAE;YACxE,wBAAwB;YACxB,OAAO,6BAAiB,CAAC,IAAI,CAAA;SAC9B;aAAM,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE;YACnD,4DAA4D;YAC5D,yDAAyD;YACzD,OAAO,6BAAiB,CAAC,eAAe,CAAA;SACzC;aAAM;YACL,OAAO,6BAAiB,CAAC,IAAI,CAAA;SAC9B;IACH,CAAC;CAAA;AAnBD,oDAmBC;AAED,SAAgB,gBAAgB,CAAC,iBAAoC;IACnE,OAAO,iBAAiB,KAAK,6BAAiB,CAAC,IAAI;QACjD,CAAC,CAAC,yBAAa,CAAC,IAAI;QACpB,CAAC,CAAC,yBAAa,CAAC,IAAI,CAAA;AACxB,CAAC;AAJD,4CAIC;AAED,SAAsB,iBAAiB;;QACrC,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,CAAA;QAC7C,OAAO,aAAa,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;IACxD,CAAC;CAAA;AAHD,8CAGC;AAED,SAAgB,aAAa,CAAI,IAAY,EAAE,KAAS;IACtD,IAAI,KAAK,KAAK,SAAS,EAAE;QACvB,MAAM,KAAK,CAAC,YAAY,IAAI,0BAA0B,CAAC,CAAA;KACxD;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAND,sCAMC;AAED,SAAgB,MAAM;IACpB,MAAM,KAAK,GAAG,IAAI,GAAG,CACnB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,oBAAoB,CACzD,CAAA;IACD,OAAO,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,YAAY,CAAA;AACtD,CAAC;AALD,wBAKC"} \ No newline at end of file +{"version":3,"file":"cacheUtils.js","sourceRoot":"","sources":["../../src/internal/cacheUtils.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@actions/cache/lib/internal/downloadUtils.js b/node_modules/@actions/cache/lib/internal/downloadUtils.js index 7c88504e42..2565108a00 100644 --- a/node_modules/@actions/cache/lib/internal/downloadUtils.js +++ b/node_modules/@actions/cache/lib/internal/downloadUtils.js @@ -26,6 +26,7 @@ const util = __importStar(require("util")); const utils = __importStar(require("./cacheUtils")); const constants_1 = require("./constants"); const requestUtils_1 = require("./requestUtils"); +const abort_controller_1 = require("@azure/abort-controller"); /** * Pipes the body of a HTTP response to a stream * @@ -209,15 +210,24 @@ function downloadCacheStorageSDK(archiveLocation, archivePath, options) { const fd = fs.openSync(archivePath, 'w'); try { downloadProgress.startDisplayTimer(); + const controller = new abort_controller_1.AbortController(); + const abortSignal = controller.signal; while (!downloadProgress.isDone()) { const segmentStart = downloadProgress.segmentOffset + downloadProgress.segmentSize; const segmentSize = Math.min(maxSegmentSize, contentLength - segmentStart); downloadProgress.nextSegment(segmentSize); - const result = yield client.downloadToBuffer(segmentStart, segmentSize, { + const result = yield promiseWithTimeout(options.segmentTimeoutInMs || 3600000, client.downloadToBuffer(segmentStart, segmentSize, { + abortSignal, concurrency: options.downloadConcurrency, onProgress: downloadProgress.onProgress() - }); - fs.writeFileSync(fd, result); + })); + if (result === 'timeout') { + controller.abort(); + throw new Error('Aborting cache download as the download time exceeded the timeout.'); + } + else if (Buffer.isBuffer(result)) { + fs.writeFileSync(fd, result); + } } } finally { @@ -228,4 +238,14 @@ function downloadCacheStorageSDK(archiveLocation, archivePath, options) { }); } exports.downloadCacheStorageSDK = downloadCacheStorageSDK; +const promiseWithTimeout = (timeoutMs, promise) => __awaiter(void 0, void 0, void 0, function* () { + let timeoutHandle; + const timeoutPromise = new Promise(resolve => { + timeoutHandle = setTimeout(() => resolve('timeout'), timeoutMs); + }); + return Promise.race([promise, timeoutPromise]).then(result => { + clearTimeout(timeoutHandle); + return result; + }); +}); //# sourceMappingURL=downloadUtils.js.map \ No newline at end of file diff --git a/node_modules/@actions/cache/lib/internal/downloadUtils.js.map b/node_modules/@actions/cache/lib/internal/downloadUtils.js.map index 2a308f2bee..c83622331f 100644 --- a/node_modules/@actions/cache/lib/internal/downloadUtils.js.map +++ b/node_modules/@actions/cache/lib/internal/downloadUtils.js.map @@ -1 +1 @@ -{"version":3,"file":"downloadUtils.js","sourceRoot":"","sources":["../../src/internal/downloadUtils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,oDAAqC;AACrC,sDAAmE;AACnE,sDAAmD;AAEnD,+CAAgC;AAChC,uCAAwB;AACxB,+CAAgC;AAChC,2CAA4B;AAE5B,oDAAqC;AACrC,2CAAyC;AAEzC,iDAAsD;AAEtD;;;;;GAKG;AACH,SAAe,oBAAoB,CACjC,QAA4B,EAC5B,MAA6B;;QAE7B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAChD,MAAM,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAC1C,CAAC;CAAA;AAED;;GAEG;AACH,MAAa,gBAAgB;IAU3B,YAAY,aAAqB;QAC/B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAA;QACrB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAA;QACpB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAA;QACtB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAA;QACtB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAA;QAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAC7B,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,WAAmB;QAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAA;QAC1D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,CAAA;QACzC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAA;QAEtB,IAAI,CAAC,KAAK,CACR,iCAAiC,IAAI,CAAC,aAAa,gBAAgB,IAAI,CAAC,WAAW,KAAK,CACzF,CAAA;IACH,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,aAAqB;QACpC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;IACpC,CAAC;IAED;;OAEG;IACH,mBAAmB;QACjB,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAA;IAChD,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,mBAAmB,EAAE,KAAK,IAAI,CAAC,aAAa,CAAA;IAC1D,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,OAAM;SACP;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAA;QAChE,MAAM,UAAU,GAAG,CAAC,GAAG,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CACxE,CAAC,CACF,CAAA;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAA;QAC/C,MAAM,aAAa,GAAG,CACpB,gBAAgB;YAChB,CAAC,IAAI,GAAG,IAAI,CAAC;YACb,CAAC,WAAW,GAAG,IAAI,CAAC,CACrB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QAEZ,IAAI,CAAC,IAAI,CACP,YAAY,gBAAgB,OAAO,IAAI,CAAC,aAAa,KAAK,UAAU,OAAO,aAAa,UAAU,CACnG,CAAA;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;YACjB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAA;SAC9B;IACH,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,CAAC,QAA+B,EAAE,EAAE;YACzC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;QAC7C,CAAC,CAAA;IACH,CAAC;IAED;;;;OAIG;IACH,iBAAiB,CAAC,SAAS,GAAG,IAAI;QAChC,MAAM,eAAe,GAAG,GAAS,EAAE;YACjC,IAAI,CAAC,OAAO,EAAE,CAAA;YAEd,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;gBAClB,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,eAAe,EAAE,SAAS,CAAC,CAAA;aAC5D;QACH,CAAC,CAAA;QAED,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,eAAe,EAAE,SAAS,CAAC,CAAA;IAC7D,CAAC;IAED;;;;OAIG;IACH,gBAAgB;QACd,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;YAChC,IAAI,CAAC,aAAa,GAAG,SAAS,CAAA;SAC/B;QAED,IAAI,CAAC,OAAO,EAAE,CAAA;IAChB,CAAC;CACF;AAhID,4CAgIC;AAED;;;;;GAKG;AACH,SAAsB,uBAAuB,CAC3C,eAAuB,EACvB,WAAmB;;QAEnB,MAAM,WAAW,GAAG,EAAE,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAA;QACrD,MAAM,UAAU,GAAG,IAAI,wBAAU,CAAC,eAAe,CAAC,CAAA;QAClD,MAAM,gBAAgB,GAAG,MAAM,sCAAuB,CACpD,eAAe,EACf,GAAS,EAAE,gDAAC,OAAA,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA,GAAA,CAC5C,CAAA;QAED,yDAAyD;QACzD,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,yBAAa,EAAE,GAAG,EAAE;YAC7D,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;YAClC,IAAI,CAAC,KAAK,CAAC,6CAA6C,yBAAa,KAAK,CAAC,CAAA;QAC7E,CAAC,CAAC,CAAA;QAEF,MAAM,oBAAoB,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAA;QAEzD,0BAA0B;QAC1B,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAA;QAE9E,IAAI,mBAAmB,EAAE;YACvB,MAAM,cAAc,GAAG,QAAQ,CAAC,mBAAmB,CAAC,CAAA;YACpD,MAAM,YAAY,GAAG,KAAK,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAA;YAEjE,IAAI,YAAY,KAAK,cAAc,EAAE;gBACnC,MAAM,IAAI,KAAK,CACb,4CAA4C,cAAc,uBAAuB,YAAY,EAAE,CAChG,CAAA;aACF;SACF;aAAM;YACL,IAAI,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAA;SACpE;IACH,CAAC;CAAA;AAlCD,0DAkCC;AAED;;;;;;;GAOG;AACH,SAAsB,uBAAuB,CAC3C,eAAuB,EACvB,WAAmB,EACnB,OAAwB;;;QAExB,MAAM,MAAM,GAAG,IAAI,8BAAe,CAAC,eAAe,EAAE,SAAS,EAAE;YAC7D,YAAY,EAAE;gBACZ,6DAA6D;gBAC7D,mDAAmD;gBACnD,cAAc,EAAE,OAAO,CAAC,WAAW;aACpC;SACF,CAAC,CAAA;QAEF,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,aAAa,EAAE,CAAA;QAC/C,MAAM,aAAa,SAAG,UAAU,CAAC,aAAa,mCAAI,CAAC,CAAC,CAAA;QAEpD,IAAI,aAAa,GAAG,CAAC,EAAE;YACrB,oFAAoF;YACpF,2BAA2B;YAC3B,IAAI,CAAC,KAAK,CACR,0EAA0E,CAC3E,CAAA;YAED,MAAM,uBAAuB,CAAC,eAAe,EAAE,WAAW,CAAC,CAAA;SAC5D;aAAM;YACL,4EAA4E;YAC5E,iFAAiF;YACjF,EAAE;YACF,mFAAmF;YACnF,gEAAgE;YAChE,oGAAoG;YACpG,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;YACxE,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,aAAa,CAAC,CAAA;YAE5D,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,CAAA;YAExC,IAAI;gBACF,gBAAgB,CAAC,iBAAiB,EAAE,CAAA;gBAEpC,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE;oBACjC,MAAM,YAAY,GAChB,gBAAgB,CAAC,aAAa,GAAG,gBAAgB,CAAC,WAAW,CAAA;oBAE/D,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAC1B,cAAc,EACd,aAAa,GAAG,YAAY,CAC7B,CAAA;oBAED,gBAAgB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;oBAEzC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAC1C,YAAY,EACZ,WAAW,EACX;wBACE,WAAW,EAAE,OAAO,CAAC,mBAAmB;wBACxC,UAAU,EAAE,gBAAgB,CAAC,UAAU,EAAE;qBAC1C,CACF,CAAA;oBAED,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;iBAC7B;aACF;oBAAS;gBACR,gBAAgB,CAAC,gBAAgB,EAAE,CAAA;gBACnC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;aACjB;SACF;;CACF;AAlED,0DAkEC"} \ No newline at end of file +{"version":3,"file":"downloadUtils.js","sourceRoot":"","sources":["../../src/internal/downloadUtils.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@actions/cache/lib/internal/tar.d.ts b/node_modules/@actions/cache/lib/internal/tar.d.ts index 027b2e17af..0864013f53 100644 --- a/node_modules/@actions/cache/lib/internal/tar.d.ts +++ b/node_modules/@actions/cache/lib/internal/tar.d.ts @@ -1,4 +1,4 @@ import { CompressionMethod } from './constants'; +export declare function listTar(archivePath: string, compressionMethod: CompressionMethod): Promise; export declare function extractTar(archivePath: string, compressionMethod: CompressionMethod): Promise; export declare function createTar(archiveFolder: string, sourceDirectories: string[], compressionMethod: CompressionMethod): Promise; -export declare function listTar(archivePath: string, compressionMethod: CompressionMethod): Promise; diff --git a/node_modules/@actions/cache/lib/internal/tar.js b/node_modules/@actions/cache/lib/internal/tar.js index 202aeb5a5e..aa737bc3b6 100644 --- a/node_modules/@actions/cache/lib/internal/tar.js +++ b/node_modules/@actions/cache/lib/internal/tar.js @@ -22,6 +22,7 @@ const fs_1 = require("fs"); const path = __importStar(require("path")); const utils = __importStar(require("./cacheUtils")); const constants_1 = require("./constants"); +const IS_WINDOWS = process.platform === 'win32'; function getTarPath(args, compressionMethod) { return __awaiter(this, void 0, void 0, function* () { switch (process.platform) { @@ -69,26 +70,43 @@ function getWorkingDirectory() { var _a; return (_a = process.env['GITHUB_WORKSPACE']) !== null && _a !== void 0 ? _a : process.cwd(); } +// Common function for extractTar and listTar to get the compression method +function getCompressionProgram(compressionMethod) { + // -d: Decompress. + // unzstd is equivalent to 'zstd -d' + // --long=#: Enables long distance matching with # bits. Maximum is 30 (1GB) on 32-bit OS and 31 (2GB) on 64-bit. + // Using 30 here because we also support 32-bit self-hosted runners. + switch (compressionMethod) { + case constants_1.CompressionMethod.Zstd: + return [ + '--use-compress-program', + IS_WINDOWS ? 'zstd -d --long=30' : 'unzstd --long=30' + ]; + case constants_1.CompressionMethod.ZstdWithoutLong: + return ['--use-compress-program', IS_WINDOWS ? 'zstd -d' : 'unzstd']; + default: + return ['-z']; + } +} +function listTar(archivePath, compressionMethod) { + return __awaiter(this, void 0, void 0, function* () { + const args = [ + ...getCompressionProgram(compressionMethod), + '-tf', + archivePath.replace(new RegExp(`\\${path.sep}`, 'g'), '/'), + '-P' + ]; + yield execTar(args, compressionMethod); + }); +} +exports.listTar = listTar; function extractTar(archivePath, compressionMethod) { return __awaiter(this, void 0, void 0, function* () { // Create directory to extract tar into const workingDirectory = getWorkingDirectory(); yield io.mkdirP(workingDirectory); - // --d: Decompress. - // --long=#: Enables long distance matching with # bits. Maximum is 30 (1GB) on 32-bit OS and 31 (2GB) on 64-bit. - // Using 30 here because we also support 32-bit self-hosted runners. - function getCompressionProgram() { - switch (compressionMethod) { - case constants_1.CompressionMethod.Zstd: - return ['--use-compress-program', 'zstd -d --long=30']; - case constants_1.CompressionMethod.ZstdWithoutLong: - return ['--use-compress-program', 'zstd -d']; - default: - return ['-z']; - } - } const args = [ - ...getCompressionProgram(), + ...getCompressionProgram(compressionMethod), '-xf', archivePath.replace(new RegExp(`\\${path.sep}`, 'g'), '/'), '-P', @@ -107,15 +125,19 @@ function createTar(archiveFolder, sourceDirectories, compressionMethod) { fs_1.writeFileSync(path.join(archiveFolder, manifestFilename), sourceDirectories.join('\n')); const workingDirectory = getWorkingDirectory(); // -T#: Compress using # working thread. If # is 0, attempt to detect and use the number of physical CPU cores. + // zstdmt is equivalent to 'zstd -T0' // --long=#: Enables long distance matching with # bits. Maximum is 30 (1GB) on 32-bit OS and 31 (2GB) on 64-bit. // Using 30 here because we also support 32-bit self-hosted runners. // Long range mode is added to zstd in v1.3.2 release, so we will not use --long in older version of zstd. function getCompressionProgram() { switch (compressionMethod) { case constants_1.CompressionMethod.Zstd: - return ['--use-compress-program', 'zstd -T0 --long=30']; + return [ + '--use-compress-program', + IS_WINDOWS ? 'zstd -T0 --long=30' : 'zstdmt --long=30' + ]; case constants_1.CompressionMethod.ZstdWithoutLong: - return ['--use-compress-program', 'zstd -T0']; + return ['--use-compress-program', IS_WINDOWS ? 'zstd -T0' : 'zstdmt']; default: return ['-z']; } @@ -137,30 +159,4 @@ function createTar(archiveFolder, sourceDirectories, compressionMethod) { }); } exports.createTar = createTar; -function listTar(archivePath, compressionMethod) { - return __awaiter(this, void 0, void 0, function* () { - // --d: Decompress. - // --long=#: Enables long distance matching with # bits. - // Maximum is 30 (1GB) on 32-bit OS and 31 (2GB) on 64-bit. - // Using 30 here because we also support 32-bit self-hosted runners. - function getCompressionProgram() { - switch (compressionMethod) { - case constants_1.CompressionMethod.Zstd: - return ['--use-compress-program', 'zstd -d --long=30']; - case constants_1.CompressionMethod.ZstdWithoutLong: - return ['--use-compress-program', 'zstd -d']; - default: - return ['-z']; - } - } - const args = [ - ...getCompressionProgram(), - '-tf', - archivePath.replace(new RegExp(`\\${path.sep}`, 'g'), '/'), - '-P' - ]; - yield execTar(args, compressionMethod); - }); -} -exports.listTar = listTar; //# sourceMappingURL=tar.js.map \ No newline at end of file diff --git a/node_modules/@actions/cache/lib/internal/tar.js.map b/node_modules/@actions/cache/lib/internal/tar.js.map index a7181ce8e2..3432321bed 100644 --- a/node_modules/@actions/cache/lib/internal/tar.js.map +++ b/node_modules/@actions/cache/lib/internal/tar.js.map @@ -1 +1 @@ -{"version":3,"file":"tar.js","sourceRoot":"","sources":["../../src/internal/tar.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,wCAAkC;AAClC,gDAAiC;AACjC,2BAA4C;AAC5C,2CAA4B;AAC5B,oDAAqC;AACrC,2CAA6C;AAE7C,SAAe,UAAU,CACvB,IAAc,EACd,iBAAoC;;QAEpC,QAAQ,OAAO,CAAC,QAAQ,EAAE;YACxB,KAAK,OAAO,CAAC,CAAC;gBACZ,MAAM,SAAS,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAqB,CAAA;gBAC/D,IAAI,iBAAiB,KAAK,6BAAiB,CAAC,IAAI,EAAE;oBAChD,gFAAgF;oBAChF,wDAAwD;oBACxD,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;iBAC3B;qBAAM,IAAI,eAAU,CAAC,SAAS,CAAC,EAAE;oBAChC,OAAO,SAAS,CAAA;iBACjB;qBAAM,IAAI,MAAM,KAAK,CAAC,iBAAiB,EAAE,EAAE;oBAC1C,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;iBAC3B;gBACD,MAAK;aACN;YACD,KAAK,QAAQ,CAAC,CAAC;gBACb,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;gBAC5C,IAAI,MAAM,EAAE;oBACV,0HAA0H;oBAC1H,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;oBACtC,OAAO,MAAM,CAAA;iBACd;gBACD,MAAK;aACN;YACD;gBACE,MAAK;SACR;QACD,OAAO,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IACpC,CAAC;CAAA;AAED,SAAe,OAAO,CACpB,IAAc,EACd,iBAAoC,EACpC,GAAY;;QAEZ,IAAI;YACF,MAAM,WAAI,CAAC,IAAI,MAAM,UAAU,CAAC,IAAI,EAAE,iBAAiB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAC,GAAG,EAAC,CAAC,CAAA;SAC1E;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,EAAE,CAAC,CAAA;SAC5D;IACH,CAAC;CAAA;AAED,SAAS,mBAAmB;;IAC1B,aAAO,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,mCAAI,OAAO,CAAC,GAAG,EAAE,CAAA;AACzD,CAAC;AAED,SAAsB,UAAU,CAC9B,WAAmB,EACnB,iBAAoC;;QAEpC,uCAAuC;QACvC,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAA;QAC9C,MAAM,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;QACjC,mBAAmB;QACnB,iHAAiH;QACjH,oEAAoE;QACpE,SAAS,qBAAqB;YAC5B,QAAQ,iBAAiB,EAAE;gBACzB,KAAK,6BAAiB,CAAC,IAAI;oBACzB,OAAO,CAAC,wBAAwB,EAAE,mBAAmB,CAAC,CAAA;gBACxD,KAAK,6BAAiB,CAAC,eAAe;oBACpC,OAAO,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAA;gBAC9C;oBACE,OAAO,CAAC,IAAI,CAAC,CAAA;aAChB;QACH,CAAC;QACD,MAAM,IAAI,GAAG;YACX,GAAG,qBAAqB,EAAE;YAC1B,KAAK;YACL,WAAW,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC;YAC1D,IAAI;YACJ,IAAI;YACJ,gBAAgB,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC;SAChE,CAAA;QACD,MAAM,OAAO,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAA;IACxC,CAAC;CAAA;AA7BD,gCA6BC;AAED,SAAsB,SAAS,CAC7B,aAAqB,EACrB,iBAA2B,EAC3B,iBAAoC;;QAEpC,0EAA0E;QAC1E,MAAM,gBAAgB,GAAG,cAAc,CAAA;QACvC,MAAM,aAAa,GAAG,KAAK,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAA;QAC/D,kBAAa,CACX,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,gBAAgB,CAAC,EAC1C,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAC7B,CAAA;QACD,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAA;QAE9C,+GAA+G;QAC/G,iHAAiH;QACjH,oEAAoE;QACpE,0GAA0G;QAC1G,SAAS,qBAAqB;YAC5B,QAAQ,iBAAiB,EAAE;gBACzB,KAAK,6BAAiB,CAAC,IAAI;oBACzB,OAAO,CAAC,wBAAwB,EAAE,oBAAoB,CAAC,CAAA;gBACzD,KAAK,6BAAiB,CAAC,eAAe;oBACpC,OAAO,CAAC,wBAAwB,EAAE,UAAU,CAAC,CAAA;gBAC/C;oBACE,OAAO,CAAC,IAAI,CAAC,CAAA;aAChB;QACH,CAAC;QACD,MAAM,IAAI,GAAG;YACX,SAAS;YACT,GAAG,qBAAqB,EAAE;YAC1B,KAAK;YACL,aAAa,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC;YAC5D,WAAW;YACX,aAAa,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC;YAC5D,IAAI;YACJ,IAAI;YACJ,gBAAgB,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC;YAC/D,cAAc;YACd,gBAAgB;SACjB,CAAA;QACD,MAAM,OAAO,CAAC,IAAI,EAAE,iBAAiB,EAAE,aAAa,CAAC,CAAA;IACvD,CAAC;CAAA;AA1CD,8BA0CC;AAED,SAAsB,OAAO,CAC3B,WAAmB,EACnB,iBAAoC;;QAEpC,mBAAmB;QACnB,wDAAwD;QACxD,2DAA2D;QAC3D,oEAAoE;QACpE,SAAS,qBAAqB;YAC5B,QAAQ,iBAAiB,EAAE;gBACzB,KAAK,6BAAiB,CAAC,IAAI;oBACzB,OAAO,CAAC,wBAAwB,EAAE,mBAAmB,CAAC,CAAA;gBACxD,KAAK,6BAAiB,CAAC,eAAe;oBACpC,OAAO,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAA;gBAC9C;oBACE,OAAO,CAAC,IAAI,CAAC,CAAA;aAChB;QACH,CAAC;QACD,MAAM,IAAI,GAAG;YACX,GAAG,qBAAqB,EAAE;YAC1B,KAAK;YACL,WAAW,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC;YAC1D,IAAI;SACL,CAAA;QACD,MAAM,OAAO,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAA;IACxC,CAAC;CAAA;AAzBD,0BAyBC"} \ No newline at end of file +{"version":3,"file":"tar.js","sourceRoot":"","sources":["../../src/internal/tar.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@actions/cache/lib/options.d.ts b/node_modules/@actions/cache/lib/options.d.ts index 0cb0d6e12f..b9dcadb47b 100644 --- a/node_modules/@actions/cache/lib/options.d.ts +++ b/node_modules/@actions/cache/lib/options.d.ts @@ -41,6 +41,12 @@ export interface DownloadOptions { * @default 30000 */ timeoutInMs?: number; + /** + * Time after which a segment download should be aborted if stuck + * + * @default 3600000 + */ + segmentTimeoutInMs?: number; } /** * Returns a copy of the upload options with defaults filled in. diff --git a/node_modules/@actions/cache/lib/options.js b/node_modules/@actions/cache/lib/options.js index 1a7877a60e..93854b4c8e 100644 --- a/node_modules/@actions/cache/lib/options.js +++ b/node_modules/@actions/cache/lib/options.js @@ -40,7 +40,8 @@ function getDownloadOptions(copy) { const result = { useAzureSdk: true, downloadConcurrency: 8, - timeoutInMs: 30000 + timeoutInMs: 30000, + segmentTimeoutInMs: 3600000 }; if (copy) { if (typeof copy.useAzureSdk === 'boolean') { @@ -52,10 +53,21 @@ function getDownloadOptions(copy) { if (typeof copy.timeoutInMs === 'number') { result.timeoutInMs = copy.timeoutInMs; } + if (typeof copy.segmentTimeoutInMs === 'number') { + result.segmentTimeoutInMs = copy.segmentTimeoutInMs; + } + } + const segmentDownloadTimeoutMins = process.env['SEGMENT_DOWNLOAD_TIMEOUT_MINS']; + if (segmentDownloadTimeoutMins && + !isNaN(Number(segmentDownloadTimeoutMins)) && + isFinite(Number(segmentDownloadTimeoutMins))) { + result.segmentTimeoutInMs = Number(segmentDownloadTimeoutMins) * 60 * 1000; } core.debug(`Use Azure SDK: ${result.useAzureSdk}`); core.debug(`Download concurrency: ${result.downloadConcurrency}`); core.debug(`Request timeout (ms): ${result.timeoutInMs}`); + core.debug(`Cache segment download timeout mins env var: ${process.env['SEGMENT_DOWNLOAD_TIMEOUT_MINS']}`); + core.debug(`Segment download timeout (ms): ${result.segmentTimeoutInMs}`); return result; } exports.getDownloadOptions = getDownloadOptions; diff --git a/node_modules/@actions/cache/lib/options.js.map b/node_modules/@actions/cache/lib/options.js.map index 2cda122ed8..95af5c9e75 100644 --- a/node_modules/@actions/cache/lib/options.js.map +++ b/node_modules/@actions/cache/lib/options.js.map @@ -1 +1 @@ -{"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oDAAqC;AAkDrC;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,IAAoB;IACnD,MAAM,MAAM,GAAkB;QAC5B,iBAAiB,EAAE,CAAC;QACpB,eAAe,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;KAClC,CAAA;IAED,IAAI,IAAI,EAAE;QACR,IAAI,OAAO,IAAI,CAAC,iBAAiB,KAAK,QAAQ,EAAE;YAC9C,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAA;SAClD;QAED,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,QAAQ,EAAE;YAC5C,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAA;SAC9C;KACF;IAED,IAAI,CAAC,KAAK,CAAC,uBAAuB,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAA;IAC7D,IAAI,CAAC,KAAK,CAAC,sBAAsB,MAAM,CAAC,eAAe,EAAE,CAAC,CAAA;IAE1D,OAAO,MAAM,CAAA;AACf,CAAC;AApBD,4CAoBC;AAED;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,IAAsB;IACvD,MAAM,MAAM,GAAoB;QAC9B,WAAW,EAAE,IAAI;QACjB,mBAAmB,EAAE,CAAC;QACtB,WAAW,EAAE,KAAK;KACnB,CAAA;IAED,IAAI,IAAI,EAAE;QACR,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE;YACzC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;SACtC;QAED,IAAI,OAAO,IAAI,CAAC,mBAAmB,KAAK,QAAQ,EAAE;YAChD,MAAM,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAA;SACtD;QAED,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,EAAE;YACxC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;SACtC;KACF;IAED,IAAI,CAAC,KAAK,CAAC,kBAAkB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAA;IAClD,IAAI,CAAC,KAAK,CAAC,yBAAyB,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAA;IACjE,IAAI,CAAC,KAAK,CAAC,yBAAyB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAA;IAEzD,OAAO,MAAM,CAAA;AACf,CAAC;AA1BD,gDA0BC"} \ No newline at end of file +{"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oDAAqC;AAyDrC;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,IAAoB;IACnD,MAAM,MAAM,GAAkB;QAC5B,iBAAiB,EAAE,CAAC;QACpB,eAAe,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;KAClC,CAAA;IAED,IAAI,IAAI,EAAE;QACR,IAAI,OAAO,IAAI,CAAC,iBAAiB,KAAK,QAAQ,EAAE;YAC9C,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAA;SAClD;QAED,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,QAAQ,EAAE;YAC5C,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAA;SAC9C;KACF;IAED,IAAI,CAAC,KAAK,CAAC,uBAAuB,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAA;IAC7D,IAAI,CAAC,KAAK,CAAC,sBAAsB,MAAM,CAAC,eAAe,EAAE,CAAC,CAAA;IAE1D,OAAO,MAAM,CAAA;AACf,CAAC;AApBD,4CAoBC;AAED;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,IAAsB;IACvD,MAAM,MAAM,GAAoB;QAC9B,WAAW,EAAE,IAAI;QACjB,mBAAmB,EAAE,CAAC;QACtB,WAAW,EAAE,KAAK;QAClB,kBAAkB,EAAE,OAAO;KAC5B,CAAA;IAED,IAAI,IAAI,EAAE;QACR,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE;YACzC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;SACtC;QAED,IAAI,OAAO,IAAI,CAAC,mBAAmB,KAAK,QAAQ,EAAE;YAChD,MAAM,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAA;SACtD;QAED,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,EAAE;YACxC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;SACtC;QAED,IAAI,OAAO,IAAI,CAAC,kBAAkB,KAAK,QAAQ,EAAE;YAC/C,MAAM,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAA;SACpD;KACF;IACD,MAAM,0BAA0B,GAC9B,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAA;IAE9C,IACE,0BAA0B;QAC1B,CAAC,KAAK,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;QAC1C,QAAQ,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC,EAC5C;QACA,MAAM,CAAC,kBAAkB,GAAG,MAAM,CAAC,0BAA0B,CAAC,GAAG,EAAE,GAAG,IAAI,CAAA;KAC3E;IACD,IAAI,CAAC,KAAK,CAAC,kBAAkB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAA;IAClD,IAAI,CAAC,KAAK,CAAC,yBAAyB,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAA;IACjE,IAAI,CAAC,KAAK,CAAC,yBAAyB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAA;IACzD,IAAI,CAAC,KAAK,CACR,gDAAgD,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,EAAE,CAC/F,CAAA;IACD,IAAI,CAAC,KAAK,CAAC,kCAAkC,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAA;IAEzE,OAAO,MAAM,CAAA;AACf,CAAC;AA5CD,gDA4CC"} \ No newline at end of file diff --git a/node_modules/@actions/cache/package.json b/node_modules/@actions/cache/package.json index 3cb06d3041..0f66399194 100644 --- a/node_modules/@actions/cache/package.json +++ b/node_modules/@actions/cache/package.json @@ -1,6 +1,6 @@ { "name": "@actions/cache", - "version": "3.0.0", + "version": "3.0.5", "preview": true, "description": "Actions cache lib", "keywords": [ @@ -37,7 +37,7 @@ "url": "https://github.com/actions/toolkit/issues" }, "dependencies": { - "@actions/core": "^1.2.6", + "@actions/core": "^1.10.0", "@actions/exec": "^1.0.1", "@actions/glob": "^0.1.0", "@actions/http-client": "^2.0.1", diff --git a/node_modules/@actions/core/lib/core.js b/node_modules/@actions/core/lib/core.js index 15662898f7..48df6ad098 100644 --- a/node_modules/@actions/core/lib/core.js +++ b/node_modules/@actions/core/lib/core.js @@ -34,7 +34,6 @@ const file_command_1 = require("./file-command"); const utils_1 = require("./utils"); const os = __importStar(require("os")); const path = __importStar(require("path")); -const uuid_1 = require("uuid"); const oidc_utils_1 = require("./oidc-utils"); /** * The code to exit an action @@ -64,20 +63,9 @@ function exportVariable(name, val) { process.env[name] = convertedVal; const filePath = process.env['GITHUB_ENV'] || ''; if (filePath) { - const delimiter = `ghadelimiter_${uuid_1.v4()}`; - // These should realistically never happen, but just in case someone finds a way to exploit uuid generation let's not allow keys or values that contain the delimiter. - if (name.includes(delimiter)) { - throw new Error(`Unexpected input: name should not contain the delimiter "${delimiter}"`); - } - if (convertedVal.includes(delimiter)) { - throw new Error(`Unexpected input: value should not contain the delimiter "${delimiter}"`); - } - const commandValue = `${name}<<${delimiter}${os.EOL}${convertedVal}${os.EOL}${delimiter}`; - file_command_1.issueCommand('ENV', commandValue); - } - else { - command_1.issueCommand('set-env', { name }, convertedVal); + return file_command_1.issueFileCommand('ENV', file_command_1.prepareKeyValueMessage(name, val)); } + command_1.issueCommand('set-env', { name }, convertedVal); } exports.exportVariable = exportVariable; /** @@ -95,7 +83,7 @@ exports.setSecret = setSecret; function addPath(inputPath) { const filePath = process.env['GITHUB_PATH'] || ''; if (filePath) { - file_command_1.issueCommand('PATH', inputPath); + file_command_1.issueFileCommand('PATH', inputPath); } else { command_1.issueCommand('add-path', {}, inputPath); @@ -135,7 +123,10 @@ function getMultilineInput(name, options) { const inputs = getInput(name, options) .split('\n') .filter(x => x !== ''); - return inputs; + if (options && options.trimWhitespace === false) { + return inputs; + } + return inputs.map(input => input.trim()); } exports.getMultilineInput = getMultilineInput; /** @@ -168,8 +159,12 @@ exports.getBooleanInput = getBooleanInput; */ // eslint-disable-next-line @typescript-eslint/no-explicit-any function setOutput(name, value) { + const filePath = process.env['GITHUB_OUTPUT'] || ''; + if (filePath) { + return file_command_1.issueFileCommand('OUTPUT', file_command_1.prepareKeyValueMessage(name, value)); + } process.stdout.write(os.EOL); - command_1.issueCommand('set-output', { name }, value); + command_1.issueCommand('set-output', { name }, utils_1.toCommandValue(value)); } exports.setOutput = setOutput; /** @@ -298,7 +293,11 @@ exports.group = group; */ // eslint-disable-next-line @typescript-eslint/no-explicit-any function saveState(name, value) { - command_1.issueCommand('save-state', { name }, value); + const filePath = process.env['GITHUB_STATE'] || ''; + if (filePath) { + return file_command_1.issueFileCommand('STATE', file_command_1.prepareKeyValueMessage(name, value)); + } + command_1.issueCommand('save-state', { name }, utils_1.toCommandValue(value)); } exports.saveState = saveState; /** diff --git a/node_modules/@actions/core/lib/core.js.map b/node_modules/@actions/core/lib/core.js.map index 9abe68f272..99f7fd85c4 100644 --- a/node_modules/@actions/core/lib/core.js.map +++ b/node_modules/@actions/core/lib/core.js.map @@ -1 +1 @@ -{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@actions/core/lib/file-command.d.ts b/node_modules/@actions/core/lib/file-command.d.ts index ed408eb132..2d1f2f4251 100644 --- a/node_modules/@actions/core/lib/file-command.d.ts +++ b/node_modules/@actions/core/lib/file-command.d.ts @@ -1 +1,2 @@ -export declare function issueCommand(command: string, message: any): void; +export declare function issueFileCommand(command: string, message: any): void; +export declare function prepareKeyValueMessage(key: string, value: any): string; diff --git a/node_modules/@actions/core/lib/file-command.js b/node_modules/@actions/core/lib/file-command.js index 55e3e9f80a..2d0d738fd8 100644 --- a/node_modules/@actions/core/lib/file-command.js +++ b/node_modules/@actions/core/lib/file-command.js @@ -20,13 +20,14 @@ var __importStar = (this && this.__importStar) || function (mod) { return result; }; Object.defineProperty(exports, "__esModule", { value: true }); -exports.issueCommand = void 0; +exports.prepareKeyValueMessage = exports.issueFileCommand = void 0; // We use any as a valid input type /* eslint-disable @typescript-eslint/no-explicit-any */ const fs = __importStar(require("fs")); const os = __importStar(require("os")); +const uuid_1 = require("uuid"); const utils_1 = require("./utils"); -function issueCommand(command, message) { +function issueFileCommand(command, message) { const filePath = process.env[`GITHUB_${command}`]; if (!filePath) { throw new Error(`Unable to find environment variable for file command ${command}`); @@ -38,5 +39,20 @@ function issueCommand(command, message) { encoding: 'utf8' }); } -exports.issueCommand = issueCommand; +exports.issueFileCommand = issueFileCommand; +function prepareKeyValueMessage(key, value) { + const delimiter = `ghadelimiter_${uuid_1.v4()}`; + const convertedValue = utils_1.toCommandValue(value); + // These should realistically never happen, but just in case someone finds a + // way to exploit uuid generation let's not allow keys or values that contain + // the delimiter. + if (key.includes(delimiter)) { + throw new Error(`Unexpected input: name should not contain the delimiter "${delimiter}"`); + } + if (convertedValue.includes(delimiter)) { + throw new Error(`Unexpected input: value should not contain the delimiter "${delimiter}"`); + } + return `${key}<<${delimiter}${os.EOL}${convertedValue}${os.EOL}${delimiter}`; +} +exports.prepareKeyValueMessage = prepareKeyValueMessage; //# sourceMappingURL=file-command.js.map \ No newline at end of file diff --git a/node_modules/@actions/core/lib/file-command.js.map b/node_modules/@actions/core/lib/file-command.js.map index ee35699f11..b1a9d54d78 100644 --- a/node_modules/@actions/core/lib/file-command.js.map +++ b/node_modules/@actions/core/lib/file-command.js.map @@ -1 +1 @@ -{"version":3,"file":"file-command.js","sourceRoot":"","sources":["../src/file-command.ts"],"names":[],"mappings":";AAAA,uCAAuC;;;;;;;;;;;;;;;;;;;;;;AAEvC,mCAAmC;AACnC,uDAAuD;AAEvD,uCAAwB;AACxB,uCAAwB;AACxB,mCAAsC;AAEtC,SAAgB,YAAY,CAAC,OAAe,EAAE,OAAY;IACxD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,OAAO,EAAE,CAAC,CAAA;IACjD,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CACb,wDAAwD,OAAO,EAAE,CAClE,CAAA;KACF;IACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAA;KACrD;IAED,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAG,sBAAc,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;QACjE,QAAQ,EAAE,MAAM;KACjB,CAAC,CAAA;AACJ,CAAC;AAdD,oCAcC"} \ No newline at end of file +{"version":3,"file":"file-command.js","sourceRoot":"","sources":["../src/file-command.ts"],"names":[],"mappings":";AAAA,uCAAuC;;;;;;;;;;;;;;;;;;;;;;AAEvC,mCAAmC;AACnC,uDAAuD;AAEvD,uCAAwB;AACxB,uCAAwB;AACxB,+BAAiC;AACjC,mCAAsC;AAEtC,SAAgB,gBAAgB,CAAC,OAAe,EAAE,OAAY;IAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,OAAO,EAAE,CAAC,CAAA;IACjD,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CACb,wDAAwD,OAAO,EAAE,CAClE,CAAA;KACF;IACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAA;KACrD;IAED,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAG,sBAAc,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;QACjE,QAAQ,EAAE,MAAM;KACjB,CAAC,CAAA;AACJ,CAAC;AAdD,4CAcC;AAED,SAAgB,sBAAsB,CAAC,GAAW,EAAE,KAAU;IAC5D,MAAM,SAAS,GAAG,gBAAgB,SAAM,EAAE,EAAE,CAAA;IAC5C,MAAM,cAAc,GAAG,sBAAc,CAAC,KAAK,CAAC,CAAA;IAE5C,4EAA4E;IAC5E,6EAA6E;IAC7E,iBAAiB;IACjB,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;QAC3B,MAAM,IAAI,KAAK,CACb,4DAA4D,SAAS,GAAG,CACzE,CAAA;KACF;IAED,IAAI,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;QACtC,MAAM,IAAI,KAAK,CACb,6DAA6D,SAAS,GAAG,CAC1E,CAAA;KACF;IAED,OAAO,GAAG,GAAG,KAAK,SAAS,GAAG,EAAE,CAAC,GAAG,GAAG,cAAc,GAAG,EAAE,CAAC,GAAG,GAAG,SAAS,EAAE,CAAA;AAC9E,CAAC;AApBD,wDAoBC"} \ No newline at end of file diff --git a/node_modules/@actions/core/package.json b/node_modules/@actions/core/package.json index 45341c3aa7..1f3824decf 100644 --- a/node_modules/@actions/core/package.json +++ b/node_modules/@actions/core/package.json @@ -1,6 +1,6 @@ { "name": "@actions/core", - "version": "1.9.1", + "version": "1.10.0", "description": "Actions core lib", "keywords": [ "github", diff --git a/node_modules/@actions/exec/package.json b/node_modules/@actions/exec/package.json index ff0cebfe94..bc4d77a23c 100644 --- a/node_modules/@actions/exec/package.json +++ b/node_modules/@actions/exec/package.json @@ -1,6 +1,6 @@ { "name": "@actions/exec", - "version": "1.1.0", + "version": "1.1.1", "description": "Actions exec lib", "keywords": [ "github", diff --git a/node_modules/@actions/io/package.json b/node_modules/@actions/io/package.json index 114e8e5959..5ebc63a43f 100644 --- a/node_modules/@actions/io/package.json +++ b/node_modules/@actions/io/package.json @@ -1,6 +1,6 @@ { "name": "@actions/io", - "version": "1.1.1", + "version": "1.1.2", "description": "Actions io lib", "keywords": [ "github", diff --git a/node_modules/@actions/tool-cache/package.json b/node_modules/@actions/tool-cache/package.json index 7c48d91a6c..c7744d5871 100644 --- a/node_modules/@actions/tool-cache/package.json +++ b/node_modules/@actions/tool-cache/package.json @@ -1,6 +1,6 @@ { "name": "@actions/tool-cache", - "version": "2.0.0", + "version": "2.0.1", "description": "Actions tool-cache lib", "keywords": [ "github", @@ -38,7 +38,7 @@ "dependencies": { "@actions/core": "^1.2.6", "@actions/exec": "^1.0.0", - "@actions/http-client": "^2.0.0", + "@actions/http-client": "^2.0.1", "@actions/io": "^1.1.1", "semver": "^6.1.0", "uuid": "^3.3.2" diff --git a/node_modules/@octokit/openapi-types/package.json b/node_modules/@octokit/openapi-types/package.json index b284c9c355..398358043f 100644 --- a/node_modules/@octokit/openapi-types/package.json +++ b/node_modules/@octokit/openapi-types/package.json @@ -9,12 +9,12 @@ "publishConfig": { "access": "public" }, - "version": "13.4.0", + "version": "14.0.0", "main": "", "types": "types.d.ts", "author": "Gregor Martynus (https://twitter.com/gr2m)", "license": "MIT", "octokit": { - "openapi-version": "7.5.0" + "openapi-version": "8.0.0" } } diff --git a/node_modules/@octokit/openapi-types/types.d.ts b/node_modules/@octokit/openapi-types/types.d.ts index 32e7f9ee12..f4bd1f050c 100644 --- a/node_modules/@octokit/openapi-types/types.d.ts +++ b/node_modules/@octokit/openapi-types/types.d.ts @@ -161,14 +161,6 @@ export interface paths { */ get: operations["actions/get-actions-cache-usage-for-enterprise"]; }; - "/enterprises/{enterprise}/actions/oidc/customization/issuer": { - /** - * Sets the GitHub Actions OpenID Connect (OIDC) custom issuer policy for an enterprise. - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. - * GitHub Apps must have the `enterprise_administration:write` permission to use this endpoint. - */ - put: operations["actions/set-actions-oidc-custom-issuer-policy-for-enterprise"]; - }; "/enterprises/{enterprise}/actions/permissions": { /** * Gets the GitHub Actions permissions policy for organizations and allowed actions and reusable workflows in an enterprise. @@ -439,10 +431,6 @@ export interface paths { */ delete: operations["enterprise-admin/remove-custom-label-from-self-hosted-runner-for-enterprise"]; }; - "/enterprises/{enterprise}/audit-log": { - /** Gets the audit log for an enterprise. To use this endpoint, you must be an enterprise admin, and you must use an access token with the `admin:enterprise` scope. */ - get: operations["enterprise-admin/get-audit-log"]; - }; "/enterprises/{enterprise}/code-scanning/alerts": { /** * Lists code scanning alerts for the default branch for all eligible repositories in an enterprise. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." @@ -452,22 +440,6 @@ export interface paths { */ get: operations["code-scanning/list-alerts-for-enterprise"]; }; - "/enterprises/{enterprise}/consumed-licenses": { - /** - * Lists the license consumption information for all users, including those from connected servers, associated with an enterprise. - * To use this endpoint, you must be an enterprise admin, and you must use an access - * token with the `read:enterprise` scope. - */ - get: operations["enterprise-admin/get-consumed-licenses"]; - }; - "/enterprises/{enterprise}/license-sync-status": { - /** - * Gets information about the status of a license sync job for an enterprise. - * To use this endpoint, you must be an enterprise admin, and you must use an access - * token with the `read:enterprise` scope. - */ - get: operations["enterprise-admin/get-license-sync-status"]; - }; "/enterprises/{enterprise}/secret-scanning/alerts": { /** * Lists secret scanning alerts for eligible repositories in an enterprise, from newest to oldest. @@ -475,16 +447,6 @@ export interface paths { */ get: operations["secret-scanning/list-alerts-for-enterprise"]; }; - "/enterprises/{enterprise}/settings/billing/actions": { - /** - * Gets the summary of the free and paid GitHub Actions minutes used. - * - * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". - * - * The authenticated user must be an enterprise admin. - */ - get: operations["billing/get-github-actions-billing-ghe"]; - }; "/enterprises/{enterprise}/settings/billing/advanced-security": { /** * Gets the GitHub Advanced Security active committers for an enterprise per repository. @@ -495,26 +457,6 @@ export interface paths { */ get: operations["billing/get-github-advanced-security-billing-ghe"]; }; - "/enterprises/{enterprise}/settings/billing/packages": { - /** - * Gets the free and paid storage used for GitHub Packages in gigabytes. - * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." - * - * The authenticated user must be an enterprise admin. - */ - get: operations["billing/get-github-packages-billing-ghe"]; - }; - "/enterprises/{enterprise}/settings/billing/shared-storage": { - /** - * Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. - * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." - * - * The authenticated user must be an enterprise admin. - */ - get: operations["billing/get-shared-storage-billing-ghe"]; - }; "/events": { /** We delay the public events feed by five minutes, which means the most recent event returned by the public events API actually occurred at least five minutes ago. */ get: operations["activity/list-public-events"]; @@ -748,10 +690,126 @@ export interface paths { * List the custom repository roles available in this organization. In order to see custom * repository roles in an organization, the authenticated user must be an organization owner. * + * To use this endpoint the authenticated user must be an administrator for the organization or of an repository of the organizaiton and must use an access token with `admin:org repo` scope. + * GitHub Apps must have the `organization_custom_roles:read` organization permission to use this endpoint. + * * For more information on custom repository roles, see "[Managing custom repository roles for an organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)". */ get: operations["orgs/list-custom-roles"]; }; + "/organizations/{org}/codespaces/secrets": { + /** + * Lists all Codespaces secrets available at the organization-level without revealing their encrypted values. + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + get: operations["codespaces/list-org-secrets"]; + }; + "/organizations/{org}/codespaces/secrets/public-key": { + /** Gets a public key for an organization, which is required in order to encrypt secrets. You need to encrypt the value of a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ + get: operations["codespaces/get-org-public-key"]; + }; + "/organizations/{org}/codespaces/secrets/{secret_name}": { + /** + * Gets an organization secret without revealing its encrypted value. + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + get: operations["codespaces/get-org-secret"]; + /** + * Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `admin:org` scope to use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [libsodium-wrappers](https://www.npmjs.com/package/libsodium-wrappers) library. + * + * ``` + * // Written with ❤️ by PSJ and free to use under The Unlicense. + * const sodium=require('libsodium-wrappers') + * const secret = 'plain-text-secret' // replace with secret before running the script. + * const key = 'base64-encoded-public-key' // replace with the Base64 encoded public key. + * + * //Check if libsodium is ready and then proceed. + * + * sodium.ready.then( ()=>{ + * + * // Convert Secret & Base64 key to Uint8Array. + * let binkey= sodium.from_base64(key, sodium.base64_variants.ORIGINAL) //Equivalent of Buffer.from(key, 'base64') + * let binsec= sodium.from_string(secret) // Equivalent of Buffer.from(secret) + * + * //Encrypt the secret using LibSodium + * let encBytes= sodium.crypto_box_seal(binsec,binkey) // Similar to tweetsodium.seal(binsec,binkey) + * + * // Convert encrypted Uint8Array to Base64 + * let output=sodium.to_base64(encBytes, sodium.base64_variants.ORIGINAL) //Equivalent of Buffer.from(encBytes).toString('base64') + * + * console.log(output) + * }); + * ``` + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + put: operations["codespaces/create-or-update-org-secret"]; + /** Deletes an organization secret using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ + delete: operations["codespaces/delete-org-secret"]; + }; + "/organizations/{org}/codespaces/secrets/{secret_name}/repositories": { + /** Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ + get: operations["codespaces/list-selected-repos-for-org-secret"]; + /** Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/codespaces#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ + put: operations["codespaces/set-selected-repos-for-org-secret"]; + }; + "/organizations/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}": { + /** Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/codespaces#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ + put: operations["codespaces/add-selected-repo-to-org-secret"]; + /** Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/codespaces#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ + delete: operations["codespaces/remove-selected-repo-from-org-secret"]; + }; "/orgs/{org}": { /** * To see many of the organization response values, you need to be an authenticated organization owner with the `admin:org` scope. When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, and outside collaborators to enable [two-factor authentication](https://docs.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). @@ -782,20 +840,6 @@ export interface paths { */ get: operations["actions/get-actions-cache-usage-by-repo-for-org"]; }; - "/orgs/{org}/actions/oidc/customization/sub": { - /** - * Gets the customization template for an OpenID Connect (OIDC) subject claim. - * You must authenticate using an access token with the `read:org` scope to use this endpoint. - * GitHub Apps must have the `organization_administration:write` permission to use this endpoint. - */ - get: operations["oidc/get-oidc-custom-sub-template-for-org"]; - /** - * Creates or updates the customization template for an OpenID Connect (OIDC) subject claim. - * You must authenticate using an access token with the `write:org` scope to use this endpoint. - * GitHub Apps must have the `admin:org` permission to use this endpoint. - */ - put: operations["oidc/update-oidc-custom-sub-template-for-org"]; - }; "/orgs/{org}/actions/permissions": { /** * Gets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. @@ -939,16 +983,6 @@ export interface paths { put: operations["actions/set-repo-access-to-self-hosted-runner-group-in-org"]; }; "/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}": { - /** - * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." - * - * - * Adds a repository to the list of selected repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` - * scope to use this endpoint. - */ - put: operations["actions/add-repo-access-to-self-hosted-runner-group-in-org"]; /** * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." * @@ -1205,18 +1239,6 @@ export interface paths { /** Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ delete: operations["actions/remove-selected-repo-from-org-secret"]; }; - "/orgs/{org}/audit-log": { - /** - * Gets the audit log for an organization. For more information, see "[Reviewing the audit log for your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization)." - * - * This endpoint is available for organizations on GitHub Enterprise Cloud. To use this endpoint, you must be an organization owner, and you must use an access token with the `admin:org` scope. GitHub Apps must have the `organization_administration` read permission to use this endpoint. - * - * By default, the response includes up to 30 events from the past three months. Use the `phrase` parameter to filter results and retrieve older events. For example, use the `phrase` parameter with the `created` qualifier to filter events based on when the events occurred. For more information, see "[Reviewing the audit log for your organization](https://docs.github.com/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization#searching-the-audit-log)." - * - * Use pagination to retrieve fewer or more than 30 events. For more information, see "[Resources in the REST API](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination)." - */ - get: operations["orgs/get-audit-log"]; - }; "/orgs/{org}/blocks": { /** List the users blocked by an organization. */ get: operations["orgs/list-blocked-users"]; @@ -1246,21 +1268,43 @@ export interface paths { */ get: operations["codespaces/list-in-organization"]; }; - "/orgs/{org}/credential-authorizations": { + "/orgs/{org}/custom_roles": { /** - * Listing and deleting credential authorizations is available to organizations with GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products). + * **Note**: This operation is in beta and is subject to change. * - * An authenticated organization owner with the `read:org` scope can list all credential authorizations for an organization that uses SAML single sign-on (SSO). The credentials are either personal access tokens or SSH keys that organization members have authorized for the organization. For more information, see [About authentication with SAML single sign-on](https://docs.github.com/en/articles/about-authentication-with-saml-single-sign-on). + * Creates a custom repository role that can be used by all repositories owned by the organization. + * + * To use this endpoint the authenticated user must be an administrator for the organization and must use an access token with `admin:org` scope. + * GitHub Apps must have the `organization_custom_roles:write` organization permission to use this endpoint. + * + * For more information on custom repository roles, see "[Managing custom repository roles for an organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)." */ - get: operations["orgs/list-saml-sso-authorizations"]; + post: operations["orgs/create-custom-role"]; }; - "/orgs/{org}/credential-authorizations/{credential_id}": { + "/orgs/{org}/custom_roles/{role_id}": { + /** + * **Note**: This operation is in beta and is subject to change. + * + * Deletes a custom role from an organization. Once the custom role has been deleted, any + * user, team, or invitation with the deleted custom role will be reassigned the inherited role. + * + * To use this endpoint the authenticated user must be an administrator for the organization and must use an access token with `admin:org` scope. + * GitHub Apps must have the `organization_custom_roles:write` organization permission to use this endpoint. + * + * For more information about custom repository roles, see "[Managing custom repository roles for an organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)." + */ + delete: operations["orgs/delete-custom-role"]; /** - * Listing and deleting credential authorizations is available to organizations with GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products). + * **Note**: This operation is in beta and subject to change. + * + * Updates a custom repository role that can be used by all repositories owned by the organization. * - * An authenticated organization owner with the `admin:org` scope can remove a credential authorization for an organization that uses SAML SSO. Once you remove someone's credential authorization, they will need to create a new personal access token or SSH key and authorize it for the organization they want to access. + * To use this endpoint the authenticated user must be an administrator for the organization and must use an access token with `admin:org` scope. + * GitHub Apps must have the `organization_custom_roles:write` organization permission to use this endpoint. + * + * For more information about custom repository roles, see "[Managing custom repository roles for an organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)." */ - delete: operations["orgs/remove-saml-sso-authorization"]; + patch: operations["orgs/update-custom-role"]; }; "/orgs/{org}/dependabot/secrets": { /** Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ @@ -1369,25 +1413,20 @@ export interface paths { "/orgs/{org}/events": { get: operations["activity/list-public-org-events"]; }; - "/orgs/{org}/external-group/{group_id}": { - /** - * Displays information about the specific group's usage. Provides a list of the group's external members as well as a list of teams that this group is connected to. - * - * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. - */ - get: operations["teams/external-idp-group-info-for-org"]; + "/orgs/{org}/failed_invitations": { + /** The return hash contains `failed_at` and `failed_reason` fields which represent the time at which the invitation failed and the reason for the failure. */ + get: operations["orgs/list-failed-invitations"]; }; - "/orgs/{org}/external-groups": { + "/orgs/{org}/fine_grained_permissions": { /** - * Lists external groups available in an organization. You can query the groups using the `display_name` parameter, only groups with a `group_name` containing the text provided in the `display_name` parameter will be returned. You can also limit your page results using the `per_page` parameter. GitHub generates a url-encoded `page` token using a cursor value for where the next page begins. For more information on cursor pagination, see "[Offset and Cursor Pagination explained](https://dev.to/jackmarchant/offset-and-cursor-pagination-explained-b89)." + * **Note**: This operation is in beta and subject to change. * - * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. + * Lists the fine-grained permissions available for an organization. + * + * To use this endpoint the authenticated user must be an administrator for the organization or of an repository of the organizaiton and must use an access token with `admin:org repo` scope. + * GitHub Apps must have the `organization_custom_roles:read` organization permission to use this endpoint. */ - get: operations["teams/list-external-idp-groups-for-org"]; - }; - "/orgs/{org}/failed_invitations": { - /** The return hash contains `failed_at` and `failed_reason` fields which represent the time at which the invitation failed and the reason for the failure. */ - get: operations["orgs/list-failed-invitations"]; + get: operations["orgs/list-fine-grained-permissions"]; }; "/orgs/{org}/hooks": { get: operations["orgs/list-webhooks"]; @@ -1617,7 +1656,7 @@ export interface paths { }; "/orgs/{org}/packages/{package_type}/{package_name}/versions": { /** - * Returns all package versions for a package owned by an organization. + * Lists package versions for a package owned by an organization. * * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. * If `package_type` is not `container`, your token must also include the `repo` scope. @@ -1770,14 +1809,6 @@ export interface paths { */ get: operations["billing/get-shared-storage-billing-org"]; }; - "/orgs/{org}/team-sync/groups": { - /** - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * List IdP groups available in an organization. You can limit your page results using the `per_page` parameter. GitHub generates a url-encoded `page` token using a cursor value for where the next page begins. For more information on cursor pagination, see "[Offset and Cursor Pagination explained](https://dev.to/jackmarchant/offset-and-cursor-pagination-explained-b89)." - */ - get: operations["teams/list-idp-groups-for-org"]; - }; "/orgs/{org}/teams": { /** Lists all teams in an organization that are visible to the authenticated user. */ get: operations["teams/list"]; @@ -1926,26 +1957,6 @@ export interface paths { */ delete: operations["reactions/delete-for-team-discussion"]; }; - "/orgs/{org}/teams/{team_slug}/external-groups": { - /** - * Lists a connection between a team and an external group. - * - * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. - */ - get: operations["teams/list-linked-external-idp-groups-to-team-for-org"]; - /** - * Deletes a connection between a team and an external group. - * - * You can manage team membership with your IdP using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - delete: operations["teams/unlink-external-idp-group-from-team-for-org"]; - /** - * Creates a connection between a team and an external group. Only one external group can be linked to a team. - * - * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. - */ - patch: operations["teams/link-external-idp-group-to-team-for-org"]; - }; "/orgs/{org}/teams/{team_slug}/invitations": { /** * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. @@ -2063,31 +2074,26 @@ export interface paths { */ delete: operations["teams/remove-repo-in-org"]; }; - "/orgs/{org}/teams/{team_slug}/team-sync/group-mappings": { + "/orgs/{org}/teams/{team_slug}/teams": { /** - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * List IdP groups connected to a team on GitHub. + * Lists the child teams of the team specified by `{team_slug}`. * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/team-sync/group-mappings`. + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/teams`. */ - get: operations["teams/list-idp-groups-in-org"]; + get: operations["teams/list-child-in-org"]; + }; + "/orgs/{org}/{security_product}/{enablement}": { /** - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Enables or disables the specified security feature for all repositories in an organization. * - * Creates, updates, or removes a connection between a team and an IdP group. When adding groups to a team, you must include all new and existing groups to avoid replacing existing groups with the new ones. Specifying an empty `groups` array will remove all connections for a team. + * To use this endpoint, you must be an organization owner or be member of a team with the security manager role. + * A token with the 'write:org' scope is also required. * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/team-sync/group-mappings`. - */ - patch: operations["teams/create-or-update-idp-group-connections-in-org"]; - }; - "/orgs/{org}/teams/{team_slug}/teams": { - /** - * Lists the child teams of the team specified by `{team_slug}`. + * GitHub Apps must have the `organization_administration:write` permission to use this endpoint. * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/teams`. + * For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." */ - get: operations["teams/list-child-in-org"]; + post: operations["orgs/enable-or-disable-security-product-on-all-org-repos"]; }; "/projects/columns/cards/{card_id}": { get: operations["projects/get-card"]; @@ -2226,20 +2232,6 @@ export interface paths { /** Re-run a job and its dependent jobs in a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ post: operations["actions/re-run-job-for-workflow-run"]; }; - "/repos/{owner}/{repo}/actions/oidc/customization/sub": { - /** - * Gets the `opt-out` flag of a GitHub Actions OpenID Connect (OIDC) subject claim customization for a repository. - * You must authenticate using an access token with the `repo` scope to use this - * endpoint. GitHub Apps must have the `organization_administration:read` permission to use this endpoint. - */ - get: operations["actions/get-custom-oidc-sub-claim-for-repo"]; - /** - * Sets the `opt-in` or `opt-out` flag of a GitHub Actions OpenID Connect (OIDC) subject claim customization for a repository. - * You must authenticate using an access token with the `repo` scope to use this - * endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - put: operations["actions/set-custom-oidc-sub-claim-for-repo"]; - }; "/repos/{owner}/{repo}/actions/permissions": { /** * Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions and reusable workflows allowed to run in the repository. @@ -3126,8 +3118,7 @@ export interface paths { * * * `ref` * * `tool` - * * `analysis_key` - * * `environment` + * * `category` * * If you attempt to delete an analysis that is not the most recent in a set, * you'll get a 400 response with the message: @@ -3172,6 +3163,32 @@ export interface paths { */ delete: operations["code-scanning/delete-analysis"]; }; + "/repos/{owner}/{repo}/code-scanning/codeql/databases": { + /** + * Lists the CodeQL databases that are available in a repository. + * + * For private repositories, you must use an access token with the `security_events` scope. + * For public repositories, you can use tokens with the `security_events` or `public_repo` scope. + * GitHub Apps must have the `contents` read permission to use this endpoint. + */ + get: operations["code-scanning/list-codeql-databases"]; + }; + "/repos/{owner}/{repo}/code-scanning/codeql/databases/{language}": { + /** + * Gets a CodeQL database for a language in a repository. + * + * By default this endpoint returns JSON metadata about the CodeQL database. To + * download the CodeQL database binary content, set the `Accept` header of the request + * to [`application/zip`](https://docs.github.com/rest/overview/media-types), and make sure + * your HTTP client is configured to follow redirects or use the `Location` header + * to make a second request to get the redirect URL. + * + * For private repositories, you must use an access token with the `security_events` scope. + * For public repositories, you can use tokens with the `security_events` or `public_repo` scope. + * GitHub Apps must have the `contents` read permission to use this endpoint. + */ + get: operations["code-scanning/get-codeql-database"]; + }; "/repos/{owner}/{repo}/code-scanning/sarifs": { /** * Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. You must use an access token with the `security_events` scope to use this endpoint for private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. @@ -3565,9 +3582,10 @@ export interface paths { }; "/repos/{owner}/{repo}/community/profile": { /** - * This endpoint will return all community profile metrics, including an - * overall health score, repository description, the presence of documentation, detected - * code of conduct, detected license, and the presence of ISSUE\_TEMPLATE, PULL\_REQUEST\_TEMPLATE, + * Returns all community profile metrics for a repository. The repository must be public, and cannot be a fork. + * + * The returned metrics include an overall health score, the repository description, the presence of documentation, the + * detected code of conduct, the detected license, and the presence of ISSUE\_TEMPLATE, PULL\_REQUEST\_TEMPLATE, * README, and CONTRIBUTING files. * * The `health_percentage` score is defined as a percentage of how many of @@ -3635,11 +3653,11 @@ export interface paths { * type](https://docs.github.com/rest/reference/repos#custom-media-types) to ensure the content is returned in a consistent * object format. * - * **Note**: + * **Notes**: * * To get a repository's contents recursively, you can [recursively get the tree](https://docs.github.com/rest/reference/git#trees). * * This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the [Git Trees * API](https://docs.github.com/rest/reference/git#get-a-tree). - * + * * Download URLs expire and are meant to be used just once. To ensure the download URL does not expire, please use the contents API to obtain a fresh download URL for each download. * #### Size limits * If the requested file's size is: * * 1 MB or smaller: All features of this endpoint are supported. @@ -3666,7 +3684,11 @@ export interface paths { * github.com URLs (`html_url` and `_links["html"]`) will have null values. */ get: operations["repos/get-content"]; - /** Creates a new file or replaces an existing file in a repository. */ + /** + * Creates a new file or replaces an existing file in a repository. You must authenticate using an access token with the `workflow` scope to use this endpoint. + * + * **Note:** If you use this endpoint and the "[Delete a file](https://docs.github.com/rest/reference/repos/#delete-file)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. + */ put: operations["repos/create-or-update-file-contents"]; /** * Deletes a file in a repository. @@ -3676,6 +3698,8 @@ export interface paths { * The `author` section is optional and is filled in with the `committer` information if omitted. If the `committer` information is omitted, the authenticated user's information is used. * * You must provide values for both `name` and `email`, whether you choose to use `author` or `committer`. Otherwise, you'll receive a `422` status code. + * + * **Note:** If you use this endpoint and the "[Create or update file contents](https://docs.github.com/rest/reference/repos/#create-or-update-file-contents)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. */ delete: operations["repos/delete-file"]; }; @@ -3687,6 +3711,28 @@ export interface paths { */ get: operations["repos/list-contributors"]; }; + "/repos/{owner}/{repo}/dependabot/alerts": { + /** + * You must use an access token with the `security_events` scope to use this endpoint with private repositories. + * You can also use tokens with the `public_repo` scope for public repositories only. + * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. + */ + get: operations["dependabot/list-alerts-for-repo"]; + }; + "/repos/{owner}/{repo}/dependabot/alerts/{alert_number}": { + /** + * You must use an access token with the `security_events` scope to use this endpoint with private repositories. + * You can also use tokens with the `public_repo` scope for public repositories only. + * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. + */ + get: operations["dependabot/get-alert"]; + /** + * You must use an access token with the `security_events` scope to use this endpoint with private repositories. + * You can also use tokens with the `public_repo` scope for public repositories only. + * GitHub Apps must have **Dependabot alerts** write permission to use this endpoint. + */ + patch: operations["dependabot/update-alert"]; + }; "/repos/{owner}/{repo}/dependabot/secrets": { /** Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. */ get: operations["dependabot/list-repo-secrets"]; @@ -4150,10 +4196,14 @@ export interface paths { * Returns a single tree using the SHA1 value for that tree. * * If `truncated` is `true` in the response then the number of items in the `tree` array exceeded our maximum limit. If you need to fetch more items, use the non-recursive method of fetching trees, and fetch one sub-tree at a time. + * + * + * **Note**: The limit for the `tree` array is 100,000 entries with a maximum size of 7 MB when using the `recursive` parameter. */ get: operations["git/get-tree"]; }; "/repos/{owner}/{repo}/hooks": { + /** Lists webhooks for a repository. `last response` may return null if there have not been any deliveries within 30 days. */ get: operations["repos/list-webhooks"]; /** * Repositories can have multiple webhooks installed. Each webhook should have a unique `config`. Multiple webhooks can @@ -4819,7 +4869,7 @@ export interface paths { /** * Lists the people that have starred the repository. * - * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. */ get: operations["activity/list-stargazers-for-repo"]; }; @@ -4960,7 +5010,7 @@ export interface paths { }; "/repos/{template_owner}/{template_repo}/generate": { /** - * Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. The authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/rest/reference/repos#get-a-repository) endpoint and check that the `is_template` key is `true`. + * Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. If the repository is not public, the authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/rest/reference/repos#get-a-repository) endpoint and check that the `is_template` key is `true`. * * **OAuth scope requirements** * @@ -5073,156 +5123,6 @@ export interface paths { /** Deletes a secret in an environment using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ delete: operations["actions/delete-environment-secret"]; }; - "/scim/v2/enterprises/{enterprise}/Groups": { - /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ - get: operations["enterprise-admin/list-provisioned-groups-enterprise"]; - /** - * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - * - * Provision an enterprise group, and invite users to the group. This sends invitation emails to the email address of the invited users to join the GitHub organization that the SCIM group corresponds to. - */ - post: operations["enterprise-admin/provision-and-invite-enterprise-group"]; - }; - "/scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}": { - /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ - get: operations["enterprise-admin/get-provisioning-information-for-enterprise-group"]; - /** - * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - * - * Replaces an existing provisioned group’s information. You must provide all the information required for the group as if you were provisioning it for the first time. Any existing group information that you don't provide will be removed, including group membership. If you want to only update a specific attribute, use the [Update an attribute for a SCIM enterprise group](#update-an-attribute-for-a-scim-enterprise-group) endpoint instead. - */ - put: operations["enterprise-admin/set-information-for-provisioned-enterprise-group"]; - /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ - delete: operations["enterprise-admin/delete-scim-group-from-enterprise"]; - /** - * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - * - * Allows you to change a provisioned group’s individual attributes. To change a group’s values, you must provide a specific Operations JSON format that contains at least one of the add, remove, or replace operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). - */ - patch: operations["enterprise-admin/update-attribute-for-enterprise-group"]; - }; - "/scim/v2/enterprises/{enterprise}/Users": { - /** - * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - * - * Retrieves a paginated list of all provisioned enterprise members, including pending invitations. - * - * When a user with a SAML-provisioned external identity leaves (or is removed from) an enterprise, the account's metadata is immediately removed. However, the returned list of user accounts might not always match the organization or enterprise member list you see on GitHub. This can happen in certain cases where an external identity associated with an organization will not match an organization member: - * - When a user with a SCIM-provisioned external identity is removed from an enterprise, the account's metadata is preserved to allow the user to re-join the organization in the future. - * - When inviting a user to join an organization, you can expect to see their external identity in the results before they accept the invitation, or if the invitation is cancelled (or never accepted). - * - When a user is invited over SCIM, an external identity is created that matches with the invitee's email address. However, this identity is only linked to a user account when the user accepts the invitation by going through SAML SSO. - * - * The returned list of external identities can include an entry for a `null` user. These are unlinked SAML identities that are created when a user goes through the following Single Sign-On (SSO) process but does not sign in to their GitHub account after completing SSO: - * - * 1. The user is granted access by the IdP and is not a member of the GitHub enterprise. - * - * 1. The user attempts to access the GitHub enterprise and initiates the SAML SSO process, and is not currently signed in to their GitHub account. - * - * 1. After successfully authenticating with the SAML SSO IdP, the `null` external identity entry is created and the user is prompted to sign in to their GitHub account: - * - If the user signs in, their GitHub account is linked to this entry. - * - If the user does not sign in (or does not create a new account when prompted), they are not added to the GitHub enterprise, and the external identity `null` entry remains in place. - */ - get: operations["enterprise-admin/list-provisioned-identities-enterprise"]; - /** - * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - * - * Provision enterprise membership for a user, and send organization invitation emails to the email address. - * - * You can optionally include the groups a user will be invited to join. If you do not provide a list of `groups`, the user is provisioned for the enterprise, but no organization invitation emails will be sent. - */ - post: operations["enterprise-admin/provision-and-invite-enterprise-user"]; - }; - "/scim/v2/enterprises/{enterprise}/Users/{scim_user_id}": { - /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ - get: operations["enterprise-admin/get-provisioning-information-for-enterprise-user"]; - /** - * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - * - * Replaces an existing provisioned user's information. You must provide all the information required for the user as if you were provisioning them for the first time. Any existing user information that you don't provide will be removed. If you want to only update a specific attribute, use the [Update an attribute for a SCIM user](#update-an-attribute-for-an-enterprise-scim-user) endpoint instead. - * - * You must at least provide the required values for the user: `userName`, `name`, and `emails`. - * - * **Warning:** Setting `active: false` removes the user from the enterprise, deletes the external identity, and deletes the associated `{scim_user_id}`. - */ - put: operations["enterprise-admin/set-information-for-provisioned-enterprise-user"]; - /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ - delete: operations["enterprise-admin/delete-user-from-enterprise"]; - /** - * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - * - * Allows you to change a provisioned user's individual attributes. To change a user's values, you must provide a specific `Operations` JSON format that contains at least one of the `add`, `remove`, or `replace` operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). - * - * **Note:** Complicated SCIM `path` selectors that include filters are not supported. For example, a `path` selector defined as `"path": "emails[type eq \"work\"]"` will not work. - * - * **Warning:** If you set `active:false` using the `replace` operation (as shown in the JSON example below), it removes the user from the enterprise, deletes the external identity, and deletes the associated `:scim_user_id`. - * - * ``` - * { - * "Operations":[{ - * "op":"replace", - * "value":{ - * "active":false - * } - * }] - * } - * ``` - */ - patch: operations["enterprise-admin/update-attribute-for-enterprise-user"]; - }; - "/scim/v2/organizations/{org}/Users": { - /** - * Retrieves a paginated list of all provisioned organization members, including pending invitations. If you provide the `filter` parameter, the resources for all matching provisions members are returned. - * - * When a user with a SAML-provisioned external identity leaves (or is removed from) an organization, the account's metadata is immediately removed. However, the returned list of user accounts might not always match the organization or enterprise member list you see on GitHub. This can happen in certain cases where an external identity associated with an organization will not match an organization member: - * - When a user with a SCIM-provisioned external identity is removed from an organization, the account's metadata is preserved to allow the user to re-join the organization in the future. - * - When inviting a user to join an organization, you can expect to see their external identity in the results before they accept the invitation, or if the invitation is cancelled (or never accepted). - * - When a user is invited over SCIM, an external identity is created that matches with the invitee's email address. However, this identity is only linked to a user account when the user accepts the invitation by going through SAML SSO. - * - * The returned list of external identities can include an entry for a `null` user. These are unlinked SAML identities that are created when a user goes through the following Single Sign-On (SSO) process but does not sign in to their GitHub account after completing SSO: - * - * 1. The user is granted access by the IdP and is not a member of the GitHub organization. - * - * 1. The user attempts to access the GitHub organization and initiates the SAML SSO process, and is not currently signed in to their GitHub account. - * - * 1. After successfully authenticating with the SAML SSO IdP, the `null` external identity entry is created and the user is prompted to sign in to their GitHub account: - * - If the user signs in, their GitHub account is linked to this entry. - * - If the user does not sign in (or does not create a new account when prompted), they are not added to the GitHub organization, and the external identity `null` entry remains in place. - */ - get: operations["scim/list-provisioned-identities"]; - /** Provision organization membership for a user, and send an activation email to the email address. */ - post: operations["scim/provision-and-invite-user"]; - }; - "/scim/v2/organizations/{org}/Users/{scim_user_id}": { - get: operations["scim/get-provisioning-information-for-user"]; - /** - * Replaces an existing provisioned user's information. You must provide all the information required for the user as if you were provisioning them for the first time. Any existing user information that you don't provide will be removed. If you want to only update a specific attribute, use the [Update an attribute for a SCIM user](https://docs.github.com/rest/reference/scim#update-an-attribute-for-a-scim-user) endpoint instead. - * - * You must at least provide the required values for the user: `userName`, `name`, and `emails`. - * - * **Warning:** Setting `active: false` removes the user from the organization, deletes the external identity, and deletes the associated `{scim_user_id}`. - */ - put: operations["scim/set-information-for-provisioned-user"]; - delete: operations["scim/delete-user-from-org"]; - /** - * Allows you to change a provisioned user's individual attributes. To change a user's values, you must provide a specific `Operations` JSON format that contains at least one of the `add`, `remove`, or `replace` operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). - * - * **Note:** Complicated SCIM `path` selectors that include filters are not supported. For example, a `path` selector defined as `"path": "emails[type eq \"work\"]"` will not work. - * - * **Warning:** If you set `active:false` using the `replace` operation (as shown in the JSON example below), it removes the user from the organization, deletes the external identity, and deletes the associated `:scim_user_id`. - * - * ``` - * { - * "Operations":[{ - * "op":"replace", - * "value":{ - * "active":false - * } - * }] - * } - * ``` - */ - patch: operations["scim/update-attribute-for-user"]; - }; "/search/code": { /** * Searches for query terms inside of a file. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). @@ -5599,24 +5499,6 @@ export interface paths { */ delete: operations["teams/remove-repo-legacy"]; }; - "/teams/{team_id}/team-sync/group-mappings": { - /** - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List IdP groups for a team`](https://docs.github.com/rest/reference/teams#list-idp-groups-for-a-team) endpoint. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * List IdP groups connected to a team on GitHub. - */ - get: operations["teams/list-idp-groups-for-legacy"]; - /** - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create or update IdP group connections`](https://docs.github.com/rest/reference/teams#create-or-update-idp-group-connections) endpoint. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Creates, updates, or removes a connection between a team and an IdP group. When adding groups to a team, you must include all new and existing groups to avoid replacing existing groups with the new ones. Specifying an empty `groups` array will remove all connections for a team. - */ - patch: operations["teams/create-or-update-idp-group-connections-legacy"]; - }; "/teams/{team_id}/teams": { /** **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://docs.github.com/rest/reference/teams#list-child-teams) endpoint. */ get: operations["teams/list-child-legacy"]; @@ -6120,7 +6002,7 @@ export interface paths { }; "/user/packages/{package_type}/{package_name}/versions": { /** - * Returns all package versions for a package owned by the authenticated user. + * Lists package versions for a package owned by the authenticated user. * * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. * If `package_type` is not `container`, your token must also include the `repo` scope. @@ -6190,11 +6072,23 @@ export interface paths { delete: operations["repos/decline-invitation-for-authenticated-user"]; patch: operations["repos/accept-invitation-for-authenticated-user"]; }; + "/user/ssh_signing_keys": { + /** Lists the SSH signing keys for the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `read:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." */ + get: operations["users/list-ssh-signing-keys-for-authenticated-user"]; + /** Creates an SSH signing key for the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `write:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." */ + post: operations["users/create-ssh-signing-key-for-authenticated-user"]; + }; + "/user/ssh_signing_keys/{ssh_signing_key_id}": { + /** Gets extended details for an SSH signing key. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `read:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." */ + get: operations["users/get-ssh-signing-key-for-authenticated-user"]; + /** Deletes an SSH signing key from the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `admin:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." */ + delete: operations["users/delete-ssh-signing-key-for-authenticated-user"]; + }; "/user/starred": { /** * Lists repositories the authenticated user has starred. * - * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. */ get: operations["activity/list-repos-starred-by-authenticated-user"]; }; @@ -6337,7 +6231,7 @@ export interface paths { }; "/users/{username}/packages/{package_type}/{package_name}/versions": { /** - * Returns all package versions for a public package owned by a specified user. + * Lists package versions for a public package owned by a specified user. * * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. * If `package_type` is not `container`, your token must also include the `repo` scope. @@ -6419,11 +6313,15 @@ export interface paths { */ get: operations["billing/get-shared-storage-billing-user"]; }; + "/users/{username}/ssh_signing_keys": { + /** Lists the SSH signing keys for a user. This operation is accessible by anyone. */ + get: operations["users/list-ssh-signing-keys-for-user"]; + }; "/users/{username}/starred": { /** * Lists repositories a user has starred. * - * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. */ get: operations["activity/list-repos-starred-by-user"]; }; @@ -7064,11 +6962,6 @@ export interface components { * @enum {string} */ contents?: "read" | "write"; - /** - * @description The level of permission to grant the access token for custom roles management. - * @enum {string} - */ - organization_custom_roles?: "read" | "write"; /** * @description The level of permission to grant the access token for deployments and deployment statuses. * @enum {string} @@ -7159,6 +7052,11 @@ export interface components { * @enum {string} */ organization_administration?: "read" | "write"; + /** + * @description The level of permission to grant the access token for custom roles management. This property is in beta and is subject to change. + * @enum {string} + */ + organization_custom_roles?: "read" | "write"; /** * @description The level of permission to grant the access token to manage the post-receive hooks for an organization. * @enum {string} @@ -7473,7 +7371,10 @@ export interface components { stargazers_count: number; /** @example 80 */ watchers_count: number; - /** @example 108 */ + /** + * @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. + * @example 108 + */ size: number; /** * @description The default branch of the repository. @@ -7717,7 +7618,8 @@ export interface components { */ allow_update_branch?: boolean; /** - * @description Whether a squash merge commit can use the pull request title as default. + * @deprecated + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. * @default false */ use_squash_pr_title_as_default?: boolean; @@ -7775,6 +7677,8 @@ export interface components { master_branch?: string; /** @example "2020-07-09T00:17:42Z" */ starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; }; /** * Installation Token @@ -8005,13 +7909,6 @@ export interface components { /** @description The total size in bytes of all active cache items across all repositories of an enterprise or an organization. */ total_active_caches_size_in_bytes: number; }; - "actions-oidc-custom-issuer-policy-for-enterprise": { - /** - * @description Whether the enterprise customer requested a custom issuer URL. - * @example true - */ - include_enterprise_slug?: boolean; - }; /** * @description The policy that controls the organizations in the enterprise that are allowed to run GitHub Actions. * @enum {string} @@ -8203,63 +8100,6 @@ export interface components { */ repository_selection?: "all" | "selected"; }; - "audit-log-event": { - /** @description The time the audit log event occurred, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). */ - "@timestamp"?: number; - /** @description The name of the action that was performed, for example `user.login` or `repo.create`. */ - action?: string; - active?: boolean; - active_was?: boolean; - /** @description The actor who performed the action. */ - actor?: string; - /** @description The id of the actor who performed the action. */ - actor_id?: number; - actor_location?: { - country_name?: string; - }; - data?: { [key: string]: unknown }; - org_id?: number; - /** @description The username of the account being blocked. */ - blocked_user?: string; - business?: string; - config?: { [key: string]: unknown }[]; - config_was?: { [key: string]: unknown }[]; - content_type?: string; - /** @description The time the audit log event was recorded, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). */ - created_at?: number; - deploy_key_fingerprint?: string; - /** @description A unique identifier for an audit event. */ - _document_id?: string; - emoji?: string; - events?: { [key: string]: unknown }[]; - events_were?: { [key: string]: unknown }[]; - explanation?: string; - fingerprint?: string; - hook_id?: number; - limited_availability?: boolean; - message?: string; - name?: string; - old_user?: string; - openssh_public_key?: string; - org?: string; - previous_visibility?: string; - read_only?: boolean; - /** @description The name of the repository. */ - repo?: string; - /** @description The name of the repository. */ - repository?: string; - repository_public?: boolean; - target_login?: string; - team?: string; - /** @description The type of protocol (for example, HTTP or SSH) used to transfer Git data. */ - transport_protocol?: number; - /** @description A human readable name for the protocol (for example, HTTP or SSH) used to transfer Git data. */ - transport_protocol_name?: string; - /** @description The user that was affected by the action performed (if available). */ - user?: string; - /** @description The repository visibility, for example `public` or `private`. */ - visibility?: string; - }; /** @description The name of the tool used to generate the code scanning analysis. */ "code-scanning-analysis-tool-name": string; /** @description The GUID of the tool used to generate the code scanning analysis, if provided in the uploaded SARIF data. */ @@ -8338,6 +8178,8 @@ export interface components { tags?: string[] | null; /** @description Detailed documentation for the rule as GitHub Flavored Markdown. */ help?: string | null; + /** @description A link to the documentation for the rule used to detect the alert. */ + help_uri?: string | null; }; /** @description The version of the tool used to generate the code scanning analysis. */ "code-scanning-analysis-tool-version": string | null; @@ -8649,54 +8491,13 @@ export interface components { most_recent_instance: components["schemas"]["code-scanning-alert-instance"]; repository: components["schemas"]["simple-repository"]; }; - /** - * Enterprise Consumed Licenses - * @description A breakdown of the licenses consumed by an enterprise. - */ - "get-consumed-licenses": { - total_seats_consumed?: number; - total_seats_purchased?: number; - users?: { - github_com_login?: string; - github_com_name?: string | null; - github_com_profile?: string | null; - license_type?: string; - github_com_member_roles?: string[]; - github_com_enterprise_role?: string | null; - visual_studio_subscription_user?: boolean; - github_com_verified_domain_emails?: string[]; - github_com_saml_name_id?: string | null; - enterprise_server_user?: boolean | null; - enterprise_server_emails?: string[]; - github_com_user?: boolean; - total_user_accounts?: number; - enterprise_server_user_ids?: string[]; - github_com_orgs_with_pending_invites?: string[]; - visual_studio_subscription_email?: string | null; - }[]; - }; - /** - * License Sync Status - * @description Information about the status of a license sync job for an enterprise. - */ - "get-license-sync-status": { - server_instances?: { - server_id?: string; - hostname?: string; - last_sync?: { - date?: string; - status?: string; - error?: string; - }; - }[]; - }; /** * Format: date-time * @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ "nullable-alert-updated-at": string | null; /** - * @description Sets the state of the secret scanning alert. Can be either `open` or `resolved`. You must provide `resolution` when you set the state to `resolved`. + * @description Sets the state of the secret scanning alert. You must provide `resolution` when you set the state to `resolved`. * @enum {string} */ "secret-scanning-alert-state": "open" | "resolved"; @@ -8744,44 +8545,8 @@ export interface components { * @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ push_protection_bypassed_at?: string | null; - }; - "actions-billing-usage": { - /** @description The sum of the free and paid GitHub Actions minutes used. */ - total_minutes_used: number; - /** @description The total paid GitHub Actions minutes used. */ - total_paid_minutes_used: number; - /** @description The amount of free GitHub Actions minutes available. */ - included_minutes: number; - minutes_used_breakdown: { - /** @description Total minutes used on Ubuntu runner machines. */ - UBUNTU?: number; - /** @description Total minutes used on macOS runner machines. */ - MACOS?: number; - /** @description Total minutes used on Windows runner machines. */ - WINDOWS?: number; - /** @description Total minutes used on Ubuntu 4 core runner machines. */ - ubuntu_4_core?: number; - /** @description Total minutes used on Ubuntu 8 core runner machines. */ - ubuntu_8_core?: number; - /** @description Total minutes used on Ubuntu 16 core runner machines. */ - ubuntu_16_core?: number; - /** @description Total minutes used on Ubuntu 32 core runner machines. */ - ubuntu_32_core?: number; - /** @description Total minutes used on Ubuntu 64 core runner machines. */ - ubuntu_64_core?: number; - /** @description Total minutes used on Windows 4 core runner machines. */ - windows_4_core?: number; - /** @description Total minutes used on Windows 8 core runner machines. */ - windows_8_core?: number; - /** @description Total minutes used on Windows 16 core runner machines. */ - windows_16_core?: number; - /** @description Total minutes used on Windows 32 core runner machines. */ - windows_32_core?: number; - /** @description Total minutes used on Windows 64 core runner machines. */ - windows_64_core?: number; - /** @description Total minutes used on all runner machines. */ - total?: number; - }; + /** @description The comment that was optionally added when this alert was closed */ + resolution_comment?: string | null; }; "advanced-security-active-committers-user": { user_login: string; @@ -8802,22 +8567,6 @@ export interface components { total_count?: number; repositories: components["schemas"]["advanced-security-active-committers-repository"][]; }; - "packages-billing-usage": { - /** @description Sum of the free and paid storage space (GB) for GitHuub Packages. */ - total_gigabytes_bandwidth_used: number; - /** @description Total paid storage space (GB) for GitHuub Packages. */ - total_paid_gigabytes_bandwidth_used: number; - /** @description Free storage space (GB) for GitHub Packages. */ - included_gigabytes_bandwidth: number; - }; - "combined-billing-usage": { - /** @description Numbers of days left in billing cycle. */ - days_left_in_billing_cycle: number; - /** @description Estimated storage space (GB) used in billing cycle. */ - estimated_paid_storage_for_month: number; - /** @description Estimated sum of free and paid storage space (GB) used in billing cycle. */ - estimated_storage_for_month: number; - }; /** * Actor * @description Actor @@ -9046,8 +8795,9 @@ export interface components { /** * @description The reason for the current state * @example not_planned + * @enum {string|null} */ - state_reason?: string | null; + state_reason?: ("completed" | "reopened" | "not_planned") | null; /** * @description Title of the issue * @example Widget creation fails in Safari on OS X 10.8 @@ -9974,7 +9724,10 @@ export interface components { stargazers_count: number; /** @example 80 */ watchers_count: number; - /** @example 108 */ + /** + * @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. + * @example 108 + */ size: number; /** * @description The default branch of the repository. @@ -10218,7 +9971,8 @@ export interface components { */ allow_update_branch?: boolean; /** - * @description Whether a squash merge commit can use the pull request title as default. + * @deprecated + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. * @default false */ use_squash_pr_title_as_default?: boolean; @@ -10276,6 +10030,8 @@ export interface components { master_branch?: string; /** @example "2020-07-09T00:17:42Z" */ starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; } | null; /** * Minimal Repository @@ -10426,6 +10182,7 @@ export interface components { forks_count?: number; stargazers_count?: number; watchers_count?: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ size?: number; default_branch?: string; open_issues_count?: number; @@ -10546,7 +10303,82 @@ export interface components { id: number; /** @description The name of the custom role. */ name: string; + /** @description A short description about who this role is for or what permissions it grants. */ + description?: string | null; + /** + * @description The system role from which this role inherits permissions. + * @enum {string} + */ + base_role?: "read" | "triage" | "write" | "maintain"; + /** @description A list of additional permissions included in this role. */ + permissions?: string[]; + organization?: components["schemas"]["simple-user"]; + /** Format: date-time */ + created_at?: string; + /** Format: date-time */ + updated_at?: string; + }; + /** + * Codespaces Secret + * @description Secrets for a GitHub Codespace. + */ + "codespaces-org-secret": { + /** + * @description The name of the secret + * @example SECRET_NAME + */ + name: string; + /** + * Format: date-time + * @description The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + created_at: string; + /** + * Format: date-time + * @description The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + updated_at: string; + /** + * @description The type of repositories in the organization that the secret is visible to + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** + * Format: uri + * @description The API URL at which the list of repositories this secret is visible to can be retrieved + * @example https://api.github.com/orgs/ORGANIZATION/codespaces/secrets/SECRET_NAME/repositories + */ + selected_repositories_url?: string; }; + /** + * CodespacesPublicKey + * @description The public key used for setting Codespaces secrets. + */ + "codespaces-public-key": { + /** + * @description The identifier for the key. + * @example 1234567 + */ + key_id: string; + /** + * @description The Base64 encoded public key. + * @example hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs= + */ + key: string; + /** @example 2 */ + id?: number; + /** @example https://api.github.com/user/keys/2 */ + url?: string; + /** @example ssh-rsa AAAAB3NzaC1yc2EAAA */ + title?: string; + /** @example 2011-01-26T19:01:12Z */ + created_at?: string; + }; + /** + * Empty Object + * @description An object without any properties. + */ + "empty-object": { [key: string]: unknown }; /** * Organization Full * @description Organization Full @@ -10676,6 +10508,53 @@ export interface components { web_commit_signoff_required?: boolean; /** Format: date-time */ updated_at: string; + /** + * @description Whether GitHub Advanced Security is enabled for new repositories and repositories transferred to this organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. + * @example false + */ + advanced_security_enabled_for_new_repositories?: boolean; + /** + * @description Whether GitHub Advanced Security is automatically enabled for new repositories and repositories transferred to + * this organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. + * @example false + */ + dependabot_alerts_enabled_for_new_repositories?: boolean; + /** + * @description Whether dependabot security updates are automatically enabled for new repositories and repositories transferred + * to this organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. + * @example false + */ + dependabot_security_updates_enabled_for_new_repositories?: boolean; + /** + * @description Whether dependency graph is automatically enabled for new repositories and repositories transferred to this + * organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. + * @example false + */ + dependency_graph_enabled_for_new_repositories?: boolean; + /** + * @description Whether secret scanning is automatically enabled for new repositories and repositories transferred to this + * organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. + * @example false + */ + secret_scanning_enabled_for_new_repositories?: boolean; + /** + * @description Whether secret scanning push protection is automatically enabled for new repositories and repositories + * transferred to this organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. + * @example false + */ + secret_scanning_push_protection_enabled_for_new_repositories?: boolean; }; /** * Actions Cache Usage by repository @@ -10698,18 +10577,6 @@ export interface components { */ active_caches_count: number; }; - /** - * Actions OIDC Subject customization - * @description Actions OIDC Subject customization - */ - "oidc-custom-sub": { - include_claim_keys: string[]; - }; - /** - * Empty Object - * @description An object without any properties. - */ - "empty-object": { [key: string]: unknown }; /** * @description The policy that controls the repositories in the organization that are allowed to run GitHub Actions. * @enum {string} @@ -10997,74 +10864,11 @@ export interface components { * @example 2011-01-26T20:01:12Z */ retention_expires_at?: string | null; - }; - /** - * Credential Authorization - * @description Credential Authorization - */ - "credential-authorization": { - /** - * @description User login that owns the underlying credential. - * @example monalisa - */ - login: string; - /** - * @description Unique identifier for the credential. - * @example 1 - */ - credential_id: number; - /** - * @description Human-readable description of the credential type. - * @example SSH Key - */ - credential_type: string; - /** - * @description Last eight characters of the credential. Only included in responses with credential_type of personal access token. - * @example 12345678 - */ - token_last_eight?: string; - /** - * Format: date-time - * @description Date when the credential was authorized for use. - * @example 2011-01-26T19:06:43Z - */ - credential_authorized_at: string; - /** - * @description List of oauth scopes the token has been granted. - * @example [ - * "user", - * "repo" - * ] - */ - scopes?: string[]; /** - * @description Unique string to distinguish the credential. Only included in responses with credential_type of SSH Key. - * @example jklmnop12345678 + * @description The text to display to a user when a codespace has been stopped for a potentially actionable reason. + * @example you've used 100% of your spending limit for Codespaces */ - fingerprint?: string; - /** - * Format: date-time - * @description Date when the credential was last accessed. May be null if it was never accessed - * @example 2011-01-26T19:06:43Z - */ - credential_accessed_at: string | null; - /** @example 12345678 */ - authorized_credential_id: number | null; - /** - * @description The title given to the ssh key. This will only be present when the credential is an ssh key. - * @example my ssh key - */ - authorized_credential_title?: string | null; - /** - * @description The note given to the token. This will only be present when the credential is a token. - * @example my token - */ - authorized_credential_note?: string | null; - /** - * Format: date-time - * @description The expiry for the token. This will only be present when the credential is a token. - */ - authorized_credential_expires_at?: string | null; + last_known_stop_notice?: string | null; }; /** * Dependabot Secret for an Organization @@ -11107,129 +10911,6 @@ export interface components { */ key: string; }; - /** - * ExternalGroup - * @description Information about an external group's usage and its members - */ - "external-group": { - /** - * @description The internal ID of the group - * @example 1 - */ - group_id: number; - /** - * @description The display name for the group - * @example group-azuread-test - */ - group_name: string; - /** - * @description The date when the group was last updated_at - * @example 2021-01-03 22:27:15:000 -700 - */ - updated_at?: string; - /** - * @description An array of teams linked to this group - * @example [ - * { - * "team_id": 1, - * "team_name": "team-test" - * }, - * { - * "team_id": 2, - * "team_name": "team-test2" - * } - * ] - */ - teams: { - /** - * @description The id for a team - * @example 1 - */ - team_id: number; - /** - * @description The name of the team - * @example team-test - */ - team_name: string; - }[]; - /** - * @description An array of external members linked to this group - * @example [ - * { - * "member_id": 1, - * "member_login": "mona-lisa_eocsaxrs", - * "member_name": "Mona Lisa", - * "member_email": "mona_lisa@github.com" - * }, - * { - * "member_id": 2, - * "member_login": "octo-lisa_eocsaxrs", - * "member_name": "Octo Lisa", - * "member_email": "octo_lisa@github.com" - * } - * ] - */ - members: { - /** - * @description The internal user ID of the identity - * @example 1 - */ - member_id: number; - /** - * @description The handle/login for the user - * @example mona-lisa_eocsaxrs - */ - member_login: string; - /** - * @description The user display name/profile name - * @example Mona Lisa - */ - member_name: string; - /** - * @description An email attached to a user - * @example mona_lisa@github.com - */ - member_email: string; - }[]; - }; - /** - * ExternalGroups - * @description A list of external groups available to be connected to a team - */ - "external-groups": { - /** - * @description An array of external groups available to be mapped to a team - * @example [ - * { - * "group_id": 1, - * "group_name": "group-azuread-test", - * "updated_at": "2021-01-03 22:27:15:000 -700" - * }, - * { - * "group_id": 2, - * "group_name": "group-azuread-test2", - * "updated_at": "2021-06-03 22:27:15:000 -700" - * } - * ] - */ - groups?: { - /** - * @description The internal ID of the group - * @example 1 - */ - group_id: number; - /** - * @description The display name of the group - * @example group-azuread-test - */ - group_name: string; - /** - * @description The time of the last update for this group - * @example 2019-06-03 22:27:15:000 -700 - */ - updated_at: string; - }[]; - }; /** * Organization Invitation * @description Organization Invitation @@ -11249,6 +10930,14 @@ export interface components { /** @example "https://api.github.com/organizations/16/invitations/1/teams" */ invitation_teams_url: string; }; + /** + * Organization Fine-Grained Permission + * @description Fine-grained permissions available for the organization + */ + "organization-fine-grained-permission": { + name: string; + description: string; + }; /** * Org Hook * @description Org Hook @@ -11658,6 +11347,7 @@ export interface components { forks_count?: number; stargazers_count?: number; watchers_count?: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ size?: number; default_branch?: string; open_issues_count?: number; @@ -11952,53 +11642,189 @@ export interface components { */ ldap_dn?: string; }; + "actions-billing-usage": { + /** @description The sum of the free and paid GitHub Actions minutes used. */ + total_minutes_used: number; + /** @description The total paid GitHub Actions minutes used. */ + total_paid_minutes_used: number; + /** @description The amount of free GitHub Actions minutes available. */ + included_minutes: number; + minutes_used_breakdown: { + /** @description Total minutes used on Ubuntu runner machines. */ + UBUNTU?: number; + /** @description Total minutes used on macOS runner machines. */ + MACOS?: number; + /** @description Total minutes used on Windows runner machines. */ + WINDOWS?: number; + /** @description Total minutes used on Ubuntu 4 core runner machines. */ + ubuntu_4_core?: number; + /** @description Total minutes used on Ubuntu 8 core runner machines. */ + ubuntu_8_core?: number; + /** @description Total minutes used on Ubuntu 16 core runner machines. */ + ubuntu_16_core?: number; + /** @description Total minutes used on Ubuntu 32 core runner machines. */ + ubuntu_32_core?: number; + /** @description Total minutes used on Ubuntu 64 core runner machines. */ + ubuntu_64_core?: number; + /** @description Total minutes used on Windows 4 core runner machines. */ + windows_4_core?: number; + /** @description Total minutes used on Windows 8 core runner machines. */ + windows_8_core?: number; + /** @description Total minutes used on Windows 16 core runner machines. */ + windows_16_core?: number; + /** @description Total minutes used on Windows 32 core runner machines. */ + windows_32_core?: number; + /** @description Total minutes used on Windows 64 core runner machines. */ + windows_64_core?: number; + /** @description Total minutes used on all runner machines. */ + total?: number; + }; + }; + "packages-billing-usage": { + /** @description Sum of the free and paid storage space (GB) for GitHuub Packages. */ + total_gigabytes_bandwidth_used: number; + /** @description Total paid storage space (GB) for GitHuub Packages. */ + total_paid_gigabytes_bandwidth_used: number; + /** @description Free storage space (GB) for GitHub Packages. */ + included_gigabytes_bandwidth: number; + }; + "combined-billing-usage": { + /** @description Numbers of days left in billing cycle. */ + days_left_in_billing_cycle: number; + /** @description Estimated storage space (GB) used in billing cycle. */ + estimated_paid_storage_for_month: number; + /** @description Estimated sum of free and paid storage space (GB) used in billing cycle. */ + estimated_storage_for_month: number; + }; /** - * GroupMapping - * @description External Groups to be mapped to a team for membership + * Team Organization + * @description Team Organization */ - "group-mapping": { + "team-organization": { + /** @example github */ + login: string; + /** @example 1 */ + id: number; + /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ + node_id: string; /** - * @description Array of groups to be mapped to this team - * @example [ - * { - * "group_id": "111a1a11-aaa1-1aaa-11a1-a1a1a1a1a1aa", - * "group_name": "saml-azuread-test", - * "group_description": "A group of Developers working on AzureAD SAML SSO" - * }, - * { - * "group_id": "2bb2bb2b-bb22-22bb-2bb2-bb2bbb2bb2b2", - * "group_name": "saml-azuread-test2", - * "group_description": "Another group of Developers working on AzureAD SAML SSO" - * } - * ] + * Format: uri + * @example https://api.github.com/orgs/github */ - groups?: { - /** - * @description The ID of the group - * @example 111a1a11-aaa1-1aaa-11a1-a1a1a1a1a1aa - */ - group_id: string; - /** - * @description The name of the group - * @example saml-azuread-test - */ - group_name: string; - /** - * @description a description of the group - * @example A group of Developers working on AzureAD SAML SSO - */ - group_description: string; - /** - * @description synchronization status for this group mapping - * @example unsynced - */ - status?: string; - /** - * @description the time of the last sync for this group-mapping - * @example 2019-06-03 22:27:15:000 -700 - */ - synced_at?: string | null; - }[]; + url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github/repos + */ + repos_url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github/events + */ + events_url: string; + /** @example https://api.github.com/orgs/github/hooks */ + hooks_url: string; + /** @example https://api.github.com/orgs/github/issues */ + issues_url: string; + /** @example https://api.github.com/orgs/github/members{/member} */ + members_url: string; + /** @example https://api.github.com/orgs/github/public_members{/member} */ + public_members_url: string; + /** @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example A great organization */ + description: string | null; + /** @example github */ + name?: string; + /** @example GitHub */ + company?: string; + /** + * Format: uri + * @example https://github.com/blog + */ + blog?: string; + /** @example San Francisco */ + location?: string; + /** + * Format: email + * @example octocat@github.com + */ + email?: string; + /** @example github */ + twitter_username?: string | null; + /** @example true */ + is_verified?: boolean; + /** @example true */ + has_organization_projects: boolean; + /** @example true */ + has_repository_projects: boolean; + /** @example 2 */ + public_repos: number; + /** @example 1 */ + public_gists: number; + /** @example 20 */ + followers: number; + /** @example 0 */ + following: number; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: date-time + * @example 2008-01-14T04:33:35Z + */ + created_at: string; + /** @example Organization */ + type: string; + /** @example 100 */ + total_private_repos?: number; + /** @example 100 */ + owned_private_repos?: number; + /** @example 81 */ + private_gists?: number | null; + /** @example 10000 */ + disk_usage?: number | null; + /** @example 8 */ + collaborators?: number | null; + /** + * Format: email + * @example org@example.com + */ + billing_email?: string | null; + plan?: { + name: string; + space: number; + private_repos: number; + filled_seats?: number; + seats?: number; + }; + default_repository_permission?: string | null; + /** @example true */ + members_can_create_repositories?: boolean | null; + /** @example true */ + two_factor_requirement_enabled?: boolean | null; + /** @example all */ + members_allowed_repository_creation_type?: string; + /** @example true */ + members_can_create_public_repositories?: boolean; + /** @example true */ + members_can_create_private_repositories?: boolean; + /** @example true */ + members_can_create_internal_repositories?: boolean; + /** @example true */ + members_can_create_pages?: boolean; + /** @example true */ + members_can_create_public_pages?: boolean; + /** @example true */ + members_can_create_private_pages?: boolean; + /** @example false */ + members_can_fork_private_repositories?: boolean | null; + /** @example false */ + web_commit_signoff_required?: boolean; + /** Format: date-time */ + updated_at: string; }; /** * Full Team @@ -12065,7 +11891,7 @@ export interface components { * @example 2017-08-17T12:37:15Z */ updated_at: string; - organization: components["schemas"]["organization-full"]; + organization: components["schemas"]["team-organization"]; /** * @description Distinguished Name (DN) that team maps to within LDAP environment * @example uid=example,ou=users,dc=github,dc=com @@ -12916,7 +12742,10 @@ export interface components { stargazers_count: number; /** @example 80 */ watchers_count: number; - /** @example 108 */ + /** + * @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. + * @example 108 + */ size: number; /** @example master */ default_branch: string; @@ -13170,8 +12999,19 @@ export interface components { /** * @description The outcome of the job. * @example success + * @enum {string|null} */ - conclusion: string | null; + conclusion: + | ( + | "success" + | "failure" + | "neutral" + | "cancelled" + | "skipped" + | "timed_out" + | "action_required" + ) + | null; /** * Format: date-time * @description The time that the job started, in ISO 8601 format. @@ -13254,13 +13094,6 @@ export interface components { */ runner_group_name: string | null; }; - /** - * The json payload enables/disables the use of sub claim customization - * @description OIDC Customer Subject - */ - "opt-out-oidc-custom-sub": { - use_default: boolean; - }; /** @description Whether GitHub Actions is enabled on the repository. */ "actions-enabled": boolean; "actions-repository-permissions": { @@ -13455,6 +13288,11 @@ export interface components { head_repository: components["schemas"]["minimal-repository"]; /** @example 5 */ head_repository_id?: number; + /** + * @description The event-specific title associated with the run or the run-name if set, or the value of `run-name` if it is set in the workflow. + * @example Simple Workflow + */ + display_title: string; }; /** * Environment Approval @@ -13756,8 +13594,11 @@ export interface components { * @example https://example.com/TICKET?query= */ url_template: string; - /** @description Whether this autolink reference matches alphanumeric characters. If false, this autolink reference is a legacy autolink that only matches numeric characters. */ - is_alphanumeric?: boolean; + /** + * @description Whether this autolink reference matches alphanumeric characters. If false, this autolink reference only matches numeric characters. + * @example true + */ + is_alphanumeric: boolean; }; /** * Protected Branch Required Status Check @@ -14598,6 +14439,38 @@ export interface components { */ confirm_delete_url: string | null; }; + /** + * CodeQL Database + * @description A CodeQL database. + */ + "code-scanning-codeql-database": { + /** @description The ID of the CodeQL database. */ + id: number; + /** @description The name of the CodeQL database. */ + name: string; + /** @description The language of the CodeQL database. */ + language: string; + uploader: components["schemas"]["simple-user"]; + /** @description The MIME type of the CodeQL database file. */ + content_type: string; + /** @description The size of the CodeQL database file in bytes. */ + size: number; + /** + * Format: date-time + * @description The date and time at which the CodeQL database was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + created_at: string; + /** + * Format: date-time + * @description The date and time at which the CodeQL database was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + updated_at: string; + /** + * Format: uri + * @description The URL at which to download the CodeQL database. The `Accept` header must be set to the value of the `content_type` property. + */ + url: string; + }; /** @description A Base64 string representing the SARIF file to upload. You must first compress your SARIF file using [`gzip`](http://www.gnu.org/software/gzip/manual/gzip.html) and then translate the contents of the file into a Base64 encoding string. For more information, see "[SARIF support for code scanning](https://docs.github.com/code-security/secure-coding/sarif-support-for-code-scanning)." */ "code-scanning-analysis-sarif-file": string; "code-scanning-sarifs-receipt": { @@ -14725,30 +14598,6 @@ export interface components { /** Format: date-time */ updated_at: string; }; - /** - * CodespacesPublicKey - * @description The public key used for setting Codespaces secrets. - */ - "codespaces-public-key": { - /** - * @description The identifier for the key. - * @example 1234567 - */ - key_id: string; - /** - * @description The Base64 encoded public key. - * @example hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs= - */ - key: string; - /** @example 2 */ - id?: number; - /** @example https://api.github.com/user/keys/2 */ - url?: string; - /** @example ssh-rsa AAAAB3NzaC1yc2EAAA */ - title?: string; - /** @example 2011-01-26T19:01:12Z */ - created_at?: string; - }; /** * Collaborator * @description Collaborator @@ -15560,6 +15409,125 @@ export interface components { email?: string; name?: string; }; + /** + * @description The scope of the vulnerable dependency. + * @enum {string|null} + */ + "dependabot-alert-scope": ("development" | "runtime") | null; + /** + * @description State of a Dependabot alert. + * @enum {string} + */ + "dependabot-alert-state": "dismissed" | "fixed" | "open"; + /** @description The details of the vulnerable package. */ + "dependabot-alert-package": { + ecosystem?: string; + name?: string; + }; + "dependabot-alert-dependency": { + package?: components["schemas"]["dependabot-alert-package"]; + /** @description The path to the manifest filename. */ + manifest_path?: string; + scope?: components["schemas"]["dependabot-alert-scope"]; + }; + /** @description The details of the security advisory, including summary, description, and severity. */ + "dependabot-alert-security-advisory": { + ghsa_id: string; + cve_id?: string | null; + summary: string; + description: string; + /** @enum {string} */ + severity: "low" | "medium" | "high" | "critical"; + identifiers: { + /** @enum {string} */ + type: "GHSA" | "CVE"; + value: string; + }[]; + references: { + /** Format: uri */ + url: string; + }[]; + cvss: { + score: number; + vector_string: string | null; + }; + cwes: { + cwe_id: string; + name: string; + }[]; + /** Format: date-time */ + published_at: string; + /** Format: date-time */ + updated_at: string; + vulnerabilities: { + first_patched_version: { + identifier: string; + } | null; + package: { + ecosystem: string; + name: string; + }; + severity: string; + vulnerable_version_range: string; + }[]; + /** Format: date-time */ + withdrawn_at: string | null; + }; + /** @description The details of the vulnerability of a security advisory. */ + "dependabot-alert-security-vulnerability": { + package?: components["schemas"]["dependabot-alert-package"]; + severity?: string; + vulnerable_version_range?: string; + first_patched_version?: { + identifier?: string; + }; + }; + /** + * Format: date-time + * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + "dependabot-alert-dismissed_at": string | null; + /** + * @description **Required when the `state` is `dismissed`.** The reason for dismissing the Dependabot alert. + * @enum {string|null} + */ + "dependabot-alert-dismissed-reason": + | ( + | "fix_started" + | "inaccurate" + | "no_bandwidth" + | "not_used" + | "tolerable_risk" + ) + | null; + /** @description An optional comment associated with the alert's dismissal. The maximum size is 280 characters. */ + "dependabot-alert-dismissed-comment": string | null; + /** + * Format: date-time + * @description The time that the alert was no longer detected and was considered fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + "dependabot-alert-fixed-at": string | null; + "dependabot-alert": { + number: components["schemas"]["alert-number"]; + state: components["schemas"]["dependabot-alert-state"]; + dependency: components["schemas"]["dependabot-alert-dependency"]; + security_advisory: components["schemas"]["dependabot-alert-security-advisory"]; + security_vulnerability: components["schemas"]["dependabot-alert-security-vulnerability"]; + created_at: components["schemas"]["alert-created-at"]; + updated_at: components["schemas"]["alert-updated-at"]; + url: components["schemas"]["alert-url"]; + html_url: components["schemas"]["alert-html-url"]; + dismissed_at: components["schemas"]["dependabot-alert-dismissed_at"]; + dismissed_by: components["schemas"]["nullable-simple-user"]; + dismissed_reason: components["schemas"]["dependabot-alert-dismissed-reason"]; + dismissed_comment: components["schemas"]["dependabot-alert-dismissed-comment"]; + fixed_at: components["schemas"]["dependabot-alert-fixed-at"]; + }; + /** + * @description Sets the status of the dependabot alert. You must provide `dismissed_reason` when you set the state to `dismissed`. + * @enum {string} + */ + "dependabot-alert-set-state": "dismissed" | "open"; /** * Dependabot Secret * @description Set secrets for Dependabot. @@ -15606,6 +15574,11 @@ export interface components { /** @example https://github.com/advisories/GHSA-rf4j-j272-fj86 */ advisory_url: string; }[]; + /** + * @description Where the dependency is utilized. `development` means that the dependency is only utilized in the development environment. `runtime` means that the dependency is utilized at runtime and in the development environment. + * @enum {string} + */ + scope: "unknown" | "runtime" | "development"; }[]; /** * metadata @@ -16338,8 +16311,9 @@ export interface components { /** * @description The reason for the current state * @example not_planned + * @enum {string|null} */ - state_reason?: string | null; + state_reason?: ("completed" | "reopened" | "not_planned") | null; /** * @description Title of the issue * @example Widget creation fails in Safari on OS X 10.8 @@ -18452,7 +18426,11 @@ export interface components { * @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ push_protection_bypassed_at?: string | null; + /** @description The comment that was optionally added when this alert was closed */ + resolution_comment?: string | null; }; + /** @description Sets an optional comment when closing an alert. Must be null when changing `state` to `open`. */ + "secret-scanning-alert-resolution-comment": string | null; /** @description Represents a 'commit' secret scanning location type. This location type shows that a secret was detected inside a commit to a repository. */ "secret-scanning-location-commit": { /** @@ -18689,221 +18667,6 @@ export interface components { uniques: number; views: components["schemas"]["traffic"][]; }; - "scim-group-list-enterprise": { - schemas: string[]; - totalResults: number; - itemsPerPage: number; - startIndex: number; - Resources: { - schemas: string[]; - id: string; - externalId?: string | null; - displayName?: string; - members?: { - value?: string; - $ref?: string; - display?: string; - }[]; - meta?: { - resourceType?: string; - created?: string; - lastModified?: string; - location?: string; - }; - }[]; - }; - "scim-enterprise-group": { - schemas: string[]; - id: string; - externalId?: string | null; - displayName?: string; - members?: { - value?: string; - $ref?: string; - display?: string; - }[]; - meta?: { - resourceType?: string; - created?: string; - lastModified?: string; - location?: string; - }; - }; - "scim-user-list-enterprise": { - schemas: string[]; - totalResults: number; - itemsPerPage: number; - startIndex: number; - Resources: { - schemas: string[]; - id: string; - externalId?: string; - userName?: string; - name?: { - givenName?: string; - familyName?: string; - }; - emails?: { - value?: string; - primary?: boolean; - type?: string; - }[]; - groups?: { - value?: string; - }[]; - active?: boolean; - meta?: { - resourceType?: string; - created?: string; - lastModified?: string; - location?: string; - }; - }[]; - }; - "scim-enterprise-user": { - schemas: string[]; - id: string; - externalId?: string; - userName?: string; - name?: { - givenName?: string; - familyName?: string; - }; - emails?: { - value?: string; - type?: string; - primary?: boolean; - }[]; - groups?: { - value?: string; - }[]; - active?: boolean; - meta?: { - resourceType?: string; - created?: string; - lastModified?: string; - location?: string; - }; - }; - /** - * SCIM /Users - * @description SCIM /Users provisioning endpoints - */ - "scim-user": { - /** @description SCIM schema used. */ - schemas: string[]; - /** - * @description Unique identifier of an external identity - * @example 1b78eada-9baa-11e6-9eb6-a431576d590e - */ - id: string; - /** - * @description The ID of the User. - * @example a7b0f98395 - */ - externalId: string | null; - /** - * @description Configured by the admin. Could be an email, login, or username - * @example someone@example.com - */ - userName: string | null; - /** - * @description The name of the user, suitable for display to end-users - * @example Jon Doe - */ - displayName?: string | null; - /** - * @example { - * "givenName": "Jane", - * "familyName": "User" - * } - */ - name: { - givenName: string | null; - familyName: string | null; - formatted?: string | null; - }; - /** - * @description user emails - * @example [ - * { - * "value": "someone@example.com", - * "primary": true - * }, - * { - * "value": "another@example.com", - * "primary": false - * } - * ] - */ - emails: { - value: string; - primary?: boolean; - }[]; - /** - * @description The active status of the User. - * @example true - */ - active: boolean; - meta: { - /** @example User */ - resourceType?: string; - /** - * Format: date-time - * @example 2019-01-24T22:45:36.000Z - */ - created?: string; - /** - * Format: date-time - * @example 2019-01-24T22:45:36.000Z - */ - lastModified?: string; - /** - * Format: uri - * @example https://api.github.com/scim/v2/organizations/myorg-123abc55141bfd8f/Users/c42772b5-2029-11e9-8543-9264a97dec8d - */ - location?: string; - }; - /** @description The ID of the organization. */ - organization_id?: number; - /** - * @description Set of operations to be performed - * @example [ - * { - * "op": "replace", - * "value": { - * "active": false - * } - * } - * ] - */ - operations?: { - /** @enum {string} */ - op: "add" | "remove" | "replace"; - path?: string; - value?: string | { [key: string]: unknown } | unknown[]; - }[]; - /** @description associated groups */ - groups?: { - value?: string; - display?: string; - }[]; - }; - /** - * SCIM User List - * @description SCIM User List - */ - "scim-user-list": { - /** @description SCIM schema used. */ - schemas: string[]; - /** @example 3 */ - totalResults: number; - /** @example 10 */ - itemsPerPage: number; - /** @example 1 */ - startIndex: number; - Resources: components["schemas"]["scim-user"][]; - }; /** Search Result Text Matches */ "search-result-text-matches": { object_url?: string; @@ -19655,6 +19418,17 @@ export interface components { account: components["schemas"]["marketplace-account"]; plan: components["schemas"]["marketplace-listing-plan"]; }; + /** + * SSH Signing Key + * @description A public SSH key used to sign Git commits + */ + "ssh-signing-key": { + key: string; + id: number; + title: string; + /** Format: date-time */ + created_at: string; + }; /** * Starred Repository * @description Starred Repository @@ -19718,7 +19492,7 @@ export interface components { "application/json": components["schemas"]["basic-error"]; }; }; - /** Validation failed */ + /** Validation failed, or the endpoint has been spammed. */ validation_failed_simple: { content: { "application/json": components["schemas"]["validation-error-simple"]; @@ -19731,7 +19505,7 @@ export interface components { "application/scim+json": components["schemas"]["scim-error"]; }; }; - /** Validation failed */ + /** Validation failed, or the endpoint has been spammed. */ validation_failed: { content: { "application/json": components["schemas"]["validation-error"]; @@ -19835,7 +19609,7 @@ export interface components { "application/json": components["schemas"]["basic-error"]; }; }; - /** Response if the repository is archived or if github advanced security is not enabled for this repository */ + /** Response if the repository is archived or if GitHub Advanced Security is not enabled for this repository */ code_scanning_forbidden_write: { content: { "application/json": components["schemas"]["basic-error"]; @@ -19845,48 +19619,6 @@ export interface components { found: unknown; /** A header with no content is returned. */ no_content: unknown; - /** Resource not found */ - scim_not_found: { - content: { - "application/json": components["schemas"]["scim-error"]; - "application/scim+json": components["schemas"]["scim-error"]; - }; - }; - /** Forbidden */ - scim_forbidden: { - content: { - "application/json": components["schemas"]["scim-error"]; - "application/scim+json": components["schemas"]["scim-error"]; - }; - }; - /** Bad Request */ - scim_bad_request: { - content: { - "application/json": components["schemas"]["scim-error"]; - "application/scim+json": components["schemas"]["scim-error"]; - }; - }; - /** Too Many Requests */ - scim_too_many_requests: { - content: { - "application/json": components["schemas"]["scim-error"]; - "application/scim+json": components["schemas"]["scim-error"]; - }; - }; - /** Internal Error */ - scim_internal_error: { - content: { - "application/json": components["schemas"]["scim-error"]; - "application/scim+json": components["schemas"]["scim-error"]; - }; - }; - /** Conflict */ - scim_conflict: { - content: { - "application/json": components["schemas"]["scim-error"]; - "application/scim+json": components["schemas"]["scim-error"]; - }; - }; }; parameters: { /** @description The number of results per page (max 100). */ @@ -19917,28 +19649,6 @@ export interface components { "runner-id": number; /** @description The name of a self-hosted runner's custom label. */ "runner-label-name": string; - /** @description A search phrase. For more information, see [Searching the audit log](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization#searching-the-audit-log). */ - "audit-log-phrase": string; - /** - * @description The event types to include: - * - * - `web` - returns web (non-Git) events. - * - `git` - returns Git events. - * - `all` - returns both web and Git events. - * - * The default is `web`. - */ - "audit-log-include": "web" | "git" | "all"; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ - "audit-log-after": string; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ - "audit-log-before": string; - /** - * @description The order of audit log events. To list newest events first, specify `desc`. To list oldest events first, specify `asc`. - * - * The default is `desc`. - */ - "audit-log-order": "desc" | "asc"; /** @description The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both. */ "tool-name": components["schemas"]["code-scanning-analysis-tool-name"]; /** @description The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both. */ @@ -19989,16 +19699,16 @@ export interface components { "since-org": number; /** @description The organization name. The name is not case sensitive. */ org: string; + /** @description The name of the secret. */ + "secret-name": string; /** @description The unique identifier of the repository. */ "repository-id": number; /** @description Only return runner groups that are allowed to be used by this repository. */ "visible-to-repository": string; - /** @description The name of the secret. */ - "secret-name": string; /** @description The handle for the GitHub user account. */ username: string; - /** @description The unique identifier of the group. */ - "group-id": number; + /** @description The unique identifier of the role. */ + "role-id": number; /** @description The unique identifier of the hook. */ "hook-id": number; /** @description The unique identifier of the invitation. */ @@ -20037,6 +19747,21 @@ export interface components { "reaction-id": number; /** @description The unique identifier of the project. */ "project-id": number; + /** @description The security feature to enable or disable. */ + "security-product": + | "dependency_graph" + | "dependabot_alerts" + | "dependabot_security_updates" + | "advanced_security" + | "secret_scanning" + | "secret_scanning_push_protection"; + /** + * @description The action to take. + * + * `enable_all` means to enable the specified security feature for all repositories in the organization. + * `disable_all` means to disable the specified security feature for all repositories in the organization. + */ + "org-security-product-enablement": "enable_all" | "disable_all"; /** @description The unique identifier of the card. */ "card-id": number; /** @description The unique identifier of the column. */ @@ -20085,6 +19810,8 @@ export interface components { "exclude-pull-requests": boolean; /** @description Returns workflow runs with the `check_suite_id` that you specify. */ "workflow-run-check-suite-id": number; + /** @description Only returns workflow runs that are associated with the specified `head_sha`. */ + "workflow-run-head-sha": string; /** @description The unique identifier of the workflow run. */ "run-id": number; /** @description The attempt number of the workflow run. */ @@ -20107,6 +19834,38 @@ export interface components { "alert-number": components["schemas"]["alert-number"]; /** @description The SHA of the commit. */ "commit-sha": string; + /** + * @description A comma-separated list of states. If specified, only alerts with these states will be returned. + * + * Can be: `dismissed`, `fixed`, `open` + */ + "dependabot-alert-state": string; + /** + * @description A comma-separated list of severities. If specified, only alerts with these severities will be returned. + * + * Can be: `low`, `medium`, `high`, `critical` + */ + "dependabot-alert-severity": string; + /** + * @description A comma-separated list of ecosystems. If specified, only alerts for these ecosystems will be returned. + * + * Can be: `composer`, `go`, `maven`, `npm`, `nuget`, `pip`, `rubygems`, `rust` + */ + "dependabot-alert-ecosystem": string; + /** @description A comma-separated list of package names. If specified, only alerts for these packages will be returned. */ + "dependabot-alert-package": string; + /** @description A comma-separated list of full manifest paths. If specified, only alerts for these manifests will be returned. */ + "dependabot-alert-manifest": string; + /** @description Scope of the dependency on a Dependabot alert. */ + "dependabot-alert-scope": components["schemas"]["dependabot-alert-scope"]; + /** + * @description The property by which to sort the results. + * `created` means when the alert was created. + * `updated` means when the alert's state last changed. + */ + "dependabot-alert-sort": "created" | "updated"; + /** @description The number that identifies a Dependabot alert in its repository. You can find this at the end of the URL for a Dependabot alert within GitHub, or in `number` fields in the response from the `GET /repos/{owner}/{repo}/dependabot/alerts` operation. */ + "dependabot-alert-number": components["schemas"]["alert-number"]; /** @description The full path, relative to the repository root, of the dependency manifest file. */ "manifest-path": string; /** @description deployment_id parameter */ @@ -20137,14 +19896,6 @@ export interface components { per: "" | "day" | "week"; /** @description A repository ID. Only return repositories with an ID greater than this ID. */ "since-repo": number; - /** @description Used for pagination: the index of the first result to return. */ - "start-index": number; - /** @description Used for pagination: the number of results to return. */ - count: number; - /** @description Identifier generated by the GitHub SCIM endpoint. */ - "scim-group-id": string; - /** @description The unique identifier of the SCIM user. */ - "scim-user-id": string; /** @description Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ order: "desc" | "asc"; /** @description The unique identifier of the team. */ @@ -20155,6 +19906,8 @@ export interface components { "export-id": string; /** @description The unique identifier of the GPG key. */ "gpg-key-id": number; + /** @description The unique identifier of the SSH signing key. */ + "ssh-signing-key-id": number; }; headers: { link?: string; @@ -20738,28 +20491,6 @@ export interface operations { }; }; }; - /** - * Sets the GitHub Actions OpenID Connect (OIDC) custom issuer policy for an enterprise. - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. - * GitHub Apps must have the `enterprise_administration:write` permission to use this endpoint. - */ - "actions/set-actions-oidc-custom-issuer-policy-for-enterprise": { - parameters: { - path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - }; - }; - responses: { - /** Response */ - 204: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["actions-oidc-custom-issuer-policy-for-enterprise"]; - }; - }; - }; /** * Gets the GitHub Actions permissions policy for organizations and allowed actions and reusable workflows in an enterprise. * @@ -21644,51 +21375,6 @@ export interface operations { 422: components["responses"]["validation_failed_simple"]; }; }; - /** Gets the audit log for an enterprise. To use this endpoint, you must be an enterprise admin, and you must use an access token with the `admin:enterprise` scope. */ - "enterprise-admin/get-audit-log": { - parameters: { - path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - }; - query: { - /** A search phrase. For more information, see [Searching the audit log](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization#searching-the-audit-log). */ - phrase?: components["parameters"]["audit-log-phrase"]; - /** - * The event types to include: - * - * - `web` - returns web (non-Git) events. - * - `git` - returns Git events. - * - `all` - returns both web and Git events. - * - * The default is `web`. - */ - include?: components["parameters"]["audit-log-include"]; - /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ - after?: components["parameters"]["audit-log-after"]; - /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ - before?: components["parameters"]["audit-log-before"]; - /** - * The order of audit log events. To list newest events first, specify `desc`. To list oldest events first, specify `asc`. - * - * The default is `desc`. - */ - order?: components["parameters"]["audit-log-order"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; - /** The number of results per page (max 100). */ - per_page?: components["parameters"]["per-page"]; - }; - }; - responses: { - /** Response */ - 200: { - content: { - "application/json": components["schemas"]["audit-log-event"][]; - }; - }; - }; - }; /** * Lists code scanning alerts for the default branch for all eligible repositories in an enterprise. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." * @@ -21735,55 +21421,6 @@ export interface operations { 503: components["responses"]["service_unavailable"]; }; }; - /** - * Lists the license consumption information for all users, including those from connected servers, associated with an enterprise. - * To use this endpoint, you must be an enterprise admin, and you must use an access - * token with the `read:enterprise` scope. - */ - "enterprise-admin/get-consumed-licenses": { - parameters: { - path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - }; - query: { - /** The number of results per page (max 100). */ - per_page?: components["parameters"]["per-page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** Consumed Licenses Response */ - 200: { - headers: {}; - content: { - "application/json": components["schemas"]["get-consumed-licenses"]; - }; - }; - }; - }; - /** - * Gets information about the status of a license sync job for an enterprise. - * To use this endpoint, you must be an enterprise admin, and you must use an access - * token with the `read:enterprise` scope. - */ - "enterprise-admin/get-license-sync-status": { - parameters: { - path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - }; - }; - responses: { - /** License Sync Status Response */ - 200: { - content: { - "application/json": components["schemas"]["get-license-sync-status"]; - }; - }; - }; - }; /** * Lists secret scanning alerts for eligible repositories in an enterprise, from newest to oldest. * To use this endpoint, you must be a member of the enterprise, and you must use an access token with the `repo` scope or `security_events` scope. Alerts are only returned for organizations in the enterprise for which you are an organization owner or a [security manager](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization). @@ -21829,29 +21466,6 @@ export interface operations { 503: components["responses"]["service_unavailable"]; }; }; - /** - * Gets the summary of the free and paid GitHub Actions minutes used. - * - * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". - * - * The authenticated user must be an enterprise admin. - */ - "billing/get-github-actions-billing-ghe": { - parameters: { - path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - }; - }; - responses: { - /** Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-billing-usage"]; - }; - }; - }; - }; /** * Gets the GitHub Advanced Security active committers for an enterprise per repository. * @@ -21882,52 +21496,6 @@ export interface operations { 403: components["responses"]["code_scanning_forbidden_read"]; }; }; - /** - * Gets the free and paid storage used for GitHub Packages in gigabytes. - * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." - * - * The authenticated user must be an enterprise admin. - */ - "billing/get-github-packages-billing-ghe": { - parameters: { - path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - }; - }; - responses: { - /** Response */ - 200: { - content: { - "application/json": components["schemas"]["packages-billing-usage"]; - }; - }; - }; - }; - /** - * Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. - * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." - * - * The authenticated user must be an enterprise admin. - */ - "billing/get-shared-storage-billing-ghe": { - parameters: { - path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - }; - }; - responses: { - /** Response */ - 200: { - content: { - "application/json": components["schemas"]["combined-billing-usage"]; - }; - }; - }; - }; /** We delay the public events feed by five minutes, which means the most recent event returned by the public events API actually occurred at least five minutes ago. */ "activity/list-public-events": { parameters: { @@ -22551,11 +22119,11 @@ export interface operations { | "subscribed" | "repos" | "all"; - /** Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. */ + /** Indicates the state of the issues to return. */ state?: "open" | "closed" | "all"; /** A list of comma separated label names. Example: `bug,ui,@high` */ labels?: components["parameters"]["labels"]; - /** What to sort results by. Can be either `created`, `updated`, `comments`. */ + /** What to sort results by. */ sort?: "created" | "updated" | "comments"; /** The direction to sort the results by. */ direction?: components["parameters"]["direction"]; @@ -22642,7 +22210,7 @@ export interface operations { /** @description The Markdown text to render in HTML. */ text: string; /** - * @description The rendering mode. Can be either `markdown` or `gfm`. + * @description The rendering mode. * @default markdown * @example markdown * @enum {string} @@ -23112,6 +22680,9 @@ export interface operations { * List the custom repository roles available in this organization. In order to see custom * repository roles in an organization, the authenticated user must be an organization owner. * + * To use this endpoint the authenticated user must be an administrator for the organization or of an repository of the organizaiton and must use an access token with `admin:org repo` scope. + * GitHub Apps must have the `organization_custom_roles:read` organization permission to use this endpoint. + * * For more information on custom repository roles, see "[Managing custom repository roles for an organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)". */ "orgs/list-custom-roles": { @@ -23137,6 +22708,306 @@ export interface operations { }; }; }; + /** + * Lists all Codespaces secrets available at the organization-level without revealing their encrypted values. + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "codespaces/list-org-secrets": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["codespaces-org-secret"][]; + }; + }; + }; + }; + }; + /** Gets a public key for an organization, which is required in order to encrypt secrets. You need to encrypt the value of a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ + "codespaces/get-org-public-key": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["codespaces-public-key"]; + }; + }; + }; + }; + /** + * Gets an organization secret without revealing its encrypted value. + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "codespaces/get-org-secret": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["codespaces-org-secret"]; + }; + }; + }; + }; + /** + * Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `admin:org` scope to use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [libsodium-wrappers](https://www.npmjs.com/package/libsodium-wrappers) library. + * + * ``` + * // Written with ❤️ by PSJ and free to use under The Unlicense. + * const sodium=require('libsodium-wrappers') + * const secret = 'plain-text-secret' // replace with secret before running the script. + * const key = 'base64-encoded-public-key' // replace with the Base64 encoded public key. + * + * //Check if libsodium is ready and then proceed. + * + * sodium.ready.then( ()=>{ + * + * // Convert Secret & Base64 key to Uint8Array. + * let binkey= sodium.from_base64(key, sodium.base64_variants.ORIGINAL) //Equivalent of Buffer.from(key, 'base64') + * let binsec= sodium.from_string(secret) // Equivalent of Buffer.from(secret) + * + * //Encrypt the secret using LibSodium + * let encBytes= sodium.crypto_box_seal(binsec,binkey) // Similar to tweetsodium.seal(binsec,binkey) + * + * // Convert encrypted Uint8Array to Base64 + * let output=sodium.to_base64(encBytes, sodium.base64_variants.ORIGINAL) //Equivalent of Buffer.from(encBytes).toString('base64') + * + * console.log(output) + * }); + * ``` + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + "codespaces/create-or-update-org-secret": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response when creating a secret */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** Response when updating a secret */ + 204: never; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/rest/reference/codespaces#get-an-organization-public-key) endpoint. */ + encrypted_value?: string; + /** @description The ID of the key you used to encrypt the secret. */ + key_id?: string; + /** + * @description Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret. + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** @description An array of repository IDs that can access the organization secret. You can only provide a list of repository IDs when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/rest/reference/codespaces#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/reference/codespaces#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/codespaces#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids?: number[]; + }; + }; + }; + }; + /** Deletes an organization secret using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ + "codespaces/delete-org-secret": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ + "codespaces/list-selected-repos-for-org-secret": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + query: { + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/codespaces#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ + "codespaces/set-selected-repos-for-org-secret": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + /** Conflict when visibility type not set to selected */ + 409: unknown; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Set selected repositories for an organization secret](https://docs.github.com/rest/reference/codespaces#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/codespaces#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids: number[]; + }; + }; + }; + }; + /** Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/codespaces#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ + "codespaces/add-selected-repo-to-org-secret": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + }; + responses: { + /** No Content when repository was added to the selected list */ + 204: never; + 404: components["responses"]["not_found"]; + /** Conflict when visibility type is not set to selected */ + 409: unknown; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/codespaces#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ + "codespaces/remove-selected-repo-from-org-secret": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + }; + responses: { + /** Response when repository was removed from the selected list */ + 204: never; + 404: components["responses"]["not_found"]; + /** Conflict when visibility type not set to selected */ + 409: unknown; + 422: components["responses"]["validation_failed"]; + }; + }; /** * To see many of the organization response values, you need to be an authenticated organization owner with the `admin:org` scope. When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, and outside collaborators to enable [two-factor authentication](https://docs.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). * @@ -23259,6 +23130,54 @@ export interface operations { web_commit_signoff_required?: boolean; /** @example "http://github.blog" */ blog?: string; + /** + * @description Whether GitHub Advanced Security is automatically enabled for new repositories. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. + */ + advanced_security_enabled_for_new_repositories?: boolean; + /** + * @description Whether Dependabot alerts is automatically enabled for new repositories. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. + */ + dependabot_alerts_enabled_for_new_repositories?: boolean; + /** + * @description Whether Dependabot security updates is automatically enabled for new repositories. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. + */ + dependabot_security_updates_enabled_for_new_repositories?: boolean; + /** + * @description Whether dependency graph is automatically enabled for new repositories. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. + */ + dependency_graph_enabled_for_new_repositories?: boolean; + /** + * @description Whether secret scanning is automatically enabled for new repositories. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. + */ + secret_scanning_enabled_for_new_repositories?: boolean; + /** + * @description Whether secret scanning push protection is automatically enabled for new repositories. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. + */ + secret_scanning_push_protection_enabled_for_new_repositories?: boolean; }; }; }; @@ -23316,55 +23235,6 @@ export interface operations { }; }; }; - /** - * Gets the customization template for an OpenID Connect (OIDC) subject claim. - * You must authenticate using an access token with the `read:org` scope to use this endpoint. - * GitHub Apps must have the `organization_administration:write` permission to use this endpoint. - */ - "oidc/get-oidc-custom-sub-template-for-org": { - parameters: { - path: { - /** The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - }; - responses: { - /** A JSON serialized template for OIDC subject claim customization */ - 200: { - content: { - "application/json": components["schemas"]["oidc-custom-sub"]; - }; - }; - }; - }; - /** - * Creates or updates the customization template for an OpenID Connect (OIDC) subject claim. - * You must authenticate using an access token with the `write:org` scope to use this endpoint. - * GitHub Apps must have the `admin:org` permission to use this endpoint. - */ - "oidc/update-oidc-custom-sub-template-for-org": { - parameters: { - path: { - /** The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - }; - responses: { - /** Empty response */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - requestBody: { - content: { - "application/json": components["schemas"]["oidc-custom-sub"]; - }; - }; - }; /** * Gets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. * @@ -23848,31 +23718,6 @@ export interface operations { }; }; }; - /** - * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." - * - * - * Adds a repository to the list of selected repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` - * scope to use this endpoint. - */ - "actions/add-repo-access-to-self-hosted-runner-group-in-org": { - parameters: { - path: { - /** The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** Unique identifier of the self-hosted runner group. */ - runner_group_id: components["parameters"]["runner-group-id"]; - /** The unique identifier of the repository. */ - repository_id: components["parameters"]["repository-id"]; - }; - }; - responses: { - /** Response */ - 204: never; - }; - }; /** * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." * @@ -24564,57 +24409,6 @@ export interface operations { 409: unknown; }; }; - /** - * Gets the audit log for an organization. For more information, see "[Reviewing the audit log for your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization)." - * - * This endpoint is available for organizations on GitHub Enterprise Cloud. To use this endpoint, you must be an organization owner, and you must use an access token with the `admin:org` scope. GitHub Apps must have the `organization_administration` read permission to use this endpoint. - * - * By default, the response includes up to 30 events from the past three months. Use the `phrase` parameter to filter results and retrieve older events. For example, use the `phrase` parameter with the `created` qualifier to filter events based on when the events occurred. For more information, see "[Reviewing the audit log for your organization](https://docs.github.com/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization#searching-the-audit-log)." - * - * Use pagination to retrieve fewer or more than 30 events. For more information, see "[Resources in the REST API](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination)." - */ - "orgs/get-audit-log": { - parameters: { - path: { - /** The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - query: { - /** A search phrase. For more information, see [Searching the audit log](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization#searching-the-audit-log). */ - phrase?: components["parameters"]["audit-log-phrase"]; - /** - * The event types to include: - * - * - `web` - returns web (non-Git) events. - * - `git` - returns Git events. - * - `all` - returns both web and Git events. - * - * The default is `web`. - */ - include?: components["parameters"]["audit-log-include"]; - /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ - after?: components["parameters"]["audit-log-after"]; - /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ - before?: components["parameters"]["audit-log-before"]; - /** - * The order of audit log events. To list newest events first, specify `desc`. To list oldest events first, specify `asc`. - * - * The default is `desc`. - */ - order?: components["parameters"]["audit-log-order"]; - /** The number of results per page (max 100). */ - per_page?: components["parameters"]["per-page"]; - }; - }; - responses: { - /** Response */ - 200: { - content: { - "application/json": components["schemas"]["audit-log-event"][]; - }; - }; - }; - }; /** List the users blocked by an organization. */ "orgs/list-blocked-users": { parameters: { @@ -24766,51 +24560,120 @@ export interface operations { }; }; /** - * Listing and deleting credential authorizations is available to organizations with GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products). + * **Note**: This operation is in beta and is subject to change. + * + * Creates a custom repository role that can be used by all repositories owned by the organization. * - * An authenticated organization owner with the `read:org` scope can list all credential authorizations for an organization that uses SAML single sign-on (SSO). The credentials are either personal access tokens or SSH keys that organization members have authorized for the organization. For more information, see [About authentication with SAML single sign-on](https://docs.github.com/en/articles/about-authentication-with-saml-single-sign-on). + * To use this endpoint the authenticated user must be an administrator for the organization and must use an access token with `admin:org` scope. + * GitHub Apps must have the `organization_custom_roles:write` organization permission to use this endpoint. + * + * For more information on custom repository roles, see "[Managing custom repository roles for an organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)." */ - "orgs/list-saml-sso-authorizations": { + "orgs/create-custom-role": { parameters: { path: { /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; }; - query: { - /** The number of results per page (max 100). */ - per_page?: components["parameters"]["per-page"]; - /** Page token */ - page?: number; - /** Limits the list of credentials authorizations for an organization to a specific login */ - login?: string; - }; }; responses: { /** Response */ - 200: { + 201: { content: { - "application/json": components["schemas"]["credential-authorization"][]; + "application/json": components["schemas"]["organization-custom-repository-role"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the custom role. */ + name: string; + /** @description A short description about the intended usage of this role or what permissions it grants. */ + description?: string; + /** + * @description The system role from which this role inherits permissions. + * @enum {string} + */ + base_role: "read" | "triage" | "write" | "maintain"; + /** @description A list of additional permissions included in this role. */ + permissions: string[]; }; }; }; }; /** - * Listing and deleting credential authorizations is available to organizations with GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products). + * **Note**: This operation is in beta and is subject to change. + * + * Deletes a custom role from an organization. Once the custom role has been deleted, any + * user, team, or invitation with the deleted custom role will be reassigned the inherited role. + * + * To use this endpoint the authenticated user must be an administrator for the organization and must use an access token with `admin:org` scope. + * GitHub Apps must have the `organization_custom_roles:write` organization permission to use this endpoint. * - * An authenticated organization owner with the `admin:org` scope can remove a credential authorization for an organization that uses SAML SSO. Once you remove someone's credential authorization, they will need to create a new personal access token or SSH key and authorize it for the organization they want to access. + * For more information about custom repository roles, see "[Managing custom repository roles for an organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)." */ - "orgs/remove-saml-sso-authorization": { + "orgs/delete-custom-role": { parameters: { path: { /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; - credential_id: number; + /** The unique identifier of the role. */ + role_id: components["parameters"]["role-id"]; }; }; responses: { /** Response */ 204: never; + }; + }; + /** + * **Note**: This operation is in beta and subject to change. + * + * Updates a custom repository role that can be used by all repositories owned by the organization. + * + * To use this endpoint the authenticated user must be an administrator for the organization and must use an access token with `admin:org` scope. + * GitHub Apps must have the `organization_custom_roles:write` organization permission to use this endpoint. + * + * For more information about custom repository roles, see "[Managing custom repository roles for an organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)." + */ + "orgs/update-custom-role": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the role. */ + role_id: components["parameters"]["role-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["organization-custom-repository-role"]; + }; + }; 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the custom role. */ + name?: string; + /** @description A short description about who this role is for or what permissions it grants. */ + description?: string; + /** + * @description The system role from which this role inherits permissions. + * @enum {string} + */ + base_role?: "read" | "triage" | "write" | "maintain"; + /** @description A list of additional permissions included in this role. If specified, these permissions will replace any currently set on the role. */ + permissions?: string[]; + }; + }; }; }; /** Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ @@ -25114,35 +24977,8 @@ export interface operations { }; }; }; - /** - * Displays information about the specific group's usage. Provides a list of the group's external members as well as a list of teams that this group is connected to. - * - * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. - */ - "teams/external-idp-group-info-for-org": { - parameters: { - path: { - /** The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** The unique identifier of the group. */ - group_id: components["parameters"]["group-id"]; - }; - }; - responses: { - /** Response */ - 200: { - content: { - "application/json": components["schemas"]["external-group"]; - }; - }; - }; - }; - /** - * Lists external groups available in an organization. You can query the groups using the `display_name` parameter, only groups with a `group_name` containing the text provided in the `display_name` parameter will be returned. You can also limit your page results using the `per_page` parameter. GitHub generates a url-encoded `page` token using a cursor value for where the next page begins. For more information on cursor pagination, see "[Offset and Cursor Pagination explained](https://dev.to/jackmarchant/offset-and-cursor-pagination-explained-b89)." - * - * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. - */ - "teams/list-external-idp-groups-for-org": { + /** The return hash contains `failed_at` and `failed_reason` fields which represent the time at which the invitation failed and the reason for the failure. */ + "orgs/list-failed-invitations": { parameters: { path: { /** The organization name. The name is not case sensitive. */ @@ -25151,47 +24987,43 @@ export interface operations { query: { /** The number of results per page (max 100). */ per_page?: components["parameters"]["per-page"]; - /** Page token */ - page?: number; - /** Limits the list to groups containing the text in the group name */ - display_name?: string; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; }; }; responses: { /** Response */ 200: { - headers: { - Link?: string; - }; + headers: {}; content: { - "application/json": components["schemas"]["external-groups"]; + "application/json": components["schemas"]["organization-invitation"][]; }; }; + 404: components["responses"]["not_found"]; }; }; - /** The return hash contains `failed_at` and `failed_reason` fields which represent the time at which the invitation failed and the reason for the failure. */ - "orgs/list-failed-invitations": { + /** + * **Note**: This operation is in beta and subject to change. + * + * Lists the fine-grained permissions available for an organization. + * + * To use this endpoint the authenticated user must be an administrator for the organization or of an repository of the organizaiton and must use an access token with `admin:org repo` scope. + * GitHub Apps must have the `organization_custom_roles:read` organization permission to use this endpoint. + */ + "orgs/list-fine-grained-permissions": { parameters: { path: { /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; }; - query: { - /** The number of results per page (max 100). */ - per_page?: components["parameters"]["per-page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; - }; }; responses: { /** Response */ 200: { - headers: {}; content: { - "application/json": components["schemas"]["organization-invitation"][]; + "application/json": components["schemas"]["organization-fine-grained-permission"][]; }; }; - 404: components["responses"]["not_found"]; }; }; "orgs/list-webhooks": { @@ -25736,11 +25568,11 @@ export interface operations { | "subscribed" | "repos" | "all"; - /** Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. */ + /** Indicates the state of the issues to return. */ state?: "open" | "closed" | "all"; /** A list of comma separated label names. Example: `bug,ui,@high` */ labels?: components["parameters"]["labels"]; - /** What to sort results by. Can be either `created`, `updated`, `comments`. */ + /** What to sort results by. */ sort?: "created" | "updated" | "comments"; /** The direction to sort the results by. */ direction?: components["parameters"]["direction"]; @@ -25789,8 +25621,6 @@ export interface operations { "application/json": components["schemas"]["simple-user"][]; }; }; - /** Response if requester is not an organization member */ - 302: never; 422: components["responses"]["validation_failed"]; }; }; @@ -26389,7 +26219,7 @@ export interface operations { }; }; /** - * Returns all package versions for a package owned by an organization. + * Lists package versions for a package owned by an organization. * * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. * If `package_type` is not `container`, your token must also include the `repo` scope. @@ -26521,7 +26351,7 @@ export interface operations { org: components["parameters"]["org"]; }; query: { - /** Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. */ + /** Indicates the state of the projects to return. */ state?: "open" | "closed" | "all"; /** The number of results per page (max 100). */ per_page?: components["parameters"]["per-page"]; @@ -26789,7 +26619,8 @@ export interface operations { */ delete_branch_on_merge?: boolean; /** - * @description Either `true` to allow squash-merge commits to use pull request title, or `false` to use commit message. + * @deprecated + * @description Either `true` to allow squash-merge commits to use pull request title, or `false` to use commit message. **This property has been deprecated. Please use `squash_merge_commit_title` instead. * @default false */ use_squash_pr_title_as_default?: boolean; @@ -27049,36 +26880,6 @@ export interface operations { }; }; }; - /** - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * List IdP groups available in an organization. You can limit your page results using the `per_page` parameter. GitHub generates a url-encoded `page` token using a cursor value for where the next page begins. For more information on cursor pagination, see "[Offset and Cursor Pagination explained](https://dev.to/jackmarchant/offset-and-cursor-pagination-explained-b89)." - */ - "teams/list-idp-groups-for-org": { - parameters: { - path: { - /** The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - query: { - /** The number of results per page (max 100). */ - per_page?: components["parameters"]["per-page"]; - /** Page token */ - page?: string; - }; - }; - responses: { - /** Response */ - 200: { - headers: { - Link?: string; - }; - content: { - "application/json": components["schemas"]["group-mapping"]; - }; - }; - }; - }; /** Lists all teams in an organization that are visible to the authenticated user. */ "teams/list": { parameters: { @@ -27221,12 +27022,21 @@ export interface operations { }; }; responses: { + /** Response when the updated information already exists */ + 200: { + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; /** Response */ 201: { content: { "application/json": components["schemas"]["team-full"]; }; }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; requestBody: { content: { @@ -27802,82 +27612,6 @@ export interface operations { 204: never; }; }; - /** - * Lists a connection between a team and an external group. - * - * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. - */ - "teams/list-linked-external-idp-groups-to-team-for-org": { - parameters: { - path: { - /** The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - }; - }; - responses: { - /** Response */ - 200: { - content: { - "application/json": components["schemas"]["external-groups"]; - }; - }; - }; - }; - /** - * Deletes a connection between a team and an external group. - * - * You can manage team membership with your IdP using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - "teams/unlink-external-idp-group-from-team-for-org": { - parameters: { - path: { - /** The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - }; - }; - responses: { - /** Response */ - 204: never; - }; - }; - /** - * Creates a connection between a team and an external group. Only one external group can be linked to a team. - * - * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. - */ - "teams/link-external-idp-group-to-team-for-org": { - parameters: { - path: { - /** The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - }; - }; - responses: { - /** Response */ - 200: { - content: { - "application/json": components["schemas"]["external-group"]; - }; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description External Group Id - * @example 1 - */ - group_id: number; - }; - }; - }; - }; /** * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. * @@ -28294,13 +28028,11 @@ export interface operations { }; }; /** - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * List IdP groups connected to a team on GitHub. + * Lists the child teams of the team specified by `{team_slug}`. * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/team-sync/group-mappings`. + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/teams`. */ - "teams/list-idp-groups-in-org": { + "teams/list-child-in-org": { parameters: { path: { /** The organization name. The name is not case sensitive. */ @@ -28308,84 +28040,54 @@ export interface operations { /** The slug of the team name. */ team_slug: components["parameters"]["team-slug"]; }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; }; responses: { - /** Response */ + /** if child teams exist */ 200: { + headers: {}; content: { - "application/json": components["schemas"]["group-mapping"]; + "application/json": components["schemas"]["team"][]; }; }; }; }; /** - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * Enables or disables the specified security feature for all repositories in an organization. * - * Creates, updates, or removes a connection between a team and an IdP group. When adding groups to a team, you must include all new and existing groups to avoid replacing existing groups with the new ones. Specifying an empty `groups` array will remove all connections for a team. + * To use this endpoint, you must be an organization owner or be member of a team with the security manager role. + * A token with the 'write:org' scope is also required. * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/team-sync/group-mappings`. - */ - "teams/create-or-update-idp-group-connections-in-org": { - parameters: { - path: { - /** The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - }; - }; - responses: { - /** Response */ - 200: { - content: { - "application/json": components["schemas"]["group-mapping"]; - }; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The IdP groups you want to connect to a GitHub team. When updating, the new `groups` object will replace the original one. You must include any existing groups that you don't want to remove. */ - groups?: { - /** @description ID of the IdP group. */ - group_id: string; - /** @description Name of the IdP group. */ - group_name: string; - /** @description Description of the IdP group. */ - group_description: string; - }[]; - }; - }; - }; - }; - /** - * Lists the child teams of the team specified by `{team_slug}`. + * GitHub Apps must have the `organization_administration:write` permission to use this endpoint. * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/teams`. + * For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." */ - "teams/list-child-in-org": { + "orgs/enable-or-disable-security-product-on-all-org-repos": { parameters: { path: { /** The organization name. The name is not case sensitive. */ org: components["parameters"]["org"]; - /** The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - }; - query: { - /** The number of results per page (max 100). */ - per_page?: components["parameters"]["per-page"]; - /** Page number of the results to fetch. */ - page?: components["parameters"]["page"]; + /** The security feature to enable or disable. */ + security_product: components["parameters"]["security-product"]; + /** + * The action to take. + * + * `enable_all` means to enable the specified security feature for all repositories in the organization. + * `disable_all` means to disable the specified security feature for all repositories in the organization. + */ + enablement: components["parameters"]["org-security-product-enablement"]; }; }; responses: { - /** if child teams exist */ - 200: { - headers: {}; - content: { - "application/json": components["schemas"]["team"][]; - }; - }; + /** Action started */ + 204: never; + /** The action could not be taken due to an in progress enablement, or a policy is preventing enablement */ + 422: unknown; }; }; "projects/get-card": { @@ -29190,7 +28892,8 @@ export interface operations { */ allow_update_branch?: boolean; /** - * @description Either `true` to allow squash-merge commits to use pull request title, or `false` to use commit message. + * @deprecated + * @description Either `true` to allow squash-merge commits to use pull request title, or `false` to use commit message. **This property has been deprecated. Please use `squash_merge_commit_title` instead. * @default false */ use_squash_pr_title_as_default?: boolean; @@ -29529,62 +29232,6 @@ export interface operations { }; }; }; - /** - * Gets the `opt-out` flag of a GitHub Actions OpenID Connect (OIDC) subject claim customization for a repository. - * You must authenticate using an access token with the `repo` scope to use this - * endpoint. GitHub Apps must have the `organization_administration:read` permission to use this endpoint. - */ - "actions/get-custom-oidc-sub-claim-for-repo": { - parameters: { - path: { - /** The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** The name of the repository. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** Status response */ - 200: { - content: { - "application/json": components["schemas"]["opt-out-oidc-custom-sub"]; - }; - }; - 400: components["responses"]["bad_request"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Sets the `opt-in` or `opt-out` flag of a GitHub Actions OpenID Connect (OIDC) subject claim customization for a repository. - * You must authenticate using an access token with the `repo` scope to use this - * endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - "actions/set-custom-oidc-sub-claim-for-repo": { - parameters: { - path: { - /** The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** The name of the repository. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** Empty response */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - 400: components["responses"]["bad_request"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - requestBody: { - content: { - "application/json": components["schemas"]["opt-out-oidc-custom-sub"]; - }; - }; - }; /** * Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions and reusable workflows allowed to run in the repository. * @@ -30121,6 +29768,8 @@ export interface operations { exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; /** Returns workflow runs with the `check_suite_id` that you specify. */ check_suite_id?: components["parameters"]["workflow-run-check-suite-id"]; + /** Only returns workflow runs that are associated with the specified `head_sha`. */ + head_sha?: components["parameters"]["workflow-run-head-sha"]; }; }; responses: { @@ -30965,6 +30614,8 @@ export interface operations { exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; /** Returns workflow runs with the `check_suite_id` that you specify. */ check_suite_id?: components["parameters"]["workflow-run-check-suite-id"]; + /** Only returns workflow runs that are associated with the specified `head_sha`. */ + head_sha?: components["parameters"]["workflow-run-head-sha"]; }; }; responses: { @@ -31112,10 +30763,15 @@ export interface operations { requestBody: { content: { "application/json": { - /** @description The prefix appended by alphanumeric characters will generate a link any time it is found in an issue, pull request, or commit. */ + /** @description This prefix appended by certain characters will generate a link any time it is found in an issue, pull request, or commit. */ key_prefix: string; - /** @description The URL must contain `` for the reference number. `` matches alphanumeric characters `A-Z` (case insensitive), `0-9`, and `-`. */ + /** @description The URL must contain `` for the reference number. `` matches different characters depending on the value of `is_alphanumeric`. */ url_template: string; + /** + * @description Whether this autolink reference matches alphanumeric characters. If true, the `` parameter of the `url_template` matches alphanumeric characters `A-Z` (case insensitive), `0-9`, and `-`. If false, this autolink reference only matches numeric characters. + * @default true + */ + is_alphanumeric?: boolean; }; }; }; @@ -31765,7 +31421,7 @@ export interface operations { requestBody: { content: { "application/json": { - /** @description contexts parameter */ + /** @description The name of the status checks */ contexts: string[]; }; }; @@ -31797,7 +31453,7 @@ export interface operations { requestBody: { content: { "application/json": { - /** @description contexts parameter */ + /** @description The name of the status checks */ contexts: string[]; }; }; @@ -31828,7 +31484,7 @@ export interface operations { requestBody: { content: { "application/json": { - /** @description contexts parameter */ + /** @description The name of the status checks */ contexts: string[]; }; }; @@ -32081,7 +31737,7 @@ export interface operations { requestBody: { content: { "application/json": { - /** @description teams parameter */ + /** @description The slug values for teams */ teams: string[]; }; }; @@ -32119,7 +31775,7 @@ export interface operations { requestBody: { content: { "application/json": { - /** @description teams parameter */ + /** @description The slug values for teams */ teams: string[]; }; }; @@ -32157,7 +31813,7 @@ export interface operations { requestBody: { content: { "application/json": { - /** @description teams parameter */ + /** @description The slug values for teams */ teams: string[]; }; }; @@ -32221,7 +31877,7 @@ export interface operations { requestBody: { content: { "application/json": { - /** @description users parameter */ + /** @description The username for users */ users: string[]; }; }; @@ -32259,7 +31915,7 @@ export interface operations { requestBody: { content: { "application/json": { - /** @description users parameter */ + /** @description The username for users */ users: string[]; }; }; @@ -32297,7 +31953,7 @@ export interface operations { requestBody: { content: { "application/json": { - /** @description users parameter */ + /** @description The username for users */ users: string[]; }; }; @@ -33058,6 +32714,10 @@ export interface operations { ref?: components["schemas"]["code-scanning-ref"]; /** Filter analyses belonging to the same SARIF upload. */ sarif_id?: components["schemas"]["code-scanning-analysis-sarif-id"]; + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** The property by which to sort the results. */ + sort?: "created"; }; }; responses: { @@ -33141,8 +32801,7 @@ export interface operations { * * * `ref` * * `tool` - * * `analysis_key` - * * `environment` + * * `category` * * If you attempt to delete an analysis that is not the most recent in a set, * you'll get a 400 response with the message: @@ -33213,6 +32872,71 @@ export interface operations { 503: components["responses"]["service_unavailable"]; }; }; + /** + * Lists the CodeQL databases that are available in a repository. + * + * For private repositories, you must use an access token with the `security_events` scope. + * For public repositories, you can use tokens with the `security_events` or `public_repo` scope. + * GitHub Apps must have the `contents` read permission to use this endpoint. + */ + "code-scanning/list-codeql-databases": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-codeql-database"][]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Gets a CodeQL database for a language in a repository. + * + * By default this endpoint returns JSON metadata about the CodeQL database. To + * download the CodeQL database binary content, set the `Accept` header of the request + * to [`application/zip`](https://docs.github.com/rest/overview/media-types), and make sure + * your HTTP client is configured to follow redirects or use the `Location` header + * to make a second request to get the redirect URL. + * + * For private repositories, you must use an access token with the `security_events` scope. + * For public repositories, you can use tokens with the `security_events` or `public_repo` scope. + * GitHub Apps must have the `contents` read permission to use this endpoint. + */ + "code-scanning/get-codeql-database": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The language of the CodeQL database. */ + language: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-codeql-database"]; + }; + }; + 302: components["responses"]["found"]; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; /** * Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. You must use an access token with the `security_events` scope to use this endpoint for private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. * @@ -33773,6 +33497,8 @@ export interface operations { query: { /** Filter collaborators returned by their affiliation. `outside` means all outside collaborators of an organization-owned repository. `direct` means all collaborators with permissions to an organization-owned repository, regardless of organization membership status. `all` means all collaborators the authenticated user can see. */ affiliation?: "outside" | "direct" | "all"; + /** Filter collaborators by the permissions they have on the repository. If not specified, all collaborators will be returned. */ + permission?: "pull" | "triage" | "push" | "maintain" | "admin"; /** The number of results per page (max 100). */ per_page?: components["parameters"]["per-page"]; /** Page number of the results to fetch. */ @@ -34384,6 +34110,7 @@ export interface operations { 404: components["responses"]["not_found"]; 422: components["responses"]["validation_failed"]; 500: components["responses"]["internal_error"]; + 503: components["responses"]["service_unavailable"]; }; }; /** @@ -34538,9 +34265,10 @@ export interface operations { }; }; /** - * This endpoint will return all community profile metrics, including an - * overall health score, repository description, the presence of documentation, detected - * code of conduct, detected license, and the presence of ISSUE\_TEMPLATE, PULL\_REQUEST\_TEMPLATE, + * Returns all community profile metrics for a repository. The repository must be public, and cannot be a fork. + * + * The returned metrics include an overall health score, the repository description, the presence of documentation, the + * detected code of conduct, the detected license, and the presence of ISSUE\_TEMPLATE, PULL\_REQUEST\_TEMPLATE, * README, and CONTRIBUTING files. * * The `health_percentage` score is defined as a percentage of how many of @@ -34637,6 +34365,7 @@ export interface operations { }; 404: components["responses"]["not_found"]; 500: components["responses"]["internal_error"]; + 503: components["responses"]["service_unavailable"]; }; }; /** @@ -34648,11 +34377,11 @@ export interface operations { * type](https://docs.github.com/rest/reference/repos#custom-media-types) to ensure the content is returned in a consistent * object format. * - * **Note**: + * **Notes**: * * To get a repository's contents recursively, you can [recursively get the tree](https://docs.github.com/rest/reference/git#trees). * * This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the [Git Trees * API](https://docs.github.com/rest/reference/git#get-a-tree). - * + * * Download URLs expire and are meant to be used just once. To ensure the download URL does not expire, please use the contents API to obtain a fresh download URL for each download. * #### Size limits * If the requested file's size is: * * 1 MB or smaller: All features of this endpoint are supported. @@ -34710,7 +34439,11 @@ export interface operations { 404: components["responses"]["not_found"]; }; }; - /** Creates a new file or replaces an existing file in a repository. */ + /** + * Creates a new file or replaces an existing file in a repository. You must authenticate using an access token with the `workflow` scope to use this endpoint. + * + * **Note:** If you use this endpoint and the "[Delete a file](https://docs.github.com/rest/reference/repos/#delete-file)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. + */ "repos/create-or-update-file-contents": { parameters: { path: { @@ -34780,6 +34513,8 @@ export interface operations { * The `author` section is optional and is filled in with the `committer` information if omitted. If the `committer` information is omitted, the authenticated user's information is used. * * You must provide values for both `name` and `email`, whether you choose to use `author` or `committer`. Otherwise, you'll receive a `422` status code. + * + * **Note:** If you use this endpoint and the "[Create or update file contents](https://docs.github.com/rest/reference/repos/#create-or-update-file-contents)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. */ "repos/delete-file": { parameters: { @@ -34809,7 +34544,7 @@ export interface operations { "application/json": { /** @description The commit message. */ message: string; - /** @description The blob SHA of the file being replaced. */ + /** @description The blob SHA of the file being deleted. */ sha: string; /** @description The branch name. Default: the repository’s default branch (usually `master`) */ branch?: string; @@ -34867,6 +34602,139 @@ export interface operations { 404: components["responses"]["not_found"]; }; }; + /** + * You must use an access token with the `security_events` scope to use this endpoint with private repositories. + * You can also use tokens with the `public_repo` scope for public repositories only. + * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. + */ + "dependabot/list-alerts-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** + * A comma-separated list of states. If specified, only alerts with these states will be returned. + * + * Can be: `dismissed`, `fixed`, `open` + */ + state?: components["parameters"]["dependabot-alert-state"]; + /** + * A comma-separated list of severities. If specified, only alerts with these severities will be returned. + * + * Can be: `low`, `medium`, `high`, `critical` + */ + severity?: components["parameters"]["dependabot-alert-severity"]; + /** + * A comma-separated list of ecosystems. If specified, only alerts for these ecosystems will be returned. + * + * Can be: `composer`, `go`, `maven`, `npm`, `nuget`, `pip`, `rubygems`, `rust` + */ + ecosystem?: components["parameters"]["dependabot-alert-ecosystem"]; + /** A comma-separated list of package names. If specified, only alerts for these packages will be returned. */ + package?: components["parameters"]["dependabot-alert-package"]; + /** A comma-separated list of full manifest paths. If specified, only alerts for these manifests will be returned. */ + manifest?: components["parameters"]["dependabot-alert-manifest"]; + /** Scope of the dependency on a Dependabot alert. */ + scope?: components["parameters"]["dependabot-alert-scope"]; + /** + * The property by which to sort the results. + * `created` means when the alert was created. + * `updated` means when the alert's state last changed. + */ + sort?: components["parameters"]["dependabot-alert-sort"]; + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["dependabot-alert"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * You must use an access token with the `security_events` scope to use this endpoint with private repositories. + * You can also use tokens with the `public_repo` scope for public repositories only. + * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. + */ + "dependabot/get-alert": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies a Dependabot alert in its repository. You can find this at the end of the URL for a Dependabot alert within GitHub, or in `number` fields in the response from the `GET /repos/{owner}/{repo}/dependabot/alerts` operation. */ + alert_number: components["parameters"]["dependabot-alert-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["dependabot-alert"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * You must use an access token with the `security_events` scope to use this endpoint with private repositories. + * You can also use tokens with the `public_repo` scope for public repositories only. + * GitHub Apps must have **Dependabot alerts** write permission to use this endpoint. + */ + "dependabot/update-alert": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies a Dependabot alert in its repository. You can find this at the end of the URL for a Dependabot alert within GitHub, or in `number` fields in the response from the `GET /repos/{owner}/{repo}/dependabot/alerts` operation. */ + alert_number: components["parameters"]["dependabot-alert-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["dependabot-alert"]; + }; + }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + state: components["schemas"]["dependabot-alert-set-state"]; + dismissed_reason?: components["schemas"]["dependabot-alert-dismissed-reason"]; + dismissed_comment?: components["schemas"]["dependabot-alert-dismissed-comment"]; + }; + }; + }; + }; /** Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. */ "dependabot/list-repo-secrets": { parameters: { @@ -35804,7 +35672,7 @@ export interface operations { repo: components["parameters"]["repo"]; }; query: { - /** The sort order. Can be either `newest`, `oldest`, or `stargazers`. */ + /** The sort order. `stargazers` will sort by star count. */ sort?: "newest" | "oldest" | "stargazers" | "watchers"; /** The number of results per page (max 100). */ per_page?: components["parameters"]["per-page"]; @@ -35856,6 +35724,8 @@ export interface operations { organization?: string; /** @description When forking from an existing repository, a new name for the fork. */ name?: string; + /** @description When forking from an existing repository, fork with only the default branch. */ + default_branch_only?: boolean; } | null; }; }; @@ -36419,6 +36289,9 @@ export interface operations { * Returns a single tree using the SHA1 value for that tree. * * If `truncated` is `true` in the response then the number of items in the `tree` array exceeded our maximum limit. If you need to fetch more items, use the non-recursive method of fetching trees, and fetch one sub-tree at a time. + * + * + * **Note**: The limit for the `tree` array is 100,000 entries with a maximum size of 7 MB when using the `recursive` parameter. */ "git/get-tree": { parameters: { @@ -36445,6 +36318,7 @@ export interface operations { 422: components["responses"]["validation_failed"]; }; }; + /** Lists webhooks for a repository. `last response` may return null if there have not been any deliveries within 30 days. */ "repos/list-webhooks": { parameters: { path: { @@ -37249,7 +37123,7 @@ export interface operations { query: { /** If an `integer` is passed, it should refer to a milestone by its `number` field. If the string `*` is passed, issues with any milestone are accepted. If the string `none` is passed, issues without milestones are returned. */ milestone?: string; - /** Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. */ + /** Indicates the state of the issues to return. */ state?: "open" | "closed" | "all"; /** Can be the name of a user. Pass in `none` for issues with no assigned user, and `*` for issues assigned to any user. */ assignee?: string; @@ -37259,7 +37133,7 @@ export interface operations { mentioned?: string; /** A list of comma separated label names. Example: `bug,ui,@high` */ labels?: components["parameters"]["labels"]; - /** What to sort results by. Can be either `created`, `updated`, `comments`. */ + /** What to sort results by. */ sort?: "created" | "updated" | "comments"; /** The direction to sort the results by. */ direction?: components["parameters"]["direction"]; @@ -37674,6 +37548,12 @@ export interface operations { * @enum {string} */ state?: "open" | "closed"; + /** + * @description The reason for the current state + * @example not_planned + * @enum {string|null} + */ + state_reason?: ("completed" | "not_planned" | "reopened") | null; milestone?: (string | number) | null; /** @description Labels to associate with this issue. Pass one or more Labels to _replace_ the set of Labels on this Issue. Send an empty array (`[]`) to clear all Labels from the Issue. _NOTE: Only users with push access can set labels for issues. Labels are silently dropped otherwise._ */ labels?: ( @@ -37870,6 +37750,8 @@ export interface operations { "application/json": components["schemas"]["label"][]; }; }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; 410: components["responses"]["gone"]; }; }; @@ -37892,6 +37774,8 @@ export interface operations { "application/json": components["schemas"]["label"][]; }; }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; 410: components["responses"]["gone"]; 422: components["responses"]["validation_failed"]; }; @@ -37928,6 +37812,8 @@ export interface operations { "application/json": components["schemas"]["label"][]; }; }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; 410: components["responses"]["gone"]; 422: components["responses"]["validation_failed"]; }; @@ -37960,6 +37846,8 @@ export interface operations { responses: { /** Response */ 204: never; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; 410: components["responses"]["gone"]; }; }; @@ -37983,6 +37871,7 @@ export interface operations { "application/json": components["schemas"]["label"][]; }; }; + 301: components["responses"]["moved_permanently"]; 404: components["responses"]["not_found"]; 410: components["responses"]["gone"]; }; @@ -38844,6 +38733,7 @@ export interface operations { /** Response */ 204: never; 400: components["responses"]["bad_request"]; + 409: components["responses"]["conflict"]; 422: components["responses"]["validation_failed"]; }; requestBody: { @@ -38930,6 +38820,7 @@ export interface operations { /** Response */ 204: never; 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; 422: components["responses"]["validation_failed"]; }; }; @@ -39110,7 +39001,7 @@ export interface operations { repo: components["parameters"]["repo"]; }; query: { - /** Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. */ + /** Indicates the state of the projects to return. */ state?: "open" | "closed" | "all"; /** The number of results per page (max 100). */ per_page?: components["parameters"]["per-page"]; @@ -39183,9 +39074,9 @@ export interface operations { head?: string; /** Filter pulls by base branch name. Example: `gh-pages`. */ base?: string; - /** What to sort results by. Can be either `created`, `updated`, `popularity` (comment count) or `long-running` (age, filtering by pulls updated in the last month). */ + /** What to sort results by. `popularity` will sort by the number of comments. `long-running` will sort by date created and will limit the results to pull requests that have been open for more than a month and have had activity within the past month. */ sort?: "created" | "updated" | "popularity" | "long-running"; - /** The direction of the sort. Can be either `asc` or `desc`. Default: `desc` when sort is `created` or sort is not specified, otherwise `asc`. */ + /** The direction of the sort. Default: `desc` when sort is `created` or sort is not specified, otherwise `asc`. */ direction?: "asc" | "desc"; /** The number of results per page (max 100). */ per_page?: components["parameters"]["per-page"]; @@ -39269,7 +39160,7 @@ export interface operations { }; query: { sort?: "created" | "updated" | "created_at"; - /** Can be either `asc` or `desc`. Ignored without `sort` parameter. */ + /** The direction to sort results. Ignored without `sort` parameter. */ direction?: "asc" | "desc"; /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ since?: components["parameters"]["since"]; @@ -39505,6 +39396,7 @@ export interface operations { 304: components["responses"]["not_modified"]; 404: components["responses"]["not_found"]; 500: components["responses"]["internal_error"]; + 503: components["responses"]["service_unavailable"]; }; }; /** @@ -39627,7 +39519,7 @@ export interface operations { query: { /** The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to. */ sort?: components["parameters"]["sort"]; - /** Can be either `asc` or `desc`. Ignored without `sort` parameter. */ + /** The direction to sort results. Ignored without `sort` parameter. */ direction?: "asc" | "desc"; /** Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ since?: components["parameters"]["since"]; @@ -39812,6 +39704,7 @@ export interface operations { }; 422: components["responses"]["validation_failed"]; 500: components["responses"]["internal_error"]; + 503: components["responses"]["service_unavailable"]; }; }; "pulls/check-if-merged": { @@ -40961,9 +40854,11 @@ export interface operations { "application/json": components["schemas"]["secret-scanning-alert"]; }; }; + /** Bad request, resolution comment is invalid or the resolution was not changed. */ + 400: unknown; /** Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ 404: unknown; - /** State does not match the resolution */ + /** State does not match the resolution or resolution comment */ 422: unknown; 503: components["responses"]["service_unavailable"]; }; @@ -40972,6 +40867,7 @@ export interface operations { "application/json": { state: components["schemas"]["secret-scanning-alert-state"]; resolution?: components["schemas"]["secret-scanning-alert-resolution"]; + resolution_comment?: components["schemas"]["secret-scanning-alert-resolution-comment"]; }; }; }; @@ -41016,7 +40912,7 @@ export interface operations { /** * Lists the people that have starred the repository. * - * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. */ "activity/list-stargazers-for-repo": { parameters: { @@ -41699,7 +41595,7 @@ export interface operations { }; }; /** - * Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. The authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/rest/reference/repos#get-a-repository) endpoint and check that the `is_template` key is `true`. + * Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. If the repository is not public, the authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/rest/reference/repos#get-a-repository) endpoint and check that the `is_template` key is `true`. * * **OAuth scope requirements** * @@ -41972,740 +41868,6 @@ export interface operations { 204: never; }; }; - /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ - "enterprise-admin/list-provisioned-groups-enterprise": { - parameters: { - path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - }; - query: { - /** Used for pagination: the index of the first result to return. */ - startIndex?: components["parameters"]["start-index"]; - /** Used for pagination: the number of results to return. */ - count?: components["parameters"]["count"]; - /** filter results */ - filter?: string; - /** attributes to exclude */ - excludedAttributes?: string; - }; - }; - responses: { - /** Response */ - 200: { - content: { - "application/json": components["schemas"]["scim-group-list-enterprise"]; - }; - }; - }; - }; - /** - * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - * - * Provision an enterprise group, and invite users to the group. This sends invitation emails to the email address of the invited users to join the GitHub organization that the SCIM group corresponds to. - */ - "enterprise-admin/provision-and-invite-enterprise-group": { - parameters: { - path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - }; - }; - responses: { - /** Response */ - 201: { - content: { - "application/json": components["schemas"]["scim-enterprise-group"]; - }; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The SCIM schema URIs. */ - schemas: string[]; - /** @description The name of the SCIM group. This must match the GitHub organization that the group maps to. */ - displayName: string; - members?: { - /** @description The SCIM user ID for a user. */ - value: string; - }[]; - }; - }; - }; - }; - /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ - "enterprise-admin/get-provisioning-information-for-enterprise-group": { - parameters: { - path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - /** Identifier generated by the GitHub SCIM endpoint. */ - scim_group_id: components["parameters"]["scim-group-id"]; - }; - query: { - /** Attributes to exclude. */ - excludedAttributes?: string; - }; - }; - responses: { - /** Response */ - 200: { - content: { - "application/json": components["schemas"]["scim-enterprise-group"]; - }; - }; - }; - }; - /** - * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - * - * Replaces an existing provisioned group’s information. You must provide all the information required for the group as if you were provisioning it for the first time. Any existing group information that you don't provide will be removed, including group membership. If you want to only update a specific attribute, use the [Update an attribute for a SCIM enterprise group](#update-an-attribute-for-a-scim-enterprise-group) endpoint instead. - */ - "enterprise-admin/set-information-for-provisioned-enterprise-group": { - parameters: { - path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - /** Identifier generated by the GitHub SCIM endpoint. */ - scim_group_id: components["parameters"]["scim-group-id"]; - }; - }; - responses: { - /** Response */ - 200: { - content: { - "application/json": components["schemas"]["scim-enterprise-group"]; - }; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The SCIM schema URIs. */ - schemas: string[]; - /** @description The name of the SCIM group. This must match the GitHub organization that the group maps to. */ - displayName: string; - members?: { - /** @description The SCIM user ID for a user. */ - value: string; - }[]; - }; - }; - }; - }; - /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ - "enterprise-admin/delete-scim-group-from-enterprise": { - parameters: { - path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - /** Identifier generated by the GitHub SCIM endpoint. */ - scim_group_id: components["parameters"]["scim-group-id"]; - }; - }; - responses: { - /** Response */ - 204: never; - }; - }; - /** - * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - * - * Allows you to change a provisioned group’s individual attributes. To change a group’s values, you must provide a specific Operations JSON format that contains at least one of the add, remove, or replace operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). - */ - "enterprise-admin/update-attribute-for-enterprise-group": { - parameters: { - path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - /** Identifier generated by the GitHub SCIM endpoint. */ - scim_group_id: components["parameters"]["scim-group-id"]; - }; - }; - responses: { - /** Response */ - 200: { - content: { - "application/json": components["schemas"]["scim-enterprise-group"]; - }; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The SCIM schema URIs. */ - schemas: string[]; - /** @description Array of [SCIM operations](https://tools.ietf.org/html/rfc7644#section-3.5.2). */ - Operations: { - /** @enum {string} */ - op: "add" | "Add" | "remove" | "Remove" | "replace" | "Replace"; - path?: string; - /** @description Can be any value - string, number, array or object. */ - value?: unknown; - }[]; - }; - }; - }; - }; - /** - * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - * - * Retrieves a paginated list of all provisioned enterprise members, including pending invitations. - * - * When a user with a SAML-provisioned external identity leaves (or is removed from) an enterprise, the account's metadata is immediately removed. However, the returned list of user accounts might not always match the organization or enterprise member list you see on GitHub. This can happen in certain cases where an external identity associated with an organization will not match an organization member: - * - When a user with a SCIM-provisioned external identity is removed from an enterprise, the account's metadata is preserved to allow the user to re-join the organization in the future. - * - When inviting a user to join an organization, you can expect to see their external identity in the results before they accept the invitation, or if the invitation is cancelled (or never accepted). - * - When a user is invited over SCIM, an external identity is created that matches with the invitee's email address. However, this identity is only linked to a user account when the user accepts the invitation by going through SAML SSO. - * - * The returned list of external identities can include an entry for a `null` user. These are unlinked SAML identities that are created when a user goes through the following Single Sign-On (SSO) process but does not sign in to their GitHub account after completing SSO: - * - * 1. The user is granted access by the IdP and is not a member of the GitHub enterprise. - * - * 1. The user attempts to access the GitHub enterprise and initiates the SAML SSO process, and is not currently signed in to their GitHub account. - * - * 1. After successfully authenticating with the SAML SSO IdP, the `null` external identity entry is created and the user is prompted to sign in to their GitHub account: - * - If the user signs in, their GitHub account is linked to this entry. - * - If the user does not sign in (or does not create a new account when prompted), they are not added to the GitHub enterprise, and the external identity `null` entry remains in place. - */ - "enterprise-admin/list-provisioned-identities-enterprise": { - parameters: { - path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - }; - query: { - /** Used for pagination: the index of the first result to return. */ - startIndex?: components["parameters"]["start-index"]; - /** Used for pagination: the number of results to return. */ - count?: components["parameters"]["count"]; - /** filter results */ - filter?: string; - }; - }; - responses: { - /** Response */ - 200: { - content: { - "application/json": components["schemas"]["scim-user-list-enterprise"]; - }; - }; - }; - }; - /** - * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - * - * Provision enterprise membership for a user, and send organization invitation emails to the email address. - * - * You can optionally include the groups a user will be invited to join. If you do not provide a list of `groups`, the user is provisioned for the enterprise, but no organization invitation emails will be sent. - */ - "enterprise-admin/provision-and-invite-enterprise-user": { - parameters: { - path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - }; - }; - responses: { - /** Response */ - 201: { - content: { - "application/json": components["schemas"]["scim-enterprise-user"]; - }; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The SCIM schema URIs. */ - schemas: string[]; - /** @description The username for the user. */ - userName: string; - name: { - /** @description The first name of the user. */ - givenName: string; - /** @description The last name of the user. */ - familyName: string; - }; - /** @description List of user emails. */ - emails: { - /** @description The email address. */ - value: string; - /** @description The type of email address. */ - type: string; - /** @description Whether this email address is the primary address. */ - primary: boolean; - }[]; - /** @description List of SCIM group IDs the user is a member of. */ - groups?: { - value?: string; - }[]; - }; - }; - }; - }; - /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ - "enterprise-admin/get-provisioning-information-for-enterprise-user": { - parameters: { - path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - /** The unique identifier of the SCIM user. */ - scim_user_id: components["parameters"]["scim-user-id"]; - }; - }; - responses: { - /** Response */ - 200: { - content: { - "application/json": components["schemas"]["scim-enterprise-user"]; - }; - }; - }; - }; - /** - * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - * - * Replaces an existing provisioned user's information. You must provide all the information required for the user as if you were provisioning them for the first time. Any existing user information that you don't provide will be removed. If you want to only update a specific attribute, use the [Update an attribute for a SCIM user](#update-an-attribute-for-an-enterprise-scim-user) endpoint instead. - * - * You must at least provide the required values for the user: `userName`, `name`, and `emails`. - * - * **Warning:** Setting `active: false` removes the user from the enterprise, deletes the external identity, and deletes the associated `{scim_user_id}`. - */ - "enterprise-admin/set-information-for-provisioned-enterprise-user": { - parameters: { - path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - /** The unique identifier of the SCIM user. */ - scim_user_id: components["parameters"]["scim-user-id"]; - }; - }; - responses: { - /** Response */ - 200: { - content: { - "application/json": components["schemas"]["scim-enterprise-user"]; - }; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The SCIM schema URIs. */ - schemas: string[]; - /** @description The username for the user. */ - userName: string; - name: { - /** @description The first name of the user. */ - givenName: string; - /** @description The last name of the user. */ - familyName: string; - }; - /** @description List of user emails. */ - emails: { - /** @description The email address. */ - value: string; - /** @description The type of email address. */ - type: string; - /** @description Whether this email address is the primary address. */ - primary: boolean; - }[]; - /** @description List of SCIM group IDs the user is a member of. */ - groups?: { - value?: string; - }[]; - }; - }; - }; - }; - /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ - "enterprise-admin/delete-user-from-enterprise": { - parameters: { - path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - /** The unique identifier of the SCIM user. */ - scim_user_id: components["parameters"]["scim-user-id"]; - }; - }; - responses: { - /** Response */ - 204: never; - }; - }; - /** - * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - * - * Allows you to change a provisioned user's individual attributes. To change a user's values, you must provide a specific `Operations` JSON format that contains at least one of the `add`, `remove`, or `replace` operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). - * - * **Note:** Complicated SCIM `path` selectors that include filters are not supported. For example, a `path` selector defined as `"path": "emails[type eq \"work\"]"` will not work. - * - * **Warning:** If you set `active:false` using the `replace` operation (as shown in the JSON example below), it removes the user from the enterprise, deletes the external identity, and deletes the associated `:scim_user_id`. - * - * ``` - * { - * "Operations":[{ - * "op":"replace", - * "value":{ - * "active":false - * } - * }] - * } - * ``` - */ - "enterprise-admin/update-attribute-for-enterprise-user": { - parameters: { - path: { - /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - /** The unique identifier of the SCIM user. */ - scim_user_id: components["parameters"]["scim-user-id"]; - }; - }; - responses: { - /** Response */ - 200: { - content: { - "application/json": components["schemas"]["scim-enterprise-user"]; - }; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The SCIM schema URIs. */ - schemas: string[]; - /** @description Array of [SCIM operations](https://tools.ietf.org/html/rfc7644#section-3.5.2). */ - Operations: { [key: string]: unknown }[]; - }; - }; - }; - }; - /** - * Retrieves a paginated list of all provisioned organization members, including pending invitations. If you provide the `filter` parameter, the resources for all matching provisions members are returned. - * - * When a user with a SAML-provisioned external identity leaves (or is removed from) an organization, the account's metadata is immediately removed. However, the returned list of user accounts might not always match the organization or enterprise member list you see on GitHub. This can happen in certain cases where an external identity associated with an organization will not match an organization member: - * - When a user with a SCIM-provisioned external identity is removed from an organization, the account's metadata is preserved to allow the user to re-join the organization in the future. - * - When inviting a user to join an organization, you can expect to see their external identity in the results before they accept the invitation, or if the invitation is cancelled (or never accepted). - * - When a user is invited over SCIM, an external identity is created that matches with the invitee's email address. However, this identity is only linked to a user account when the user accepts the invitation by going through SAML SSO. - * - * The returned list of external identities can include an entry for a `null` user. These are unlinked SAML identities that are created when a user goes through the following Single Sign-On (SSO) process but does not sign in to their GitHub account after completing SSO: - * - * 1. The user is granted access by the IdP and is not a member of the GitHub organization. - * - * 1. The user attempts to access the GitHub organization and initiates the SAML SSO process, and is not currently signed in to their GitHub account. - * - * 1. After successfully authenticating with the SAML SSO IdP, the `null` external identity entry is created and the user is prompted to sign in to their GitHub account: - * - If the user signs in, their GitHub account is linked to this entry. - * - If the user does not sign in (or does not create a new account when prompted), they are not added to the GitHub organization, and the external identity `null` entry remains in place. - */ - "scim/list-provisioned-identities": { - parameters: { - path: { - /** The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - query: { - /** Used for pagination: the index of the first result to return. */ - startIndex?: number; - /** Used for pagination: the number of results to return. */ - count?: number; - /** - * Filters results using the equals query parameter operator (`eq`). You can filter results that are equal to `id`, `userName`, `emails`, and `external_id`. For example, to search for an identity with the `userName` Octocat, you would use this query: - * - * `?filter=userName%20eq%20\"Octocat\"`. - * - * To filter results for the identity with the email `octocat@github.com`, you would use this query: - * - * `?filter=emails%20eq%20\"octocat@github.com\"`. - */ - filter?: string; - }; - }; - responses: { - /** Response */ - 200: { - content: { - "application/scim+json": components["schemas"]["scim-user-list"]; - }; - }; - 304: components["responses"]["not_modified"]; - 400: components["responses"]["scim_bad_request"]; - 403: components["responses"]["scim_forbidden"]; - 404: components["responses"]["scim_not_found"]; - 429: components["responses"]["scim_too_many_requests"]; - }; - }; - /** Provision organization membership for a user, and send an activation email to the email address. */ - "scim/provision-and-invite-user": { - parameters: { - path: { - /** The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - }; - responses: { - /** Response */ - 201: { - content: { - "application/scim+json": components["schemas"]["scim-user"]; - }; - }; - 304: components["responses"]["not_modified"]; - 400: components["responses"]["scim_bad_request"]; - 403: components["responses"]["scim_forbidden"]; - 404: components["responses"]["scim_not_found"]; - 409: components["responses"]["scim_conflict"]; - 500: components["responses"]["scim_internal_error"]; - }; - requestBody: { - content: { - "application/json": { - /** - * @description Configured by the admin. Could be an email, login, or username - * @example someone@example.com - */ - userName: string; - /** - * @description The name of the user, suitable for display to end-users - * @example Jon Doe - */ - displayName?: string; - /** - * @example { - * "givenName": "Jane", - * "familyName": "User" - * } - */ - name: { - givenName: string; - familyName: string; - formatted?: string; - }; - /** - * @description user emails - * @example [ - * { - * "value": "someone@example.com", - * "primary": true - * }, - * { - * "value": "another@example.com", - * "primary": false - * } - * ] - */ - emails: { - value: string; - primary?: boolean; - type?: string; - }[]; - schemas?: string[]; - externalId?: string; - groups?: string[]; - active?: boolean; - }; - }; - }; - }; - "scim/get-provisioning-information-for-user": { - parameters: { - path: { - /** The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** The unique identifier of the SCIM user. */ - scim_user_id: components["parameters"]["scim-user-id"]; - }; - }; - responses: { - /** Response */ - 200: { - content: { - "application/scim+json": components["schemas"]["scim-user"]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["scim_forbidden"]; - 404: components["responses"]["scim_not_found"]; - }; - }; - /** - * Replaces an existing provisioned user's information. You must provide all the information required for the user as if you were provisioning them for the first time. Any existing user information that you don't provide will be removed. If you want to only update a specific attribute, use the [Update an attribute for a SCIM user](https://docs.github.com/rest/reference/scim#update-an-attribute-for-a-scim-user) endpoint instead. - * - * You must at least provide the required values for the user: `userName`, `name`, and `emails`. - * - * **Warning:** Setting `active: false` removes the user from the organization, deletes the external identity, and deletes the associated `{scim_user_id}`. - */ - "scim/set-information-for-provisioned-user": { - parameters: { - path: { - /** The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** The unique identifier of the SCIM user. */ - scim_user_id: components["parameters"]["scim-user-id"]; - }; - }; - responses: { - /** Response */ - 200: { - content: { - "application/scim+json": components["schemas"]["scim-user"]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["scim_forbidden"]; - 404: components["responses"]["scim_not_found"]; - }; - requestBody: { - content: { - "application/json": { - schemas?: string[]; - /** - * @description The name of the user, suitable for display to end-users - * @example Jon Doe - */ - displayName?: string; - externalId?: string; - groups?: string[]; - active?: boolean; - /** - * @description Configured by the admin. Could be an email, login, or username - * @example someone@example.com - */ - userName: string; - /** - * @example { - * "givenName": "Jane", - * "familyName": "User" - * } - */ - name: { - givenName: string; - familyName: string; - formatted?: string; - }; - /** - * @description user emails - * @example [ - * { - * "value": "someone@example.com", - * "primary": true - * }, - * { - * "value": "another@example.com", - * "primary": false - * } - * ] - */ - emails: { - type?: string; - value: string; - primary?: boolean; - }[]; - }; - }; - }; - }; - "scim/delete-user-from-org": { - parameters: { - path: { - /** The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** The unique identifier of the SCIM user. */ - scim_user_id: components["parameters"]["scim-user-id"]; - }; - }; - responses: { - /** Response */ - 204: never; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["scim_forbidden"]; - 404: components["responses"]["scim_not_found"]; - }; - }; - /** - * Allows you to change a provisioned user's individual attributes. To change a user's values, you must provide a specific `Operations` JSON format that contains at least one of the `add`, `remove`, or `replace` operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). - * - * **Note:** Complicated SCIM `path` selectors that include filters are not supported. For example, a `path` selector defined as `"path": "emails[type eq \"work\"]"` will not work. - * - * **Warning:** If you set `active:false` using the `replace` operation (as shown in the JSON example below), it removes the user from the organization, deletes the external identity, and deletes the associated `:scim_user_id`. - * - * ``` - * { - * "Operations":[{ - * "op":"replace", - * "value":{ - * "active":false - * } - * }] - * } - * ``` - */ - "scim/update-attribute-for-user": { - parameters: { - path: { - /** The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** The unique identifier of the SCIM user. */ - scim_user_id: components["parameters"]["scim-user-id"]; - }; - }; - responses: { - /** Response */ - 200: { - content: { - "application/scim+json": components["schemas"]["scim-user"]; - }; - }; - 304: components["responses"]["not_modified"]; - 400: components["responses"]["scim_bad_request"]; - 403: components["responses"]["scim_forbidden"]; - 404: components["responses"]["scim_not_found"]; - /** Response */ - 429: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - requestBody: { - content: { - "application/json": { - schemas?: string[]; - /** - * @description Set of operations to be performed - * @example [ - * { - * "op": "replace", - * "value": { - * "active": false - * } - * } - * ] - */ - Operations: { - /** @enum {string} */ - op: "add" | "remove" | "replace"; - path?: string; - value?: - | { - active?: boolean | null; - userName?: string | null; - externalId?: string | null; - givenName?: string | null; - familyName?: string | null; - } - | { - value?: string; - primary?: boolean; - }[] - | string; - }[]; - }; - }; - }; - }; /** * Searches for query terms inside of a file. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). * @@ -44047,79 +43209,6 @@ export interface operations { 204: never; }; }; - /** - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List IdP groups for a team`](https://docs.github.com/rest/reference/teams#list-idp-groups-for-a-team) endpoint. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * List IdP groups connected to a team on GitHub. - */ - "teams/list-idp-groups-for-legacy": { - parameters: { - path: { - /** The unique identifier of the team. */ - team_id: components["parameters"]["team-id"]; - }; - }; - responses: { - /** Response */ - 200: { - content: { - "application/json": components["schemas"]["group-mapping"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create or update IdP group connections`](https://docs.github.com/rest/reference/teams#create-or-update-idp-group-connections) endpoint. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Creates, updates, or removes a connection between a team and an IdP group. When adding groups to a team, you must include all new and existing groups to avoid replacing existing groups with the new ones. Specifying an empty `groups` array will remove all connections for a team. - */ - "teams/create-or-update-idp-group-connections-legacy": { - parameters: { - path: { - /** The unique identifier of the team. */ - team_id: components["parameters"]["team-id"]; - }; - }; - responses: { - /** Response */ - 200: { - content: { - "application/json": components["schemas"]["group-mapping"]; - }; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - requestBody: { - content: { - "application/json": { - /** @description The IdP groups you want to connect to a GitHub team. When updating, the new `groups` object will replace the original one. You must include any existing groups that you don't want to remove. */ - groups: { - /** @description ID of the IdP group. */ - group_id: string; - /** @description Name of the IdP group. */ - group_name: string; - /** @description Description of the IdP group. */ - group_description: string; - /** @example "caceab43fc9ffa20081c" */ - id?: string; - /** @example "external-team-6c13e7288ef7" */ - name?: string; - /** @example "moar cheese pleese" */ - description?: string; - }[]; - /** @example "I am not a timestamp" */ - synced_at?: string; - }; - }; - }; - }; /** **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://docs.github.com/rest/reference/teams#list-child-teams) endpoint. */ "teams/list-child-legacy": { parameters: { @@ -45422,11 +44511,11 @@ export interface operations { | "subscribed" | "repos" | "all"; - /** Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. */ + /** Indicates the state of the issues to return. */ state?: "open" | "closed" | "all"; /** A list of comma separated label names. Example: `bug,ui,@high` */ labels?: components["parameters"]["labels"]; - /** What to sort results by. Can be either `created`, `updated`, `comments`. */ + /** What to sort results by. */ sort?: "created" | "updated" | "comments"; /** The direction to sort the results by. */ direction?: components["parameters"]["direction"]; @@ -45590,7 +44679,7 @@ export interface operations { "orgs/list-memberships-for-authenticated-user": { parameters: { query: { - /** Indicates the state of the memberships to return. Can be either `active` or `pending`. If not specified, the API returns both active and pending memberships. */ + /** Indicates the state of the memberships to return. If not specified, the API returns both active and pending memberships. */ state?: "active" | "pending"; /** The number of results per page (max 100). */ per_page?: components["parameters"]["per-page"]; @@ -46018,7 +45107,7 @@ export interface operations { }; }; /** - * Returns all package versions for a package owned by the authenticated user. + * Lists package versions for a package owned by the authenticated user. * * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. * If `package_type` is not `container`, your token must also include the `repo` scope. @@ -46450,10 +45539,102 @@ export interface operations { 409: components["responses"]["conflict"]; }; }; + /** Lists the SSH signing keys for the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `read:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." */ + "users/list-ssh-signing-keys-for-authenticated-user": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["ssh-signing-key"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Creates an SSH signing key for the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `write:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." */ + "users/create-ssh-signing-key-for-authenticated-user": { + parameters: {}; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["ssh-signing-key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description A descriptive name for the new key. + * @example Personal MacBook Air + */ + title?: string; + /** @description The public SSH key to add to your GitHub account. For more information, see "[Checking for existing SSH keys](https://docs.github.com/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys)." */ + key: string; + }; + }; + }; + }; + /** Gets extended details for an SSH signing key. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `read:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." */ + "users/get-ssh-signing-key-for-authenticated-user": { + parameters: { + path: { + /** The unique identifier of the SSH signing key. */ + ssh_signing_key_id: components["parameters"]["ssh-signing-key-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["ssh-signing-key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Deletes an SSH signing key from the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `admin:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." */ + "users/delete-ssh-signing-key-for-authenticated-user": { + parameters: { + path: { + /** The unique identifier of the SSH signing key. */ + ssh_signing_key_id: components["parameters"]["ssh-signing-key-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; /** * Lists repositories the authenticated user has starred. * - * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. */ "activity/list-repos-starred-by-authenticated-user": { parameters: { @@ -47057,7 +46238,7 @@ export interface operations { }; }; /** - * Returns all package versions for a public package owned by a specified user. + * Lists package versions for a public package owned by a specified user. * * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. * If `package_type` is not `container`, your token must also include the `repo` scope. @@ -47180,7 +46361,7 @@ export interface operations { username: components["parameters"]["username"]; }; query: { - /** Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. */ + /** Indicates the state of the projects to return. */ state?: "open" | "closed" | "all"; /** The number of results per page (max 100). */ per_page?: components["parameters"]["per-page"]; @@ -47343,10 +46524,34 @@ export interface operations { }; }; }; + /** Lists the SSH signing keys for a user. This operation is accessible by anyone. */ + "users/list-ssh-signing-keys-for-user": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["ssh-signing-key"][]; + }; + }; + }; + }; /** * Lists repositories a user has starred. * - * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. */ "activity/list-repos-starred-by-user": { parameters: { diff --git a/node_modules/@octokit/types/dist-node/index.js b/node_modules/@octokit/types/dist-node/index.js index f2fd75bc19..18a39b761e 100644 --- a/node_modules/@octokit/types/dist-node/index.js +++ b/node_modules/@octokit/types/dist-node/index.js @@ -2,7 +2,7 @@ Object.defineProperty(exports, '__esModule', { value: true }); -const VERSION = "7.1.1"; +const VERSION = "8.0.0"; exports.VERSION = VERSION; //# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/types/dist-src/VERSION.js b/node_modules/@octokit/types/dist-src/VERSION.js index f40fe08eb5..608eb42d4f 100644 --- a/node_modules/@octokit/types/dist-src/VERSION.js +++ b/node_modules/@octokit/types/dist-src/VERSION.js @@ -1 +1 @@ -export const VERSION = "7.1.1"; +export const VERSION = "8.0.0"; diff --git a/node_modules/@octokit/types/dist-types/VERSION.d.ts b/node_modules/@octokit/types/dist-types/VERSION.d.ts index 76a73422d6..ce4c3012de 100644 --- a/node_modules/@octokit/types/dist-types/VERSION.d.ts +++ b/node_modules/@octokit/types/dist-types/VERSION.d.ts @@ -1 +1 @@ -export declare const VERSION = "7.1.1"; +export declare const VERSION = "8.0.0"; diff --git a/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts b/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts index 2bfb039777..4fb64d7433 100644 --- a/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts +++ b/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts @@ -121,6 +121,14 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/activity#delete-a-thread-subscription */ "DELETE /notifications/threads/{thread_id}/subscription": Operation<"/notifications/threads/{thread_id}/subscription", "delete">; + /** + * @see https://docs.github.com/rest/reference/codespaces#delete-an-organization-secret + */ + "DELETE /organizations/{org}/codespaces/secrets/{secret_name}": Operation<"/organizations/{org}/codespaces/secrets/{secret_name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/codespaces#remove-selected-repository-from-an-organization-secret + */ + "DELETE /organizations/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}": Operation<"/organizations/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}", "delete">; /** * @see https://docs.github.com/rest/reference/actions#disable-a-selected-repository-for-github-actions-in-an-organization */ @@ -162,9 +170,9 @@ export interface Endpoints { */ "DELETE /orgs/{org}/blocks/{username}": Operation<"/orgs/{org}/blocks/{username}", "delete">; /** - * @see https://docs.github.com/rest/reference/orgs#remove-a-saml-sso-authorization-for-an-organization + * @see https://docs.github.com/rest/reference/orgs#delete-a-custom-role */ - "DELETE /orgs/{org}/credential-authorizations/{credential_id}": Operation<"/orgs/{org}/credential-authorizations/{credential_id}", "delete">; + "DELETE /orgs/{org}/custom_roles/{role_id}": Operation<"/orgs/{org}/custom_roles/{role_id}", "delete">; /** * @see https://docs.github.com/rest/reference/dependabot#delete-an-organization-secret */ @@ -245,10 +253,6 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/reactions#delete-team-discussion-reaction */ "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}", "delete">; - /** - * @see https://docs.github.com/rest/reference/teams#unlink-external-idp-group-team-connection - */ - "DELETE /orgs/{org}/teams/{team_slug}/external-groups": Operation<"/orgs/{org}/teams/{team_slug}/external-groups", "delete">; /** * @see https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user */ @@ -517,18 +521,6 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/actions#delete-an-environment-secret */ "DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}": Operation<"/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", "delete">; - /** - * @see https://docs.github.com/rest/reference/enterprise-admin#delete-a-scim-group-from-an-enterprise - */ - "DELETE /scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}": Operation<"/scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}", "delete">; - /** - * @see https://docs.github.com/rest/reference/enterprise-admin#delete-a-scim-user-from-an-enterprise - */ - "DELETE /scim/v2/enterprises/{enterprise}/Users/{scim_user_id}": Operation<"/scim/v2/enterprises/{enterprise}/Users/{scim_user_id}", "delete">; - /** - * @see https://docs.github.com/rest/reference/scim#delete-a-scim-user-from-an-organization - */ - "DELETE /scim/v2/organizations/{org}/Users/{scim_user_id}": Operation<"/scim/v2/organizations/{org}/Users/{scim_user_id}", "delete">; /** * @see https://docs.github.com/rest/reference/teams/#delete-a-team-legacy */ @@ -617,6 +609,10 @@ export interface Endpoints { * @see https://docs.github.com/rest/collaborators/invitations#decline-a-repository-invitation */ "DELETE /user/repository_invitations/{invitation_id}": Operation<"/user/repository_invitations/{invitation_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/users#delete-a-ssh-signing-key-for-the-authenticated-user + */ + "DELETE /user/ssh_signing_keys/{ssh_signing_key_id}": Operation<"/user/ssh_signing_keys/{ssh_signing_key_id}", "delete">; /** * @see https://docs.github.com/rest/reference/activity#unstar-a-repository-for-the-authenticated-user */ @@ -729,42 +725,18 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/actions#list-labels-for-a-self-hosted-runner-for-an-enterprise */ "GET /enterprises/{enterprise}/actions/runners/{runner_id}/labels": Operation<"/enterprises/{enterprise}/actions/runners/{runner_id}/labels", "get">; - /** - * @see https://docs.github.com/rest/reference/enterprise-admin#get-the-audit-log-for-an-enterprise - */ - "GET /enterprises/{enterprise}/audit-log": Operation<"/enterprises/{enterprise}/audit-log", "get">; /** * @see https://docs.github.com/rest/reference/code-scanning#list-code-scanning-alerts-for-an-enterprise */ "GET /enterprises/{enterprise}/code-scanning/alerts": Operation<"/enterprises/{enterprise}/code-scanning/alerts", "get">; - /** - * @see https://docs.github.com/rest/reference/enterprise-admin#list-enterprise-consumed-licenses - */ - "GET /enterprises/{enterprise}/consumed-licenses": Operation<"/enterprises/{enterprise}/consumed-licenses", "get">; - /** - * @see https://docs.github.com/rest/reference/enterprise-admin#get-a-license-sync-status - */ - "GET /enterprises/{enterprise}/license-sync-status": Operation<"/enterprises/{enterprise}/license-sync-status", "get">; /** * @see https://docs.github.com/rest/reference/secret-scanning#list-secret-scanning-alerts-for-an-enterprise */ "GET /enterprises/{enterprise}/secret-scanning/alerts": Operation<"/enterprises/{enterprise}/secret-scanning/alerts", "get">; - /** - * @see https://docs.github.com/rest/reference/billing#get-github-actions-billing-for-an-enterprise - */ - "GET /enterprises/{enterprise}/settings/billing/actions": Operation<"/enterprises/{enterprise}/settings/billing/actions", "get">; /** * @see https://docs.github.com/rest/reference/billing#export-advanced-security-active-committers-data-for-enterprise */ "GET /enterprises/{enterprise}/settings/billing/advanced-security": Operation<"/enterprises/{enterprise}/settings/billing/advanced-security", "get">; - /** - * @see https://docs.github.com/rest/reference/billing#get-github-packages-billing-for-an-enterprise - */ - "GET /enterprises/{enterprise}/settings/billing/packages": Operation<"/enterprises/{enterprise}/settings/billing/packages", "get">; - /** - * @see https://docs.github.com/rest/reference/billing#get-shared-storage-billing-for-an-enterprise - */ - "GET /enterprises/{enterprise}/settings/billing/shared-storage": Operation<"/enterprises/{enterprise}/settings/billing/shared-storage", "get">; /** * @see https://docs.github.com/rest/reference/activity#list-public-events */ @@ -893,6 +865,22 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/orgs#list-custom-repository-roles-in-an-organization */ "GET /organizations/{organization_id}/custom_roles": Operation<"/organizations/{organization_id}/custom_roles", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-organization-secrets + */ + "GET /organizations/{org}/codespaces/secrets": Operation<"/organizations/{org}/codespaces/secrets", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#get-an-organization-public-key + */ + "GET /organizations/{org}/codespaces/secrets/public-key": Operation<"/organizations/{org}/codespaces/secrets/public-key", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#get-an-organization-secret + */ + "GET /organizations/{org}/codespaces/secrets/{secret_name}": Operation<"/organizations/{org}/codespaces/secrets/{secret_name}", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-selected-repositories-for-an-organization-secret + */ + "GET /organizations/{org}/codespaces/secrets/{secret_name}/repositories": Operation<"/organizations/{org}/codespaces/secrets/{secret_name}/repositories", "get">; /** * @see https://docs.github.com/rest/reference/codespaces#list-in-organization * @deprecated "org_id" is now "org" @@ -910,10 +898,6 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/actions#list-repositories-with-github-actions-cache-usage-for-an-organization */ "GET /orgs/{org}/actions/cache/usage-by-repository": Operation<"/orgs/{org}/actions/cache/usage-by-repository", "get">; - /** - * @see https://docs.github.com/rest/actions/oidc#get-the-customization-template-for-an-oidc-subject-claim-for-an-organization - */ - "GET /orgs/{org}/actions/oidc/customization/sub": Operation<"/orgs/{org}/actions/oidc/customization/sub", "get">; /** * @see https://docs.github.com/rest/reference/actions#get-github-actions-permissions-for-an-organization */ @@ -978,10 +962,6 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/actions#list-selected-repositories-for-an-organization-secret */ "GET /orgs/{org}/actions/secrets/{secret_name}/repositories": Operation<"/orgs/{org}/actions/secrets/{secret_name}/repositories", "get">; - /** - * @see https://docs.github.com/rest/reference/orgs#get-audit-log - */ - "GET /orgs/{org}/audit-log": Operation<"/orgs/{org}/audit-log", "get">; /** * @see https://docs.github.com/rest/reference/orgs#list-users-blocked-by-an-organization */ @@ -998,10 +978,6 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/codespaces#list-in-organization */ "GET /orgs/{org}/codespaces": Operation<"/orgs/{org}/codespaces", "get">; - /** - * @see https://docs.github.com/rest/reference/orgs#list-saml-sso-authorizations-for-an-organization - */ - "GET /orgs/{org}/credential-authorizations": Operation<"/orgs/{org}/credential-authorizations", "get">; /** * @see https://docs.github.com/rest/reference/dependabot#list-organization-secrets */ @@ -1022,18 +998,14 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/activity#list-public-organization-events */ "GET /orgs/{org}/events": Operation<"/orgs/{org}/events", "get">; - /** - * @see https://docs.github.com/rest/reference/teams#external-idp-group-info-for-an-organization - */ - "GET /orgs/{org}/external-group/{group_id}": Operation<"/orgs/{org}/external-group/{group_id}", "get">; - /** - * @see https://docs.github.com/rest/reference/teams#list-external-idp-groups-for-an-organization - */ - "GET /orgs/{org}/external-groups": Operation<"/orgs/{org}/external-groups", "get">; /** * @see https://docs.github.com/rest/reference/orgs#list-failed-organization-invitations */ "GET /orgs/{org}/failed_invitations": Operation<"/orgs/{org}/failed_invitations", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-fine-grained-permissions-for-an-organization + */ + "GET /orgs/{org}/fine_grained_permissions": Operation<"/orgs/{org}/fine_grained_permissions", "get">; /** * @see https://docs.github.com/rest/reference/orgs#list-organization-webhooks */ @@ -1119,7 +1091,7 @@ export interface Endpoints { */ "GET /orgs/{org}/packages/{package_type}/{package_name}": Operation<"/orgs/{org}/packages/{package_type}/{package_name}", "get">; /** - * @see https://docs.github.com/rest/reference/packages#get-all-package-versions-for-a-package-owned-by-an-organization + * @see https://docs.github.com/rest/packages#get-all-package-versions-for-a-package-owned-by-an-organization */ "GET /orgs/{org}/packages/{package_type}/{package_name}/versions": Operation<"/orgs/{org}/packages/{package_type}/{package_name}/versions", "get">; /** @@ -1166,10 +1138,6 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/billing#get-shared-storage-billing-for-an-organization */ "GET /orgs/{org}/settings/billing/shared-storage": Operation<"/orgs/{org}/settings/billing/shared-storage", "get">; - /** - * @see https://docs.github.com/rest/reference/teams#list-idp-groups-for-an-organization - */ - "GET /orgs/{org}/team-sync/groups": Operation<"/orgs/{org}/team-sync/groups", "get">; /** * @see https://docs.github.com/rest/reference/teams#list-teams */ @@ -1202,10 +1170,6 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion */ "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", "get">; - /** - * @see https://docs.github.com/rest/reference/teams#list-external-idp-group-team-connection - */ - "GET /orgs/{org}/teams/{team_slug}/external-groups": Operation<"/orgs/{org}/teams/{team_slug}/external-groups", "get">; /** * @see https://docs.github.com/rest/reference/teams#list-pending-team-invitations */ @@ -1234,10 +1198,6 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/teams/#check-team-permissions-for-a-repository */ "GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": Operation<"/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}", "get">; - /** - * @see https://docs.github.com/rest/reference/teams#list-idp-groups-for-a-team - */ - "GET /orgs/{org}/teams/{team_slug}/team-sync/group-mappings": Operation<"/orgs/{org}/teams/{team_slug}/team-sync/group-mappings", "get">; /** * @see https://docs.github.com/rest/reference/teams#list-child-teams */ @@ -1306,10 +1266,6 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/actions#download-job-logs-for-a-workflow-run */ "GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs": Operation<"/repos/{owner}/{repo}/actions/jobs/{job_id}/logs", "get">; - /** - * @see https://docs.github.com/rest/actions/oidc#get-the-opt-out-flag-of-an-oidc-subject-claim-customization-for-a-repository - */ - "GET /repos/{owner}/{repo}/actions/oidc/customization/sub": Operation<"/repos/{owner}/{repo}/actions/oidc/customization/sub", "get">; /** * @see https://docs.github.com/rest/reference/actions#get-github-actions-permissions-for-a-repository */ @@ -1519,6 +1475,14 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/code-scanning#get-a-code-scanning-analysis-for-a-repository */ "GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}": Operation<"/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/code-scanning#list-codeql-databases + */ + "GET /repos/{owner}/{repo}/code-scanning/codeql/databases": Operation<"/repos/{owner}/{repo}/code-scanning/codeql/databases", "get">; + /** + * @see https://docs.github.com/rest/reference/code-scanning#get-codeql-database + */ + "GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}": Operation<"/repos/{owner}/{repo}/code-scanning/codeql/databases/{language}", "get">; /** * @see https://docs.github.com/rest/reference/code-scanning#list-recent-code-scanning-analyses-for-a-repository */ @@ -1635,6 +1599,14 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/repos#list-repository-contributors */ "GET /repos/{owner}/{repo}/contributors": Operation<"/repos/{owner}/{repo}/contributors", "get">; + /** + * @see https://docs.github.com/rest/reference/dependabot#list-dependabot-alerts-for-a-repository + */ + "GET /repos/{owner}/{repo}/dependabot/alerts": Operation<"/repos/{owner}/{repo}/dependabot/alerts", "get">; + /** + * @see https://docs.github.com/rest/reference/dependabot#get-a-dependabot-alert + */ + "GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/dependabot/alerts/{alert_number}", "get">; /** * @see https://docs.github.com/rest/reference/dependabot#list-repository-secrets */ @@ -2063,30 +2035,6 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/actions#get-an-environment-secret */ "GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}": Operation<"/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", "get">; - /** - * @see https://docs.github.com/rest/reference/enterprise-admin#list-provisioned-scim-groups-for-an-enterprise - */ - "GET /scim/v2/enterprises/{enterprise}/Groups": Operation<"/scim/v2/enterprises/{enterprise}/Groups", "get">; - /** - * @see https://docs.github.com/rest/reference/enterprise-admin#get-scim-provisioning-information-for-an-enterprise-group - */ - "GET /scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}": Operation<"/scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}", "get">; - /** - * @see https://docs.github.com/rest/reference/enterprise-admin#list-scim-provisioned-identities-for-an-enterprise - */ - "GET /scim/v2/enterprises/{enterprise}/Users": Operation<"/scim/v2/enterprises/{enterprise}/Users", "get">; - /** - * @see https://docs.github.com/rest/reference/enterprise-admin#get-scim-provisioning-information-for-an-enterprise-user - */ - "GET /scim/v2/enterprises/{enterprise}/Users/{scim_user_id}": Operation<"/scim/v2/enterprises/{enterprise}/Users/{scim_user_id}", "get">; - /** - * @see https://docs.github.com/rest/reference/scim#list-scim-provisioned-identities - */ - "GET /scim/v2/organizations/{org}/Users": Operation<"/scim/v2/organizations/{org}/Users", "get">; - /** - * @see https://docs.github.com/rest/reference/scim#get-scim-provisioning-information-for-a-user - */ - "GET /scim/v2/organizations/{org}/Users/{scim_user_id}": Operation<"/scim/v2/organizations/{org}/Users/{scim_user_id}", "get">; /** * @see https://docs.github.com/rest/reference/search#search-code */ @@ -2175,10 +2123,6 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/teams/#check-team-permissions-for-a-repository-legacy */ "GET /teams/{team_id}/repos/{owner}/{repo}": Operation<"/teams/{team_id}/repos/{owner}/{repo}", "get">; - /** - * @see https://docs.github.com/rest/reference/teams#list-idp-groups-for-a-team-legacy - */ - "GET /teams/{team_id}/team-sync/group-mappings": Operation<"/teams/{team_id}/team-sync/group-mappings", "get">; /** * @see https://docs.github.com/rest/reference/teams/#list-child-teams-legacy */ @@ -2320,7 +2264,7 @@ export interface Endpoints { */ "GET /user/packages/{package_type}/{package_name}": Operation<"/user/packages/{package_type}/{package_name}", "get">; /** - * @see https://docs.github.com/rest/reference/packages#get-all-package-versions-for-a-package-owned-by-the-authenticated-user + * @see https://docs.github.com/rest/packages#get-all-package-versions-for-a-package-owned-by-the-authenticated-user */ "GET /user/packages/{package_type}/{package_name}/versions": Operation<"/user/packages/{package_type}/{package_name}/versions", "get">; /** @@ -2339,6 +2283,14 @@ export interface Endpoints { * @see https://docs.github.com/rest/collaborators/invitations#list-repository-invitations-for-the-authenticated-user */ "GET /user/repository_invitations": Operation<"/user/repository_invitations", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-public-ssh-signing-keys-for-the-authenticated-user + */ + "GET /user/ssh_signing_keys": Operation<"/user/ssh_signing_keys", "get">; + /** + * @see https://docs.github.com/rest/reference/users#get-a-ssh-signing-key-for-the-authenticated-user + */ + "GET /user/ssh_signing_keys/{ssh_signing_key_id}": Operation<"/user/ssh_signing_keys/{ssh_signing_key_id}", "get">; /** * @see https://docs.github.com/rest/reference/activity#list-repositories-starred-by-the-authenticated-user */ @@ -2420,7 +2372,7 @@ export interface Endpoints { */ "GET /users/{username}/packages/{package_type}/{package_name}": Operation<"/users/{username}/packages/{package_type}/{package_name}", "get">; /** - * @see https://docs.github.com/rest/reference/packages#get-all-package-versions-for-a-package-owned-by-a-user + * @see https://docs.github.com/rest/packages#get-all-package-versions-for-a-package-owned-by-a-user */ "GET /users/{username}/packages/{package_type}/{package_name}/versions": Operation<"/users/{username}/packages/{package_type}/{package_name}/versions", "get">; /** @@ -2455,6 +2407,10 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/billing#get-shared-storage-billing-for-a-user */ "GET /users/{username}/settings/billing/shared-storage": Operation<"/users/{username}/settings/billing/shared-storage", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-ssh-signing-keys-for-a-user + */ + "GET /users/{username}/ssh_signing_keys": Operation<"/users/{username}/ssh_signing_keys", "get">; /** * @see https://docs.github.com/rest/reference/activity#list-repositories-starred-by-a-user */ @@ -2499,6 +2455,10 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/actions#update-a-self-hosted-runner-group-for-an-organization */ "PATCH /orgs/{org}/actions/runner-groups/{runner_group_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/orgs#update-a-custom-role + */ + "PATCH /orgs/{org}/custom_roles/{role_id}": Operation<"/orgs/{org}/custom_roles/{role_id}", "patch">; /** * @see https://docs.github.com/rest/reference/orgs#update-an-organization-webhook */ @@ -2519,14 +2479,6 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/teams#update-a-discussion-comment */ "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}", "patch">; - /** - * @see https://docs.github.com/rest/reference/teams#link-external-idp-group-team-connection - */ - "PATCH /orgs/{org}/teams/{team_slug}/external-groups": Operation<"/orgs/{org}/teams/{team_slug}/external-groups", "patch">; - /** - * @see https://docs.github.com/rest/reference/teams#create-or-update-idp-group-connections - */ - "PATCH /orgs/{org}/teams/{team_slug}/team-sync/group-mappings": Operation<"/orgs/{org}/teams/{team_slug}/team-sync/group-mappings", "patch">; /** * @see https://docs.github.com/rest/reference/projects#update-a-project-card */ @@ -2567,6 +2519,10 @@ export interface Endpoints { * @see https://docs.github.com/rest/commits/comments#update-a-commit-comment */ "PATCH /repos/{owner}/{repo}/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/comments/{comment_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/dependabot#update-a-dependabot-alert + */ + "PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/dependabot/alerts/{alert_number}", "patch">; /** * @see https://docs.github.com/rest/reference/git#update-a-reference */ @@ -2631,18 +2587,6 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/secret-scanning#update-a-secret-scanning-alert */ "PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}", "patch">; - /** - * @see https://docs.github.com/rest/reference/enterprise-admin#update-an-attribute-for-a-scim-enterprise-group - */ - "PATCH /scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}": Operation<"/scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}", "patch">; - /** - * @see https://docs.github.com/rest/reference/enterprise-admin#update-an-attribute-for-a-scim-enterprise-user - */ - "PATCH /scim/v2/enterprises/{enterprise}/Users/{scim_user_id}": Operation<"/scim/v2/enterprises/{enterprise}/Users/{scim_user_id}", "patch">; - /** - * @see https://docs.github.com/rest/reference/scim#update-an-attribute-for-a-scim-user - */ - "PATCH /scim/v2/organizations/{org}/Users/{scim_user_id}": Operation<"/scim/v2/organizations/{org}/Users/{scim_user_id}", "patch">; /** * @see https://docs.github.com/rest/reference/teams/#update-a-team-legacy */ @@ -2655,10 +2599,6 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/teams#update-a-discussion-comment-legacy */ "PATCH /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}", "patch">; - /** - * @see https://docs.github.com/rest/reference/teams#create-or-update-idp-group-connections-legacy - */ - "PATCH /teams/{team_id}/team-sync/group-mappings": Operation<"/teams/{team_id}/team-sync/group-mappings", "patch">; /** * @see https://docs.github.com/rest/reference/users/#update-the-authenticated-user */ @@ -2751,6 +2691,10 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/actions#add-custom-labels-to-a-self-hosted-runner-for-an-organization */ "POST /orgs/{org}/actions/runners/{runner_id}/labels": Operation<"/orgs/{org}/actions/runners/{runner_id}/labels", "post">; + /** + * @see https://docs.github.com/rest/reference/orgs#create-a-custom-role + */ + "POST /orgs/{org}/custom_roles": Operation<"/orgs/{org}/custom_roles", "post">; /** * @see https://docs.github.com/rest/reference/orgs#create-an-organization-webhook */ @@ -2811,6 +2755,10 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/reactions#create-reaction-for-a-team-discussion */ "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", "post">; + /** + * @see https://docs.github.com/rest/reference/orgs#enable-or-disable-security-product-on-all-org-repos + */ + "POST /orgs/{org}/{security_product}/{enablement}": Operation<"/orgs/{org}/{security_product}/{enablement}", "post">; /** * @see https://docs.github.com/rest/reference/projects#move-a-project-card */ @@ -3111,18 +3059,6 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/repos#create-a-repository-using-a-template */ "POST /repos/{template_owner}/{template_repo}/generate": Operation<"/repos/{template_owner}/{template_repo}/generate", "post">; - /** - * @see https://docs.github.com/rest/reference/enterprise-admin#provision-a-scim-enterprise-group-and-invite-users - */ - "POST /scim/v2/enterprises/{enterprise}/Groups": Operation<"/scim/v2/enterprises/{enterprise}/Groups", "post">; - /** - * @see https://docs.github.com/rest/reference/enterprise-admin#provision-and-invite-a-scim-enterprise-user - */ - "POST /scim/v2/enterprises/{enterprise}/Users": Operation<"/scim/v2/enterprises/{enterprise}/Users", "post">; - /** - * @see https://docs.github.com/rest/reference/scim#provision-and-invite-a-scim-user - */ - "POST /scim/v2/organizations/{org}/Users": Operation<"/scim/v2/organizations/{org}/Users", "post">; /** * @see https://docs.github.com/rest/reference/teams#create-a-discussion-legacy */ @@ -3187,6 +3123,10 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/repos#create-a-repository-for-the-authenticated-user */ "POST /user/repos": Operation<"/user/repos", "post">; + /** + * @see https://docs.github.com/rest/reference/users#create-an-ssh-signing-key-for-the-authenticated-user + */ + "POST /user/ssh_signing_keys": Operation<"/user/ssh_signing_keys", "post">; /** * @see https://docs.github.com/rest/reference/packages#restore-a-package-for-a-user */ @@ -3203,10 +3143,6 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/apps#suspend-an-app-installation */ "PUT /app/installations/{installation_id}/suspended": Operation<"/app/installations/{installation_id}/suspended", "put">; - /** - * @see https://docs.github.com/rest/reference/actions/oidc#set-actions-oidc-custom-issuer-policy-for-enterprise - */ - "PUT /enterprises/{enterprise}/actions/oidc/customization/issuer": Operation<"/enterprises/{enterprise}/actions/oidc/customization/issuer", "put">; /** * @see https://docs.github.com/rest/reference/actions#set-github-actions-permissions-for-an-enterprise */ @@ -3260,9 +3196,17 @@ export interface Endpoints { */ "PUT /notifications/threads/{thread_id}/subscription": Operation<"/notifications/threads/{thread_id}/subscription", "put">; /** - * @see https://docs.github.com/rest/actions/oidc#set-the-customization-template-for-an-oidc-subject-claim-for-an-organization + * @see https://docs.github.com/rest/reference/codespaces#create-or-update-an-organization-secret + */ + "PUT /organizations/{org}/codespaces/secrets/{secret_name}": Operation<"/organizations/{org}/codespaces/secrets/{secret_name}", "put">; + /** + * @see https://docs.github.com/rest/reference/codespaces#set-selected-repositories-for-an-organization-secret + */ + "PUT /organizations/{org}/codespaces/secrets/{secret_name}/repositories": Operation<"/organizations/{org}/codespaces/secrets/{secret_name}/repositories", "put">; + /** + * @see https://docs.github.com/rest/reference/codespaces#add-selected-repository-to-an-organization-secret */ - "PUT /orgs/{org}/actions/oidc/customization/sub": Operation<"/orgs/{org}/actions/oidc/customization/sub", "put">; + "PUT /organizations/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}": Operation<"/organizations/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}", "put">; /** * @see https://docs.github.com/rest/reference/actions#set-github-actions-permissions-for-an-organization */ @@ -3287,10 +3231,6 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/actions#set-repository-access-to-a-self-hosted-runner-group-in-an-organization */ "PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories", "put">; - /** - * @see https://docs.github.com/rest/reference/actions#add-repository-acess-to-a-self-hosted-runner-group-in-an-organization - */ - "PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}", "put">; /** * @see https://docs.github.com/rest/reference/actions#set-self-hosted-runners-in-a-group-for-an-organization */ @@ -3367,10 +3307,6 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/projects#add-project-collaborator */ "PUT /projects/{project_id}/collaborators/{username}": Operation<"/projects/{project_id}/collaborators/{username}", "put">; - /** - * @see https://docs.github.com/rest/actions/oidc#set-the-opt-out-flag-of-an-oidc-subject-claim-customization-for-a-repository - */ - "PUT /repos/{owner}/{repo}/actions/oidc/customization/sub": Operation<"/repos/{owner}/{repo}/actions/oidc/customization/sub", "put">; /** * @see https://docs.github.com/rest/reference/actions#set-github-actions-permissions-for-a-repository */ @@ -3511,18 +3447,6 @@ export interface Endpoints { * @see https://docs.github.com/rest/reference/actions#create-or-update-an-environment-secret */ "PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}": Operation<"/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", "put">; - /** - * @see https://docs.github.com/rest/reference/enterprise-admin#set-scim-information-for-a-provisioned-enterprise-group - */ - "PUT /scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}": Operation<"/scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}", "put">; - /** - * @see https://docs.github.com/rest/reference/enterprise-admin#set-scim-information-for-a-provisioned-enterprise-user - */ - "PUT /scim/v2/enterprises/{enterprise}/Users/{scim_user_id}": Operation<"/scim/v2/enterprises/{enterprise}/Users/{scim_user_id}", "put">; - /** - * @see https://docs.github.com/rest/reference/scim#set-scim-information-for-a-provisioned-user - */ - "PUT /scim/v2/organizations/{org}/Users/{scim_user_id}": Operation<"/scim/v2/organizations/{org}/Users/{scim_user_id}", "put">; /** * @see https://docs.github.com/rest/reference/teams#add-team-member-legacy */ diff --git a/node_modules/@octokit/types/dist-web/index.js b/node_modules/@octokit/types/dist-web/index.js index c5c5050ff3..df0c1eca08 100644 --- a/node_modules/@octokit/types/dist-web/index.js +++ b/node_modules/@octokit/types/dist-web/index.js @@ -1,4 +1,4 @@ -const VERSION = "7.1.1"; +const VERSION = "8.0.0"; export { VERSION }; //# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/types/package.json b/node_modules/@octokit/types/package.json index b89f7aad01..cd647abf7a 100644 --- a/node_modules/@octokit/types/package.json +++ b/node_modules/@octokit/types/package.json @@ -1,7 +1,7 @@ { "name": "@octokit/types", "description": "Shared TypeScript definitions for Octokit projects", - "version": "7.1.1", + "version": "8.0.0", "license": "MIT", "files": [ "dist-*/", @@ -10,7 +10,7 @@ "source": "dist-src/index.js", "types": "dist-types/index.d.ts", "octokit": { - "openapi-version": "7.5.0" + "openapi-version": "8.0.1" }, "main": "dist-node/index.js", "module": "dist-web/index.js", @@ -25,7 +25,7 @@ ], "repository": "github:octokit/types.ts", "dependencies": { - "@octokit/openapi-types": "^13.4.0" + "@octokit/openapi-types": "^14.0.0" }, "devDependencies": { "@pika/pack": "^0.3.7", @@ -33,7 +33,7 @@ "@pika/plugin-build-web": "^0.9.0", "@pika/plugin-ts-standard-pkg": "^0.9.0", "@types/node": ">= 8", - "github-openapi-graphql-query": "^2.0.0", + "github-openapi-graphql-query": "^3.0.0", "handlebars": "^4.7.6", "json-schema-to-typescript": "^11.0.0", "lodash.set": "^4.3.2", diff --git a/package-lock.json b/package-lock.json index 57d5f5744b..c05a8d307f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,24 +1,24 @@ { "name": "codeql", - "version": "1.1.27", + "version": "1.1.28", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "codeql", - "version": "1.1.27", + "version": "1.1.28", "license": "MIT", "dependencies": { - "@actions/artifact": "^1.0.0", - "@actions/cache": "^3.0.0", - "@actions/core": "^1.9.1", - "@actions/exec": "^1.1.0", + "@actions/artifact": "^1.1.0", + "@actions/cache": "^3.0.5", + "@actions/core": "^1.10.0", + "@actions/exec": "^1.1.1", "@actions/github": "^4.0.0", - "@actions/io": "^1.1.0", - "@actions/tool-cache": "^2.0.0", + "@actions/io": "^1.1.2", + "@actions/tool-cache": "^2.0.1", "@chrisgavin/safe-which": "^1.0.2", "@octokit/plugin-retry": "^3.0.9", - "@octokit/types": "^7.1.1", + "@octokit/types": "^8.0.0", "adm-zip": "^0.5.9", "commander": "^8.1.0", "console-log-level": "^1.4.1", @@ -62,30 +62,22 @@ } }, "node_modules/@actions/artifact": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@actions/artifact/-/artifact-1.0.0.tgz", - "integrity": "sha512-oje+cCiM2maVwoiN+LT9kh2C6UqiTcS1tDKins+nRfckX+C8JJD2kAmzpD5fn/p5Dibjrqk1mtwreAzgNxHrDg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@actions/artifact/-/artifact-1.1.0.tgz", + "integrity": "sha512-shO+w/BAnzRnFhfsgUao8sxjByAMqDdfvek2LLKeCueBKXoTrAcp7U/hs9Fdx+z9g7Q0mbIrmHAzAAww4HK1bQ==", "dependencies": { "@actions/core": "^1.2.6", - "@actions/http-client": "^1.0.11", + "@actions/http-client": "^2.0.1", "tmp": "^0.2.1", "tmp-promise": "^3.0.2" } }, - "node_modules/@actions/artifact/node_modules/@actions/http-client": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.11.tgz", - "integrity": "sha512-VRYHGQV1rqnROJqdMvGUbY/Kn8vriQe/F9HR2AlYHzmKuM/p3kjNuXhmdBfcVgsvRWTz5C5XW5xvndZrVBuAYg==", - "dependencies": { - "tunnel": "0.0.6" - } - }, "node_modules/@actions/cache": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@actions/cache/-/cache-3.0.0.tgz", - "integrity": "sha512-GL9CT1Fnu+pqs8TTB621q8Xa8Cilw2n9MwvbgMedetH7L1q2n6jY61gzbwGbKgtVbp3gVJ12aNMi4osSGXx3KQ==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@actions/cache/-/cache-3.0.5.tgz", + "integrity": "sha512-0WpPmwnRPkn5k5ASmjoX8bY8NrZEPTwN+64nGYJmR/bHjEVgC8svdf5K956wi67tNJBGJky2+UfvNbUOtHmMHg==", "dependencies": { - "@actions/core": "^1.2.6", + "@actions/core": "^1.10.0", "@actions/exec": "^1.0.1", "@actions/glob": "^0.1.0", "@actions/http-client": "^2.0.1", @@ -114,9 +106,9 @@ } }, "node_modules/@actions/core": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.9.1.tgz", - "integrity": "sha512-5ad+U2YGrmmiw6du20AQW5XuWo7UKN2052FjSV7MX+Wfjf8sCqcsZe62NfgHys4QI4/Y+vQvLKYL8jWtA1ZBTA==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz", + "integrity": "sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==", "dependencies": { "@actions/http-client": "^2.0.1", "uuid": "^8.3.2" @@ -131,9 +123,9 @@ } }, "node_modules/@actions/exec": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.1.0.tgz", - "integrity": "sha512-LImpN9AY0J1R1mEYJjVJfSZWU4zYOlEcwSTgPve1rFQqK5AwrEs6uWW5Rv70gbDIQIAUwI86z6B+9mPK4w9Sbg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.1.1.tgz", + "integrity": "sha512-+sCcHHbVdk93a0XT19ECtO/gIXoxvdsgQLzb2fE2/5sIZmWQuluYyjPQtrtTHdU1YzTZ7bAPN4sITq2xi1679w==", "dependencies": { "@actions/io": "^1.0.1" } @@ -174,18 +166,18 @@ } }, "node_modules/@actions/io": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@actions/io/-/io-1.1.1.tgz", - "integrity": "sha512-Qi4JoKXjmE0O67wAOH6y0n26QXhMKMFo7GD/4IXNVcrtLjUlGjGuVys6pQgwF3ArfGTQu0XpqaNr0YhED2RaRA==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@actions/io/-/io-1.1.2.tgz", + "integrity": "sha512-d+RwPlMp+2qmBfeLYPLXuSRykDIFEwdTA0MMxzS9kh4kvP1ftrc/9fzy6pX6qAjthdXruHQ6/6kjT/DNo5ALuw==" }, "node_modules/@actions/tool-cache": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@actions/tool-cache/-/tool-cache-2.0.0.tgz", - "integrity": "sha512-/5/R16ddC2hw48UO5T/d1gwzsyZjBTttGLV74xnLgfD/7nJKk17ArgCi3YXj3et/IAatMDEqaTM5kw5Hevgd5A==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@actions/tool-cache/-/tool-cache-2.0.1.tgz", + "integrity": "sha512-iPU+mNwrbA8jodY8eyo/0S/QqCKDajiR8OxWTnSk/SnYg0sj8Hp4QcUEVC1YFpHWXtrfbQrE13Jz4k4HXJQKcA==", "dependencies": { "@actions/core": "^1.2.6", "@actions/exec": "^1.0.0", - "@actions/http-client": "^2.0.0", + "@actions/http-client": "^2.0.1", "@actions/io": "^1.1.1", "semver": "^6.1.0", "uuid": "^3.3.2" @@ -660,9 +652,9 @@ } }, "node_modules/@octokit/openapi-types": { - "version": "13.4.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-13.4.0.tgz", - "integrity": "sha512-2mVzW0X1+HDO3jF80/+QFZNzJiTefELKbhMu6yaBYbp/1gSMkVDm4rT472gJljTokWUlXaaE63m7WrWENhMDLw==" + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-14.0.0.tgz", + "integrity": "sha512-HNWisMYlR8VCnNurDU6os2ikx0s0VyEjDYHNS/h4cgb8DeOxQ0n72HyinUtdDVxJhFy3FWLGl0DJhfEWk3P5Iw==" }, "node_modules/@octokit/plugin-paginate-rest": { "version": "2.4.0", @@ -760,11 +752,11 @@ } }, "node_modules/@octokit/types": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-7.1.1.tgz", - "integrity": "sha512-Dx6cNTORyVaKY0Yeb9MbHksk79L8GXsihbG6PtWqTpkyA2TY1qBWE26EQXVG3dHwY9Femdd/WEeRUEiD0+H3TQ==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-8.0.0.tgz", + "integrity": "sha512-65/TPpOJP1i3K4lBJMnWqPUJ6zuOtzhtagDvydAWbEXpbFYA0oMKKyLb95NFZZP0lSh/4b6K+DQlzvYQJQQePg==", "dependencies": { - "@octokit/openapi-types": "^13.4.0" + "@octokit/openapi-types": "^14.0.0" } }, "node_modules/@opentelemetry/api": { @@ -5958,32 +5950,22 @@ }, "dependencies": { "@actions/artifact": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@actions/artifact/-/artifact-1.0.0.tgz", - "integrity": "sha512-oje+cCiM2maVwoiN+LT9kh2C6UqiTcS1tDKins+nRfckX+C8JJD2kAmzpD5fn/p5Dibjrqk1mtwreAzgNxHrDg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@actions/artifact/-/artifact-1.1.0.tgz", + "integrity": "sha512-shO+w/BAnzRnFhfsgUao8sxjByAMqDdfvek2LLKeCueBKXoTrAcp7U/hs9Fdx+z9g7Q0mbIrmHAzAAww4HK1bQ==", "requires": { "@actions/core": "^1.2.6", - "@actions/http-client": "^1.0.11", + "@actions/http-client": "^2.0.1", "tmp": "^0.2.1", "tmp-promise": "^3.0.2" - }, - "dependencies": { - "@actions/http-client": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.11.tgz", - "integrity": "sha512-VRYHGQV1rqnROJqdMvGUbY/Kn8vriQe/F9HR2AlYHzmKuM/p3kjNuXhmdBfcVgsvRWTz5C5XW5xvndZrVBuAYg==", - "requires": { - "tunnel": "0.0.6" - } - } } }, "@actions/cache": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@actions/cache/-/cache-3.0.0.tgz", - "integrity": "sha512-GL9CT1Fnu+pqs8TTB621q8Xa8Cilw2n9MwvbgMedetH7L1q2n6jY61gzbwGbKgtVbp3gVJ12aNMi4osSGXx3KQ==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@actions/cache/-/cache-3.0.5.tgz", + "integrity": "sha512-0WpPmwnRPkn5k5ASmjoX8bY8NrZEPTwN+64nGYJmR/bHjEVgC8svdf5K956wi67tNJBGJky2+UfvNbUOtHmMHg==", "requires": { - "@actions/core": "^1.2.6", + "@actions/core": "^1.10.0", "@actions/exec": "^1.0.1", "@actions/glob": "^0.1.0", "@actions/http-client": "^2.0.1", @@ -6007,9 +5989,9 @@ } }, "@actions/core": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.9.1.tgz", - "integrity": "sha512-5ad+U2YGrmmiw6du20AQW5XuWo7UKN2052FjSV7MX+Wfjf8sCqcsZe62NfgHys4QI4/Y+vQvLKYL8jWtA1ZBTA==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz", + "integrity": "sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==", "requires": { "@actions/http-client": "^2.0.1", "uuid": "^8.3.2" @@ -6023,9 +6005,9 @@ } }, "@actions/exec": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.1.0.tgz", - "integrity": "sha512-LImpN9AY0J1R1mEYJjVJfSZWU4zYOlEcwSTgPve1rFQqK5AwrEs6uWW5Rv70gbDIQIAUwI86z6B+9mPK4w9Sbg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.1.1.tgz", + "integrity": "sha512-+sCcHHbVdk93a0XT19ECtO/gIXoxvdsgQLzb2fE2/5sIZmWQuluYyjPQtrtTHdU1YzTZ7bAPN4sITq2xi1679w==", "requires": { "@actions/io": "^1.0.1" } @@ -6068,18 +6050,18 @@ } }, "@actions/io": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@actions/io/-/io-1.1.1.tgz", - "integrity": "sha512-Qi4JoKXjmE0O67wAOH6y0n26QXhMKMFo7GD/4IXNVcrtLjUlGjGuVys6pQgwF3ArfGTQu0XpqaNr0YhED2RaRA==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@actions/io/-/io-1.1.2.tgz", + "integrity": "sha512-d+RwPlMp+2qmBfeLYPLXuSRykDIFEwdTA0MMxzS9kh4kvP1ftrc/9fzy6pX6qAjthdXruHQ6/6kjT/DNo5ALuw==" }, "@actions/tool-cache": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@actions/tool-cache/-/tool-cache-2.0.0.tgz", - "integrity": "sha512-/5/R16ddC2hw48UO5T/d1gwzsyZjBTttGLV74xnLgfD/7nJKk17ArgCi3YXj3et/IAatMDEqaTM5kw5Hevgd5A==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@actions/tool-cache/-/tool-cache-2.0.1.tgz", + "integrity": "sha512-iPU+mNwrbA8jodY8eyo/0S/QqCKDajiR8OxWTnSk/SnYg0sj8Hp4QcUEVC1YFpHWXtrfbQrE13Jz4k4HXJQKcA==", "requires": { "@actions/core": "^1.2.6", "@actions/exec": "^1.0.0", - "@actions/http-client": "^2.0.0", + "@actions/http-client": "^2.0.1", "@actions/io": "^1.1.1", "semver": "^6.1.0", "uuid": "^3.3.2" @@ -6501,9 +6483,9 @@ } }, "@octokit/openapi-types": { - "version": "13.4.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-13.4.0.tgz", - "integrity": "sha512-2mVzW0X1+HDO3jF80/+QFZNzJiTefELKbhMu6yaBYbp/1gSMkVDm4rT472gJljTokWUlXaaE63m7WrWENhMDLw==" + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-14.0.0.tgz", + "integrity": "sha512-HNWisMYlR8VCnNurDU6os2ikx0s0VyEjDYHNS/h4cgb8DeOxQ0n72HyinUtdDVxJhFy3FWLGl0DJhfEWk3P5Iw==" }, "@octokit/plugin-paginate-rest": { "version": "2.4.0", @@ -6608,11 +6590,11 @@ } }, "@octokit/types": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-7.1.1.tgz", - "integrity": "sha512-Dx6cNTORyVaKY0Yeb9MbHksk79L8GXsihbG6PtWqTpkyA2TY1qBWE26EQXVG3dHwY9Femdd/WEeRUEiD0+H3TQ==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-8.0.0.tgz", + "integrity": "sha512-65/TPpOJP1i3K4lBJMnWqPUJ6zuOtzhtagDvydAWbEXpbFYA0oMKKyLb95NFZZP0lSh/4b6K+DQlzvYQJQQePg==", "requires": { - "@octokit/openapi-types": "^13.4.0" + "@octokit/openapi-types": "^14.0.0" } }, "@opentelemetry/api": { diff --git a/package.json b/package.json index a068711c38..5b99a0c5f7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "codeql", - "version": "1.1.27", + "version": "1.1.28", "private": true, "description": "CodeQL action", "scripts": { @@ -21,16 +21,16 @@ }, "license": "MIT", "dependencies": { - "@actions/artifact": "^1.0.0", - "@actions/cache": "^3.0.0", - "@actions/core": "^1.9.1", - "@actions/exec": "^1.1.0", + "@actions/artifact": "^1.1.0", + "@actions/cache": "^3.0.5", + "@actions/core": "^1.10.0", + "@actions/exec": "^1.1.1", "@actions/github": "^4.0.0", - "@actions/io": "^1.1.0", - "@actions/tool-cache": "^2.0.0", + "@actions/io": "^1.1.2", + "@actions/tool-cache": "^2.0.1", "@chrisgavin/safe-which": "^1.0.2", "@octokit/plugin-retry": "^3.0.9", - "@octokit/types": "^7.1.1", + "@octokit/types": "^8.0.0", "adm-zip": "^0.5.9", "commander": "^8.1.0", "console-log-level": "^1.4.1", diff --git a/src/analyze-action.ts b/src/analyze-action.ts index f37694d058..7ca5a2bd5e 100644 --- a/src/analyze-action.ts +++ b/src/analyze-action.ts @@ -19,7 +19,7 @@ import { runAutobuild } from "./autobuild"; import { getCodeQL } from "./codeql"; import { Config, getConfig } from "./config-utils"; import { uploadDatabases } from "./database-upload"; -import { FeatureFlags, GitHubFeatureFlags } from "./feature-flags"; +import { FeatureEnablement, Features } from "./feature-flags"; import { Language } from "./languages"; import { getActionsLogger, Logger } from "./logging"; import { parseRepositoryNwo } from "./repository"; @@ -126,7 +126,7 @@ function doesGoExtractionOutputExist(config: Config): boolean { } /** - * When Go extraction reconciliation is enabled, either via the feature flag + * When Go extraction reconciliation is enabled, either via the feature * or an environment variable, we will attempt to autobuild Go to preserve * compatibility for users who have set up Go using a legacy scanning style * CodeQL workflow, i.e. one without an autobuild step or manual build @@ -140,13 +140,13 @@ function doesGoExtractionOutputExist(config: Config): boolean { */ async function runAutobuildIfLegacyGoWorkflow( config: Config, - featureFlags: FeatureFlags, + featureEnablement: FeatureEnablement, logger: Logger ) { if (!config.languages.includes(Language.go)) { return; } - if (!(await util.isGoExtractionReconciliationEnabled(featureFlags))) { + if (!(await util.isGoExtractionReconciliationEnabled(featureEnablement))) { logger.debug( "Won't run Go autobuild since Go extraction reconciliation is not enabled." ); @@ -228,14 +228,14 @@ async function run() { const gitHubVersion = await getGitHubVersionActionsOnly(); - const featureFlags = new GitHubFeatureFlags( + const features = new Features( gitHubVersion, apiDetails, repositoryNwo, logger ); - await runAutobuildIfLegacyGoWorkflow(config, featureFlags, logger); + await runAutobuildIfLegacyGoWorkflow(config, features, logger); dbCreationTimings = await runFinalize( outputDir, @@ -243,7 +243,7 @@ async function run() { memory, config, logger, - featureFlags + features ); if (actionsUtil.getRequiredInput("skip-queries") !== "true") { @@ -255,7 +255,7 @@ async function run() { actionsUtil.getOptionalInput("category"), config, logger, - featureFlags + features ); } diff --git a/src/analyze.test.ts b/src/analyze.test.ts index e5ab1cf3fe..33002c45dc 100644 --- a/src/analyze.test.ts +++ b/src/analyze.test.ts @@ -14,10 +14,9 @@ import { import { setCodeQL } from "./codeql"; import { Config } from "./config-utils"; import * as count from "./count-loc"; -import { createFeatureFlags } from "./feature-flags"; import { Language } from "./languages"; import { getRunnerLogger } from "./logging"; -import { setupTests, setupActionsVars } from "./testing-utils"; +import { setupTests, setupActionsVars, createFeatures } from "./testing-utils"; import * as util from "./util"; setupTests(test); @@ -140,7 +139,7 @@ test("status report fields and search path setting", async (t) => { undefined, config, getRunnerLogger(true), - createFeatureFlags([]) + createFeatures([]) ); const hasPacks = language in packs; const statusReportKeys = Object.keys(builtinStatusReport).sort(); @@ -190,7 +189,7 @@ test("status report fields and search path setting", async (t) => { undefined, config, getRunnerLogger(true), - createFeatureFlags([]) + createFeatures([]) ); t.deepEqual(Object.keys(customStatusReport).length, 2); t.true( diff --git a/src/analyze.ts b/src/analyze.ts index 34795c8e0a..7a4c049ddc 100644 --- a/src/analyze.ts +++ b/src/analyze.ts @@ -16,7 +16,7 @@ import { } from "./codeql"; import * as configUtils from "./config-utils"; import { countLoc } from "./count-loc"; -import { FeatureFlags } from "./feature-flags"; +import { FeatureEnablement } from "./feature-flags"; import { isScannedLanguage, Language } from "./languages"; import { Logger } from "./logging"; import * as sharedEnv from "./shared-environment"; @@ -122,7 +122,7 @@ export async function createdDBForScannedLanguages( codeql: CodeQL, config: configUtils.Config, logger: Logger, - featureFlags: FeatureFlags + featureEnablement: FeatureEnablement ) { // Insert the LGTM_INDEX_X env vars at this point so they are set when // we extract any scanned languages. @@ -132,7 +132,7 @@ export async function createdDBForScannedLanguages( if ( isScannedLanguage( language, - await util.isGoExtractionReconciliationEnabled(featureFlags), + await util.isGoExtractionReconciliationEnabled(featureEnablement), logger ) && !dbIsFinalized(config, language, logger) @@ -173,12 +173,12 @@ async function finalizeDatabaseCreation( threadsFlag: string, memoryFlag: string, logger: Logger, - featureFlags: FeatureFlags + featureEnablement: FeatureEnablement ): Promise { const codeql = await getCodeQL(config.codeQLCmd); const extractionStart = performance.now(); - await createdDBForScannedLanguages(codeql, config, logger, featureFlags); + await createdDBForScannedLanguages(codeql, config, logger, featureEnablement); const extractionTime = performance.now() - extractionStart; const trapImportStart = performance.now(); @@ -214,7 +214,7 @@ export async function runQueries( automationDetailsId: string | undefined, config: configUtils.Config, logger: Logger, - featureFlags: FeatureFlags + featureEnablement: FeatureEnablement ): Promise { const statusReport: QueriesStatusReport = {}; @@ -240,7 +240,7 @@ export async function runQueries( const codeql = await getCodeQL(config.codeQLCmd); - await util.logCodeScanningConfigInCli(codeql, featureFlags, logger); + await util.logCodeScanningConfigInCli(codeql, featureEnablement, logger); for (const language of config.languages) { const queries = config.queries[language]; @@ -260,7 +260,7 @@ export async function runQueries( } try { - if (await util.useCodeScanningConfigInCli(codeql, featureFlags)) { + if (await util.useCodeScanningConfigInCli(codeql, featureEnablement)) { // If we are using the codescanning config in the CLI, // much of the work needed to generate the query suites // is done in the CLI. We just need to make a single @@ -500,7 +500,7 @@ export async function runFinalize( memoryFlag: string, config: configUtils.Config, logger: Logger, - featureFlags: FeatureFlags + featureEnablement: FeatureEnablement ): Promise { try { await del(outputDir, { force: true }); @@ -516,7 +516,7 @@ export async function runFinalize( threadsFlag, memoryFlag, logger, - featureFlags + featureEnablement ); const codeql = await getCodeQL(config.codeQLCmd); @@ -529,7 +529,7 @@ export async function runFinalize( // Delete variables as specified by the end-tracing script await endTracingForCluster( config, - await util.isGoExtractionReconciliationEnabled(featureFlags), + await util.isGoExtractionReconciliationEnabled(featureEnablement), logger ); } else { diff --git a/src/api-compatibility.json b/src/api-compatibility.json index 3143f0a15b..cb77fa450d 100644 --- a/src/api-compatibility.json +++ b/src/api-compatibility.json @@ -1 +1 @@ -{"maximumVersion": "3.7", "minimumVersion": "3.2"} +{"maximumVersion": "3.7", "minimumVersion": "3.3"} diff --git a/src/autobuild-action.ts b/src/autobuild-action.ts index 4778ab3ee0..43a2765231 100644 --- a/src/autobuild-action.ts +++ b/src/autobuild-action.ts @@ -11,7 +11,7 @@ import { import { getApiDetails, getGitHubVersionActionsOnly } from "./api-client"; import { determineAutobuildLanguages, runAutobuild } from "./autobuild"; import * as configUtils from "./config-utils"; -import { GitHubFeatureFlags } from "./feature-flags"; +import { Features } from "./feature-flags"; import { Language } from "./languages"; import { getActionsLogger } from "./logging"; import { parseRepositoryNwo } from "./repository"; @@ -76,7 +76,7 @@ async function run() { const gitHubVersion = await getGitHubVersionActionsOnly(); checkGitHubVersionInRange(gitHubVersion, logger, Mode.actions); - const featureFlags = new GitHubFeatureFlags( + const features = new Features( gitHubVersion, getApiDetails(), parseRepositoryNwo(getRequiredEnvParam("GITHUB_REPOSITORY")), @@ -90,7 +90,7 @@ async function run() { ); } - languages = await determineAutobuildLanguages(config, featureFlags, logger); + languages = await determineAutobuildLanguages(config, features, logger); if (languages !== undefined) { const workingDirectory = getOptionalInput("working-directory"); if (workingDirectory) { diff --git a/src/autobuild.ts b/src/autobuild.ts index e712952b5f..bf5baef887 100644 --- a/src/autobuild.ts +++ b/src/autobuild.ts @@ -1,17 +1,17 @@ import { getCodeQL } from "./codeql"; import * as configUtils from "./config-utils"; -import { FeatureFlags } from "./feature-flags"; +import { FeatureEnablement } from "./feature-flags"; import { Language, isTracedLanguage } from "./languages"; import { Logger } from "./logging"; import * as util from "./util"; export async function determineAutobuildLanguages( config: configUtils.Config, - featureFlags: FeatureFlags, + featureEnablement: FeatureEnablement, logger: Logger ): Promise { const isGoExtractionReconciliationEnabled = - await util.isGoExtractionReconciliationEnabled(featureFlags); + await util.isGoExtractionReconciliationEnabled(featureEnablement); // Attempt to find a language to autobuild // We want pick the dominant language in the repo from the ones we're able to build // The languages are sorted in order specified by user or by lines of code if we got diff --git a/src/codeql.test.ts b/src/codeql.test.ts index 6596098cbb..c9e4469c23 100644 --- a/src/codeql.test.ts +++ b/src/codeql.test.ts @@ -13,10 +13,10 @@ import { GitHubApiDetails } from "./api-client"; import * as codeql from "./codeql"; import { AugmentationProperties, Config } from "./config-utils"; import * as defaults from "./defaults.json"; -import { createFeatureFlags, FeatureFlag, FeatureFlags } from "./feature-flags"; +import { Feature, FeatureEnablement } from "./feature-flags"; import { Language } from "./languages"; import { getRunnerLogger } from "./logging"; -import { setupTests, setupActionsVars } from "./testing-utils"; +import { setupTests, setupActionsVars, createFeatures } from "./testing-utils"; import * as util from "./util"; import { Mode, initializeEnvironment } from "./util"; @@ -69,14 +69,14 @@ test.beforeEach(() => { async function mockApiAndSetupCodeQL({ apiDetails, - featureFlags, + featureEnablement, isPinned, tmpDir, toolsInput, version, }: { apiDetails?: GitHubApiDetails; - featureFlags?: FeatureFlags; + featureEnablement?: FeatureEnablement; isPinned?: boolean; tmpDir: string; toolsInput?: { input?: string }; @@ -109,7 +109,7 @@ async function mockApiAndSetupCodeQL({ apiDetails ?? sampleApiDetails, tmpDir, util.GitHubVariant.DOTCOM, - featureFlags ?? createFeatureFlags([]), + featureEnablement ?? createFeatures([]), getRunnerLogger(true), false ); @@ -172,7 +172,7 @@ test("don't download codeql bundle cache with pinned different version cached", sampleApiDetails, tmpDir, util.GitHubVariant.DOTCOM, - createFeatureFlags([]), + createFeatures([]), getRunnerLogger(true), false ); @@ -256,14 +256,14 @@ const TOOLCACHE_BYPASS_TEST_CASES: Array< ]; for (const [ - isFeatureFlagEnabled, + isFeatureEnabled, toolsInput, shouldToolcacheBeBypassed, ] of TOOLCACHE_BYPASS_TEST_CASES) { test(`download codeql bundle ${ shouldToolcacheBeBypassed ? "bypasses" : "does not bypass" - } toolcache when feature flag ${ - isFeatureFlagEnabled ? "enabled" : "disabled" + } toolcache when feature ${ + isFeatureEnabled ? "enabled" : "disabled" } and tools: ${toolsInput} passed`, async (t) => { await util.withTmpDir(async (tmpDir) => { setupActionsVars(tmpDir, tmpDir); @@ -280,8 +280,8 @@ for (const [ await mockApiAndSetupCodeQL({ version: defaults.bundleVersion, apiDetails: sampleApiDetails, - featureFlags: createFeatureFlags( - isFeatureFlagEnabled ? [FeatureFlag.BypassToolcacheEnabled] : [] + featureEnablement: createFeatures( + isFeatureEnabled ? [Feature.BypassToolcacheEnabled] : [] ), toolsInput: { input: toolsInput }, tmpDir, @@ -338,7 +338,7 @@ test("download codeql bundle from github ae endpoint", async (t) => { sampleGHAEApiDetails, tmpDir, util.GitHubVariant.GHAE, - createFeatureFlags([]), + createFeatures([]), getRunnerLogger(true), false ); @@ -484,7 +484,7 @@ test("databaseInitCluster() without injected codescanning config", async (t) => "", undefined, undefined, - createFeatureFlags([]), + createFeatures([]), getRunnerLogger(true) ); @@ -505,47 +505,41 @@ const injectedConfigMacro = test.macro({ configOverride: Partial, expectedConfig: any ) => { - const origCODEQL_PASS_CONFIG_TO_CLI = process.env.CODEQL_PASS_CONFIG_TO_CLI; - process.env["CODEQL_PASS_CONFIG_TO_CLI"] = "true"; - try { - await util.withTmpDir(async (tempDir) => { - const runnerConstructorStub = stubToolRunnerConstructor(); - const codeqlObject = await codeql.getCodeQLForTesting(); - sinon - .stub(codeqlObject, "getVersion") - .resolves(codeql.CODEQL_VERSION_CONFIG_FILES); - - const thisStubConfig: Config = { - ...stubConfig, - ...configOverride, - tempDir, - augmentationProperties, - }; - - await codeqlObject.databaseInitCluster( - thisStubConfig, - "", - undefined, - undefined, - createFeatureFlags([]), - getRunnerLogger(true) - ); - - const args = runnerConstructorStub.firstCall.args[1]; - // should have used an config file - const configArg = args.find((arg: string) => - arg.startsWith("--codescanning-config=") - ); - t.truthy(configArg, "Should have injected a codescanning config"); - const configFile = configArg.split("=")[1]; - const augmentedConfig = yaml.load(fs.readFileSync(configFile, "utf8")); - t.deepEqual(augmentedConfig, expectedConfig); - - await del(configFile, { force: true }); - }); - } finally { - process.env["CODEQL_PASS_CONFIG_TO_CLI"] = origCODEQL_PASS_CONFIG_TO_CLI; - } + await util.withTmpDir(async (tempDir) => { + const runnerConstructorStub = stubToolRunnerConstructor(); + const codeqlObject = await codeql.getCodeQLForTesting(); + sinon + .stub(codeqlObject, "getVersion") + .resolves(codeql.CODEQL_VERSION_CONFIG_FILES); + + const thisStubConfig: Config = { + ...stubConfig, + ...configOverride, + tempDir, + augmentationProperties, + }; + + await codeqlObject.databaseInitCluster( + thisStubConfig, + "", + undefined, + undefined, + createFeatures([Feature.CliConfigFileEnabled]), + getRunnerLogger(true) + ); + + const args = runnerConstructorStub.firstCall.args[1]; + // should have used an config file + const configArg = args.find((arg: string) => + arg.startsWith("--codescanning-config=") + ); + t.truthy(configArg, "Should have injected a codescanning config"); + const configFile = configArg.split("=")[1]; + const augmentedConfig = yaml.load(fs.readFileSync(configFile, "utf8")); + t.deepEqual(augmentedConfig, expectedConfig); + + await del(configFile, { force: true }); + }); }, title: (providedTitle = "") => @@ -837,7 +831,7 @@ test("does not use injected config", async (t: ExecutionContext) => { "", undefined, undefined, - createFeatureFlags([]), + createFeatures([]), getRunnerLogger(true) ); diff --git a/src/codeql.ts b/src/codeql.ts index 85127beba9..8ae382970c 100644 --- a/src/codeql.ts +++ b/src/codeql.ts @@ -15,7 +15,7 @@ import * as api from "./api-client"; import { Config } from "./config-utils"; import * as defaults from "./defaults.json"; // Referenced from codeql-action-sync-tool! import { errorMatchers } from "./error-matcher"; -import { FeatureFlag, FeatureFlags } from "./feature-flags"; +import { Feature, FeatureEnablement } from "./feature-flags"; import { isTracedLanguage, Language } from "./languages"; import { Logger } from "./logging"; import { toolrunnerErrorCatcher } from "./toolrunner-error-catcher"; @@ -91,7 +91,7 @@ export interface CodeQL { sourceRoot: string, processName: string | undefined, processLevel: number | undefined, - featureFlags: FeatureFlags, + featureEnablement: FeatureEnablement, logger: Logger ): Promise; /** @@ -247,7 +247,6 @@ const CODEQL_VERSION_GROUP_RULES = "2.5.5"; const CODEQL_VERSION_SARIF_GROUP = "2.5.3"; export const CODEQL_VERSION_COUNTS_LINES = "2.6.2"; const CODEQL_VERSION_CUSTOM_QUERY_HELP = "2.7.1"; -export const CODEQL_VERSION_ML_POWERED_QUERIES = "2.7.5"; const CODEQL_VERSION_LUA_TRACER_CONFIG = "2.10.0"; export const CODEQL_VERSION_CONFIG_FILES = "2.10.1"; const CODEQL_VERSION_LUA_TRACING_GO_WINDOWS_FIXED = "2.10.4"; @@ -417,7 +416,7 @@ async function getCodeQLBundleDownloadURL( * @param apiDetails * @param tempDir * @param variant - * @param featureFlags + * @param features * @param logger * @param checkVersion Whether to check that CodeQL CLI meets the minimum * version requirement. Must be set to true outside tests. @@ -428,7 +427,7 @@ export async function setupCodeQL( apiDetails: api.GitHubApiDetails, tempDir: string, variant: util.GitHubVariant, - featureFlags: FeatureFlags, + features: FeatureEnablement, logger: Logger, checkVersion: boolean ): Promise<{ codeql: CodeQL; toolsVersion: string }> { @@ -439,12 +438,12 @@ export async function setupCodeQL( codeqlURL === "latest" ? '"tools: latest" was requested' : // If the user hasn't requested a particular CodeQL version, then bypass - // the toolcache when the appropriate feature flag is enabled. This + // the toolcache when the appropriate feature is enabled. This // allows us to quickly rollback a broken bundle that has made its way // into the toolcache. codeqlURL === undefined && - (await featureFlags.getValue(FeatureFlag.BypassToolcacheEnabled)) - ? "a specific version of CodeQL was not requested and the bypass toolcache feature flag is enabled" + (await features.getValue(Feature.BypassToolcacheEnabled)) + ? "a specific version of CodeQL was not requested and the bypass toolcache feature is enabled" : undefined; const forceLatest = forceLatestReason !== undefined; if (forceLatest) { @@ -773,14 +772,14 @@ async function getCodeQLForCmd( sourceRoot: string, processName: string | undefined, processLevel: number | undefined, - featureFlags: FeatureFlags, + featureEnablement: FeatureEnablement, logger: Logger ) { const extraArgs = config.languages.map( (language) => `--language=${language}` ); const isGoExtractionReconciliationEnabled = - await util.isGoExtractionReconciliationEnabled(featureFlags); + await util.isGoExtractionReconciliationEnabled(featureEnablement); if ( config.languages.filter((l) => isTracedLanguage(l, isGoExtractionReconciliationEnabled, logger) @@ -823,7 +822,7 @@ async function getCodeQLForCmd( const configLocation = await generateCodescanningConfig( codeql, config, - featureFlags + featureEnablement ); if (configLocation) { extraArgs.push(`--codescanning-config=${configLocation}`); @@ -1275,9 +1274,9 @@ async function runTool(cmd: string, args: string[] = []) { async function generateCodescanningConfig( codeql: CodeQL, config: Config, - featureFlags: FeatureFlags + featureEnablement: FeatureEnablement ): Promise { - if (!(await util.useCodeScanningConfigInCli(codeql, featureFlags))) { + if (!(await util.useCodeScanningConfigInCli(codeql, featureEnablement))) { return; } const configLocation = path.resolve(config.tempDir, "user-config.yaml"); diff --git a/src/config-utils.test.ts b/src/config-utils.test.ts index 9486fcbf38..4ea37ea21a 100644 --- a/src/config-utils.test.ts +++ b/src/config-utils.test.ts @@ -9,10 +9,10 @@ import * as sinon from "sinon"; import * as api from "./api-client"; import { getCachedCodeQL, PackDownloadOutput, setCodeQL } from "./codeql"; import * as configUtils from "./config-utils"; -import { createFeatureFlags, FeatureFlag } from "./feature-flags"; +import { Feature } from "./feature-flags"; import { Language } from "./languages"; import { getRunnerLogger, Logger } from "./logging"; -import { setupTests } from "./testing-utils"; +import { setupTests, createFeatures } from "./testing-utils"; import * as util from "./util"; setupTests(test); @@ -102,7 +102,7 @@ test("load empty config", async (t) => { tmpDir, gitHubVersion, sampleApiDetails, - createFeatureFlags([]), + createFeatures([]), logger ); @@ -123,7 +123,7 @@ test("load empty config", async (t) => { tmpDir, gitHubVersion, sampleApiDetails, - createFeatureFlags([]), + createFeatures([]), logger ) ); @@ -173,7 +173,7 @@ test("loading config saves config", async (t) => { tmpDir, gitHubVersion, sampleApiDetails, - createFeatureFlags([]), + createFeatures([]), logger ); @@ -211,7 +211,7 @@ test("load input outside of workspace", async (t) => { tmpDir, gitHubVersion, sampleApiDetails, - createFeatureFlags([]), + createFeatures([]), getRunnerLogger(true) ); throw new Error("initConfig did not throw error"); @@ -251,7 +251,7 @@ test("load non-local input with invalid repo syntax", async (t) => { tmpDir, gitHubVersion, sampleApiDetails, - createFeatureFlags([]), + createFeatures([]), getRunnerLogger(true) ); throw new Error("initConfig did not throw error"); @@ -292,7 +292,7 @@ test("load non-existent input", async (t) => { tmpDir, gitHubVersion, sampleApiDetails, - createFeatureFlags([]), + createFeatures([]), getRunnerLogger(true) ); throw new Error("initConfig did not throw error"); @@ -399,7 +399,7 @@ test("load non-empty input", async (t) => { tmpDir, gitHubVersion, sampleApiDetails, - createFeatureFlags([]), + createFeatures([]), getRunnerLogger(true) ); @@ -470,7 +470,7 @@ test("Default queries are used", async (t) => { tmpDir, gitHubVersion, sampleApiDetails, - createFeatureFlags([]), + createFeatures([]), getRunnerLogger(true) ); @@ -549,7 +549,7 @@ test("Queries can be specified in config file", async (t) => { tmpDir, gitHubVersion, sampleApiDetails, - createFeatureFlags([]), + createFeatures([]), getRunnerLogger(true) ); @@ -627,7 +627,7 @@ test("Queries from config file can be overridden in workflow file", async (t) => tmpDir, gitHubVersion, sampleApiDetails, - createFeatureFlags([]), + createFeatures([]), getRunnerLogger(true) ); @@ -703,7 +703,7 @@ test("Queries in workflow file can be used in tandem with the 'disable default q tmpDir, gitHubVersion, sampleApiDetails, - createFeatureFlags([]), + createFeatures([]), getRunnerLogger(true) ); @@ -770,7 +770,7 @@ test("Multiple queries can be specified in workflow file, no config file require tmpDir, gitHubVersion, sampleApiDetails, - createFeatureFlags([]), + createFeatures([]), getRunnerLogger(true) ); @@ -858,7 +858,7 @@ test("Queries in workflow file can be added to the set of queries without overri tmpDir, gitHubVersion, sampleApiDetails, - createFeatureFlags([]), + createFeatures([]), getRunnerLogger(true) ); @@ -940,7 +940,7 @@ test("Invalid queries in workflow file handled correctly", async (t) => { tmpDir, gitHubVersion, sampleApiDetails, - createFeatureFlags([]), + createFeatures([]), getRunnerLogger(true) ); t.fail("initConfig did not throw error"); @@ -1012,7 +1012,7 @@ test("API client used when reading remote config", async (t) => { tmpDir, gitHubVersion, sampleApiDetails, - createFeatureFlags([]), + createFeatures([]), getRunnerLogger(true) ); t.assert(spyGetContents.called); @@ -1043,7 +1043,7 @@ test("Remote config handles the case where a directory is provided", async (t) = tmpDir, gitHubVersion, sampleApiDetails, - createFeatureFlags([]), + createFeatures([]), getRunnerLogger(true) ); throw new Error("initConfig did not throw error"); @@ -1082,7 +1082,7 @@ test("Invalid format of remote config handled correctly", async (t) => { tmpDir, gitHubVersion, sampleApiDetails, - createFeatureFlags([]), + createFeatures([]), getRunnerLogger(true) ); throw new Error("initConfig did not throw error"); @@ -1125,7 +1125,7 @@ test("No detected languages", async (t) => { tmpDir, gitHubVersion, sampleApiDetails, - createFeatureFlags([]), + createFeatures([]), getRunnerLogger(true) ); throw new Error("initConfig did not throw error"); @@ -1157,7 +1157,7 @@ test("Unknown languages", async (t) => { tmpDir, gitHubVersion, sampleApiDetails, - createFeatureFlags([]), + createFeatures([]), getRunnerLogger(true) ); throw new Error("initConfig did not throw error"); @@ -1214,7 +1214,7 @@ test("Config specifies packages", async (t) => { tmpDir, gitHubVersion, sampleApiDetails, - createFeatureFlags([]), + createFeatures([]), getRunnerLogger(true) ); t.deepEqual(packs as unknown, { @@ -1275,7 +1275,7 @@ test("Config specifies packages for multiple languages", async (t) => { tmpDir, gitHubVersion, sampleApiDetails, - createFeatureFlags([]), + createFeatures([]), getRunnerLogger(true) ); t.deepEqual(packs as unknown, { @@ -1347,7 +1347,7 @@ function doInvalidInputTest( tmpDir, gitHubVersion, sampleApiDetails, - createFeatureFlags([]), + createFeatures([]), getRunnerLogger(true) ); throw new Error("initConfig did not throw error"); @@ -1894,7 +1894,7 @@ const mlPoweredQueriesMacro = test.macro({ exec: async ( t: ExecutionContext, codeQLVersion: string, - isMlPoweredQueriesFlagEnabled: boolean, + isMlPoweredQueriesEnabled: boolean, packsInput: string | undefined, queriesInput: string | undefined, expectedVersionString: string | undefined @@ -1935,10 +1935,8 @@ const mlPoweredQueriesMacro = test.macro({ tmpDir, gitHubVersion, sampleApiDetails, - createFeatureFlags( - isMlPoweredQueriesFlagEnabled - ? [FeatureFlag.MlPoweredQueriesEnabled] - : [] + createFeatures( + isMlPoweredQueriesEnabled ? [Feature.MlPoweredQueriesEnabled] : [] ), getRunnerLogger(true) ); @@ -1956,7 +1954,7 @@ const mlPoweredQueriesMacro = test.macro({ title: ( _providedTitle: string | undefined, codeQLVersion: string, - isMlPoweredQueriesFlagEnabled: boolean, + isMlPoweredQueriesEnabled: boolean, packsInput: string | undefined, queriesInput: string | undefined, expectedVersionString: string | undefined @@ -1965,22 +1963,13 @@ const mlPoweredQueriesMacro = test.macro({ expectedVersionString !== undefined ? `${expectedVersionString} are` : "aren't" - } loaded for packs: ${packsInput}, queries: ${queriesInput} using CLI v${codeQLVersion} when feature flag is ${ - isMlPoweredQueriesFlagEnabled ? "enabled" : "disabled" + } loaded for packs: ${packsInput}, queries: ${queriesInput} using CLI v${codeQLVersion} when feature is ${ + isMlPoweredQueriesEnabled ? "enabled" : "disabled" }`, }); -// macro, codeQLVersion, isMlPoweredQueriesFlagEnabled, packsInput, queriesInput, expectedVersionString -// Test that ML-powered queries aren't run on v2.7.4 of the CLI. -test( - mlPoweredQueriesMacro, - "2.7.4", - true, - undefined, - "security-extended", - undefined -); -// Test that ML-powered queries aren't run when the feature flag is off. +// macro, codeQLVersion, isMlPoweredQueriesEnabled, packsInput, queriesInput, expectedVersionString +// Test that ML-powered queries aren't run when the feature is off. test( mlPoweredQueriesMacro, "2.7.5", diff --git a/src/config-utils.ts b/src/config-utils.ts index 6d866f6669..ed6f298cb8 100644 --- a/src/config-utils.ts +++ b/src/config-utils.ts @@ -10,12 +10,11 @@ import * as api from "./api-client"; import { CodeQL, CODEQL_VERSION_GHES_PACK_DOWNLOAD, - CODEQL_VERSION_ML_POWERED_QUERIES, CODEQL_VERSION_ML_POWERED_QUERIES_WINDOWS, ResolveQueriesOutput, } from "./codeql"; import * as externalQueries from "./external-queries"; -import { FeatureFlag, FeatureFlags } from "./feature-flags"; +import { Feature, FeatureEnablement } from "./feature-flags"; import { Language, parseLanguage } from "./languages"; import { Logger } from "./logging"; import { RepositoryNwo } from "./repository"; @@ -390,7 +389,7 @@ async function addBuiltinSuiteQueries( resultMap: Queries, packs: Packs, suiteName: string, - featureFlags: FeatureFlags, + featureEnablement: FeatureEnablement, configFile?: string ): Promise { let injectedMlQueries = false; @@ -412,8 +411,7 @@ async function addBuiltinSuiteQueries( languages.includes("javascript") && (found === "security-extended" || found === "security-and-quality") && !packs.javascript?.some(isMlPoweredJsQueriesPack) && - (await featureFlags.getValue(FeatureFlag.MlPoweredQueriesEnabled)) && - (await codeQlVersionAbove(codeQL, CODEQL_VERSION_ML_POWERED_QUERIES)) + (await featureEnablement.getValue(Feature.MlPoweredQueriesEnabled, codeQL)) ) { if (!packs.javascript) { packs.javascript = []; @@ -545,7 +543,7 @@ async function parseQueryUses( tempDir: string, workspacePath: string, apiDetails: api.GitHubApiExternalRepoDetails, - featureFlags: FeatureFlags, + featureEnablement: FeatureEnablement, logger: Logger, configFile?: string ): Promise { @@ -574,7 +572,7 @@ async function parseQueryUses( resultMap, packs, queryUses, - featureFlags, + featureEnablement, configFile ); } @@ -950,7 +948,7 @@ async function addQueriesAndPacksFromWorkflow( tempDir: string, workspacePath: string, apiDetails: api.GitHubApiExternalRepoDetails, - featureFlags: FeatureFlags, + featureEnablement: FeatureEnablement, logger: Logger ): Promise { let injectedMlQueries = false; @@ -968,7 +966,7 @@ async function addQueriesAndPacksFromWorkflow( tempDir, workspacePath, apiDetails, - featureFlags, + featureEnablement, logger ); injectedMlQueries = injectedMlQueries || didInject; @@ -1007,7 +1005,7 @@ export async function getDefaultConfig( workspacePath: string, gitHubVersion: GitHubVersion, apiDetails: api.GitHubApiCombinedDetails, - featureFlags: FeatureFlags, + featureEnablement: FeatureEnablement, logger: Logger ): Promise { const languages = await getLanguages( @@ -1046,7 +1044,7 @@ export async function getDefaultConfig( tempDir, workspacePath, apiDetails, - featureFlags, + featureEnablement, logger ); } @@ -1116,7 +1114,7 @@ async function loadConfig( workspacePath: string, gitHubVersion: GitHubVersion, apiDetails: api.GitHubApiCombinedDetails, - featureFlags: FeatureFlags, + featureEnablement: FeatureEnablement, logger: Logger ): Promise { let parsedYAML: UserConfig; @@ -1197,7 +1195,7 @@ async function loadConfig( tempDir, workspacePath, apiDetails, - featureFlags, + featureEnablement, logger ); } @@ -1222,7 +1220,7 @@ async function loadConfig( tempDir, workspacePath, apiDetails, - featureFlags, + featureEnablement, logger, configFile ); @@ -1640,7 +1638,7 @@ export async function initConfig( workspacePath: string, gitHubVersion: GitHubVersion, apiDetails: api.GitHubApiCombinedDetails, - featureFlags: FeatureFlags, + featureEnablement: FeatureEnablement, logger: Logger ): Promise { let config: Config; @@ -1663,7 +1661,7 @@ export async function initConfig( workspacePath, gitHubVersion, apiDetails, - featureFlags, + featureEnablement, logger ); } else { @@ -1683,7 +1681,7 @@ export async function initConfig( workspacePath, gitHubVersion, apiDetails, - featureFlags, + featureEnablement, logger ); } @@ -1705,9 +1703,9 @@ export async function initConfig( // When using the codescanning config in the CLI, pack downloads // happen in the CLI during the `database init` command, so no need // to download them here. - await logCodeScanningConfigInCli(codeQL, featureFlags, logger); + await logCodeScanningConfigInCli(codeQL, featureEnablement, logger); - if (!(await useCodeScanningConfigInCli(codeQL, featureFlags))) { + if (!(await useCodeScanningConfigInCli(codeQL, featureEnablement))) { const registries = parseRegistries(registriesInput); await downloadPacks( codeQL, diff --git a/src/defaults.json b/src/defaults.json index 629627f7c5..adfc39ae44 100644 --- a/src/defaults.json +++ b/src/defaults.json @@ -1,3 +1,3 @@ { - "bundleVersion": "codeql-bundle-20220923" + "bundleVersion": "codeql-bundle-20221010" } diff --git a/src/feature-flags.test.ts b/src/feature-flags.test.ts index 83857d44f8..9a9f163c03 100644 --- a/src/feature-flags.test.ts +++ b/src/feature-flags.test.ts @@ -1,12 +1,18 @@ import test from "ava"; import { GitHubApiDetails } from "./api-client"; -import { FeatureFlag, GitHubFeatureFlags } from "./feature-flags"; +import { + Feature, + featureConfig, + FeatureEnablement, + Features, +} from "./feature-flags"; import { getRunnerLogger } from "./logging"; import { parseRepositoryNwo } from "./repository"; import { getRecordingLogger, LoggedMessage, + mockCodeQLVersion, mockFeatureFlagApiEndpoint, setupActionsVars, setupTests, @@ -28,7 +34,7 @@ const testApiDetails: GitHubApiDetails = { const testRepositoryNwo = parseRepositoryNwo("github/example"); -const ALL_FEATURE_FLAGS_DISABLED_VARIANTS: Array<{ +const ALL_FEATURES_DISABLED_VARIANTS: Array<{ description: string; gitHubVersion: util.GitHubVersion; }> = [ @@ -39,21 +45,23 @@ const ALL_FEATURE_FLAGS_DISABLED_VARIANTS: Array<{ { description: "GHAE", gitHubVersion: { type: GitHubVariant.GHAE } }, ]; -for (const variant of ALL_FEATURE_FLAGS_DISABLED_VARIANTS) { - test(`All feature flags are disabled if running against ${variant.description}`, async (t) => { +for (const variant of ALL_FEATURES_DISABLED_VARIANTS) { + test(`All features are disabled if running against ${variant.description}`, async (t) => { await withTmpDir(async (tmpDir) => { - setupActionsVars(tmpDir, tmpDir); - const loggedMessages = []; - const featureFlags = new GitHubFeatureFlags( - variant.gitHubVersion, - testApiDetails, - testRepositoryNwo, - getRecordingLogger(loggedMessages) + const featureEnablement = setUpTests( + tmpDir, + getRecordingLogger(loggedMessages), + variant.gitHubVersion ); - for (const flag of Object.values(FeatureFlag)) { - t.assert((await featureFlags.getValue(flag)) === false); + for (const feature of Object.values(Feature)) { + t.false( + await featureEnablement.getValue( + feature, + includeCodeQlIfRequired(feature) + ) + ); } t.assert( @@ -61,7 +69,7 @@ for (const variant of ALL_FEATURE_FLAGS_DISABLED_VARIANTS) { (v: LoggedMessage) => v.type === "debug" && v.message === - "Not running against github.com. Disabling all feature flags." + "Not running against github.com. Disabling all toggleable features." ) !== undefined ); }); @@ -70,117 +78,252 @@ for (const variant of ALL_FEATURE_FLAGS_DISABLED_VARIANTS) { test("API response missing", async (t) => { await withTmpDir(async (tmpDir) => { - setupActionsVars(tmpDir, tmpDir); - - const loggedMessages = []; - const featureFlags = new GitHubFeatureFlags( - { type: GitHubVariant.DOTCOM }, - testApiDetails, - testRepositoryNwo, + const loggedMessages: LoggedMessage[] = []; + const featureEnablement = setUpTests( + tmpDir, getRecordingLogger(loggedMessages) ); mockFeatureFlagApiEndpoint(403, {}); - for (const flag of Object.values(FeatureFlag)) { - t.assert((await featureFlags.getValue(flag)) === false); - } - - for (const featureFlag of ["ml_powered_queries_enabled"]) { + for (const feature of Object.values(Feature)) { t.assert( - loggedMessages.find( - (v: LoggedMessage) => - v.type === "debug" && - v.message === - `No feature flags API response for ${featureFlag}, considering it disabled.` - ) !== undefined + (await featureEnablement.getValue( + feature, + includeCodeQlIfRequired(feature) + )) === false ); } + assertAllFeaturesUndefinedInApi(t, loggedMessages); }); }); -test("Feature flags are disabled if they're not returned in API response", async (t) => { +test("Features are disabled if they're not returned in API response", async (t) => { await withTmpDir(async (tmpDir) => { - setupActionsVars(tmpDir, tmpDir); - - const loggedMessages = []; - const featureFlags = new GitHubFeatureFlags( - { type: GitHubVariant.DOTCOM }, - testApiDetails, - testRepositoryNwo, + const loggedMessages: LoggedMessage[] = []; + const featureEnablement = setUpTests( + tmpDir, getRecordingLogger(loggedMessages) ); mockFeatureFlagApiEndpoint(200, {}); - for (const flag of Object.values(FeatureFlag)) { - t.assert((await featureFlags.getValue(flag)) === false); - } - - for (const featureFlag of ["ml_powered_queries_enabled"]) { + for (const feature of Object.values(Feature)) { t.assert( - loggedMessages.find( - (v: LoggedMessage) => - v.type === "debug" && - v.message === - `Feature flag '${featureFlag}' undefined in API response, considering it disabled.` - ) !== undefined + (await featureEnablement.getValue( + feature, + includeCodeQlIfRequired(feature) + )) === false ); } + + assertAllFeaturesUndefinedInApi(t, loggedMessages); }); }); test("Feature flags exception is propagated if the API request errors", async (t) => { await withTmpDir(async (tmpDir) => { - setupActionsVars(tmpDir, tmpDir); - - const featureFlags = new GitHubFeatureFlags( - { type: GitHubVariant.DOTCOM }, - testApiDetails, - testRepositoryNwo, - getRunnerLogger(true) - ); + const featureEnablement = setUpTests(tmpDir); mockFeatureFlagApiEndpoint(500, {}); await t.throwsAsync( - async () => featureFlags.getValue(FeatureFlag.MlPoweredQueriesEnabled), + async () => + featureEnablement.getValue( + Feature.MlPoweredQueriesEnabled, + includeCodeQlIfRequired(Feature.MlPoweredQueriesEnabled) + ), { message: - "Encountered an error while trying to load feature flags: Error: some error message", + "Encountered an error while trying to determine feature enablement: Error: some error message", } ); }); }); -const FEATURE_FLAGS = ["ml_powered_queries_enabled"]; +for (const feature of Object.keys(featureConfig)) { + test(`Only feature '${feature}' is enabled if enabled in the API response. Other features disabled`, async (t) => { + await withTmpDir(async (tmpDir) => { + const featureEnablement = setUpTests(tmpDir); + + // set all features to false except the one we're testing + const expectedFeatureEnablement: { [feature: string]: boolean } = {}; + for (const f of Object.keys(featureConfig)) { + expectedFeatureEnablement[f] = f === feature; + } + mockFeatureFlagApiEndpoint(200, expectedFeatureEnablement); + + // retrieve the values of the actual features + const actualFeatureEnablement: { [feature: string]: boolean } = {}; + for (const f of Object.keys(featureConfig)) { + actualFeatureEnablement[f] = await featureEnablement.getValue( + f as Feature, + includeCodeQlIfRequired(f) + ); + } -for (const featureFlag of FEATURE_FLAGS) { - test(`Feature flag '${featureFlag}' is enabled if enabled in the API response`, async (t) => { + // All features should be false except the one we're testing + t.deepEqual(actualFeatureEnablement, expectedFeatureEnablement); + }); + }); + + test(`Only feature '${feature}' is enabled if the associated environment variable is true. Others disabled.`, async (t) => { await withTmpDir(async (tmpDir) => { - setupActionsVars(tmpDir, tmpDir); + const featureEnablement = setUpTests(tmpDir); + + const expectedFeatureEnablement = initializeFeatures(false); + mockFeatureFlagApiEndpoint(200, expectedFeatureEnablement); - const featureFlags = new GitHubFeatureFlags( - { type: GitHubVariant.DOTCOM }, - testApiDetails, - testRepositoryNwo, - getRunnerLogger(true) + // feature should be disabled initially + t.assert( + !(await featureEnablement.getValue( + feature as Feature, + includeCodeQlIfRequired(feature) + )) ); - const expectedFeatureFlags: { [flag: string]: boolean } = {}; - for (const f of FEATURE_FLAGS) { - expectedFeatureFlags[f] = false; - } - expectedFeatureFlags[featureFlag] = true; - mockFeatureFlagApiEndpoint(200, expectedFeatureFlags); + // set env var to true and check that the feature is now enabled + process.env[featureConfig[feature].envVar] = "true"; + t.assert( + await featureEnablement.getValue( + feature as Feature, + includeCodeQlIfRequired(feature) + ) + ); + }); + }); - const actualFeatureFlags: { [flag: string]: boolean } = { - ml_powered_queries_enabled: await featureFlags.getValue( - FeatureFlag.MlPoweredQueriesEnabled - ), - }; + test(`Feature '${feature}' is disabled if the associated environment variable is false, even if enabled in API`, async (t) => { + await withTmpDir(async (tmpDir) => { + const featureEnablement = setUpTests(tmpDir); + + const expectedFeatureEnablement = initializeFeatures(true); + mockFeatureFlagApiEndpoint(200, expectedFeatureEnablement); - t.deepEqual(actualFeatureFlags, expectedFeatureFlags); + // feature should be enabled initially + t.assert( + await featureEnablement.getValue( + feature as Feature, + includeCodeQlIfRequired(feature) + ) + ); + + // set env var to false and check that the feature is now disabled + process.env[featureConfig[feature].envVar] = "false"; + t.assert( + !(await featureEnablement.getValue( + feature as Feature, + includeCodeQlIfRequired(feature) + )) + ); }); }); + + if (featureConfig[feature].minimumVersion !== undefined) { + test(`Getting feature '${feature} should throw if no codeql is provided`, async (t) => { + await withTmpDir(async (tmpDir) => { + const featureEnablement = setUpTests(tmpDir); + + const expectedFeatureEnablement = initializeFeatures(true); + mockFeatureFlagApiEndpoint(200, expectedFeatureEnablement); + + await t.throwsAsync( + async () => featureEnablement.getValue(feature as Feature), + { + message: `Internal error: A minimum version is specified for feature ${feature}, but no instance of CodeQL was provided.`, + } + ); + }); + }); + } + + if (featureConfig[feature].minimumVersion !== undefined) { + test(`Feature '${feature}' is disabled if the minimum CLI version is below ${featureConfig[feature].minimumVersion}`, async (t) => { + await withTmpDir(async (tmpDir) => { + const featureEnablement = setUpTests(tmpDir); + + const expectedFeatureEnablement = initializeFeatures(true); + mockFeatureFlagApiEndpoint(200, expectedFeatureEnablement); + + // feature should be disabled when an old CLI version is set + let codeql = mockCodeQLVersion("2.0.0"); + t.assert( + !(await featureEnablement.getValue(feature as Feature, codeql)) + ); + + // even setting the env var to true should not enable the feature if + // the minimum CLI version is not met + process.env[featureConfig[feature].envVar] = "true"; + t.assert( + !(await featureEnablement.getValue(feature as Feature, codeql)) + ); + + // feature should be enabled when a new CLI version is set + // and env var is not set + process.env[featureConfig[feature].envVar] = ""; + codeql = mockCodeQLVersion(featureConfig[feature].minimumVersion); + t.assert(await featureEnablement.getValue(feature as Feature, codeql)); + + // set env var to false and check that the feature is now disabled + process.env[featureConfig[feature].envVar] = "false"; + t.assert( + !(await featureEnablement.getValue(feature as Feature, codeql)) + ); + }); + }); + } +} + +// If we ever run into a situation where we no longer have any features that +// specify a minimum version, then we will have a bunch of code no longer being +// tested. This is unlikely, and this test will fail if that happens. +// If we do end up in that situation, then we should consider adding a synthetic +// feature with a minimum version that is only used for tests. +test("At least one feature has a minimum version specified", (t) => { + t.assert( + Object.values(featureConfig).some((f) => f.minimumVersion !== undefined), + "At least one feature should have a minimum version specified" + ); + + // An even less likely scenario is that we no longer have any features. + t.assert( + Object.values(featureConfig).length > 0, + "There should be at least one feature" + ); +}); + +function assertAllFeaturesUndefinedInApi(t, loggedMessages: LoggedMessage[]) { + for (const feature of Object.keys(featureConfig)) { + t.assert( + loggedMessages.find( + (v) => + v.type === "debug" && + (v.message as string).includes(feature) && + (v.message as string).includes("considering it disabled") + ) !== undefined + ); + } +} + +function initializeFeatures(initialValue: boolean) { + return Object.keys(featureConfig).reduce((features, key) => { + features[key] = initialValue; + return features; + }, {}); +} + +function setUpTests( + tmpDir: string, + logger = getRunnerLogger(true), + gitHubVersion = { type: GitHubVariant.DOTCOM } as util.GitHubVersion +): FeatureEnablement { + setupActionsVars(tmpDir, tmpDir); + + return new Features(gitHubVersion, testApiDetails, testRepositoryNwo, logger); +} + +function includeCodeQlIfRequired(feature: string) { + return featureConfig[feature].minimumVersion !== undefined + ? mockCodeQLVersion("9.9.9") + : undefined; } diff --git a/src/feature-flags.ts b/src/feature-flags.ts index 95d376c18b..6ec993fd28 100644 --- a/src/feature-flags.ts +++ b/src/feature-flags.ts @@ -1,115 +1,200 @@ import { getApiClient, GitHubApiDetails } from "./api-client"; +import { CodeQL } from "./codeql"; import { Logger } from "./logging"; import { RepositoryNwo } from "./repository"; import * as util from "./util"; -export interface FeatureFlags { - getValue(flag: FeatureFlag): Promise; +export interface FeatureEnablement { + getValue(feature: Feature, codeql?: CodeQL): Promise; } -export enum FeatureFlag { +export enum Feature { BypassToolcacheEnabled = "bypass_toolcache_enabled", + CliConfigFileEnabled = "cli_config_file_enabled", + GolangExtractionReconciliationEnabled = "golang_extraction_reconciliation_enabled", MlPoweredQueriesEnabled = "ml_powered_queries_enabled", TrapCachingEnabled = "trap_caching_enabled", - GolangExtractionReconciliationEnabled = "golang_extraction_reconciliation_enabled", - CliConfigFileEnabled = "cli_config_file_enabled", } +export const featureConfig: Record< + Feature, + { envVar: string; minimumVersion: string | undefined } +> = { + [Feature.BypassToolcacheEnabled]: { + envVar: "CODEQL_BYPASS_TOOLCACHE", + minimumVersion: undefined, + }, + [Feature.CliConfigFileEnabled]: { + envVar: "CODEQL_PASS_CONFIG_TO_CLI", + minimumVersion: "2.10.1", + }, + [Feature.GolangExtractionReconciliationEnabled]: { + envVar: "CODEQL_GOLANG_EXTRACTION_RECONCILIATION", + minimumVersion: undefined, + }, + [Feature.MlPoweredQueriesEnabled]: { + envVar: "CODEQL_ML_POWERED_QUERIES", + minimumVersion: "2.7.5", + }, + [Feature.TrapCachingEnabled]: { + envVar: "CODEQL_TRAP_CACHING", + minimumVersion: undefined, + }, +}; + /** * A response from the GitHub API that contains feature flag enablement information for the CodeQL * Action. * * It maps feature flags to whether they are enabled or not. */ -type FeatureFlagsApiResponse = Partial>; +type GitHubFeatureFlagsApiResponse = Partial>; -export class GitHubFeatureFlags implements FeatureFlags { - private cachedApiResponse: FeatureFlagsApiResponse | undefined; +/** + * Determines the enablement status of a number of features. + * If feature enablement is not able to be determined locally, a request to the + * GitHub API is made to determine the enablement status. + */ +export class Features implements FeatureEnablement { + private gitHubFeatureFlags: GitHubFeatureFlags; constructor( - private gitHubVersion: util.GitHubVersion, - private apiDetails: GitHubApiDetails, - private repositoryNwo: RepositoryNwo, - private logger: Logger - ) {} + gitHubVersion: util.GitHubVersion, + apiDetails: GitHubApiDetails, + repositoryNwo: RepositoryNwo, + logger: Logger + ) { + this.gitHubFeatureFlags = new GitHubFeatureFlags( + gitHubVersion, + apiDetails, + repositoryNwo, + logger + ); + } + + /** + * + * @param feature The feature to check. + * @param codeql An optional CodeQL object. If provided, and a `minimumVersion` is specified for the + * feature, the version of the CodeQL CLI will be checked against the minimum version. + * If the version is less than the minimum version, the feature will be considered + * disabled. If not provided, and a `minimumVersion` is specified for the feature, the + * this function will throw. + * @returns true if the feature is enabled, false otherwise. + * + * @throws if a `minimumVersion` is specified for the feature, and `codeql` is not provided. + */ + async getValue(feature: Feature, codeql?: CodeQL): Promise { + if (!codeql && featureConfig[feature].minimumVersion) { + throw new Error( + `Internal error: A minimum version is specified for feature ${feature}, but no instance of CodeQL was provided.` + ); + } - async getValue(flag: FeatureFlag): Promise { // Bypassing the toolcache is disabled in test mode. - if (flag === FeatureFlag.BypassToolcacheEnabled && util.isInTestMode()) { + if (feature === Feature.BypassToolcacheEnabled && util.isInTestMode()) { return false; } + const envVar = ( + process.env[featureConfig[feature].envVar] || "" + ).toLocaleLowerCase(); + + // Do not use this feature if user explicitly disables it via an environment variable. + if (envVar === "false") { + return false; + } + + // Never use this feature if the CLI version explicitly can't support it. + const minimumVersion = featureConfig[feature].minimumVersion; + if (codeql && minimumVersion) { + if (!(await util.codeQlVersionAbove(codeql, minimumVersion))) { + return false; + } + } + + // Use this feature if user explicitly enables it via an environment variable. + if (envVar === "true") { + return true; + } + + // Ask the GitHub API if the feature is enabled. + return await this.gitHubFeatureFlags.getValue(feature); + } +} + +class GitHubFeatureFlags implements FeatureEnablement { + private cachedApiResponse: GitHubFeatureFlagsApiResponse | undefined; + + constructor( + private gitHubVersion: util.GitHubVersion, + private apiDetails: GitHubApiDetails, + private repositoryNwo: RepositoryNwo, + private logger: Logger + ) { + /**/ + } + + async getValue(feature: Feature): Promise { const response = await this.getApiResponse(); if (response === undefined) { this.logger.debug( - `No feature flags API response for ${flag}, considering it disabled.` + `No feature flags API response for ${feature}, considering it disabled.` ); return false; } - const flagValue = response[flag]; - if (flagValue === undefined) { + const featureEnablement = response[feature]; + if (featureEnablement === undefined) { this.logger.debug( - `Feature flag '${flag}' undefined in API response, considering it disabled.` + `Feature '${feature}' undefined in API response, considering it disabled.` ); return false; } - return flagValue; + return !!featureEnablement; } - private async getApiResponse(): Promise { - const loadApiResponse = async () => { - // Do nothing when not running against github.com - if (this.gitHubVersion.type !== util.GitHubVariant.DOTCOM) { - this.logger.debug( - "Not running against github.com. Disabling all feature flags." - ); - return {}; - } - const client = getApiClient(this.apiDetails); - try { - const response = await client.request( - "GET /repos/:owner/:repo/code-scanning/codeql-action/features", - { - owner: this.repositoryNwo.owner, - repo: this.repositoryNwo.repo, - } - ); - return response.data; - } catch (e) { - if (util.isHTTPError(e) && e.status === 403) { - this.logger.warning( - "This run of the CodeQL Action does not have permission to access Code Scanning API endpoints. " + - "As a result, it will not be opted into any experimental features. " + - "This could be because the Action is running on a pull request from a fork. If not, " + - `please ensure the Action has the 'security-events: write' permission. Details: ${e}` - ); - } else { - // Some feature flags, such as `ml_powered_queries_enabled` affect the produced alerts. - // Considering these feature flags disabled in the event of a transient error could - // therefore lead to alert churn. As a result, we crash if we cannot determine the value of - // the feature flags. - throw new Error( - `Encountered an error while trying to load feature flags: ${e}` - ); - } - } - }; - - const apiResponse = this.cachedApiResponse || (await loadApiResponse()); + private async getApiResponse(): Promise { + const apiResponse = + this.cachedApiResponse || (await this.loadApiResponse()); this.cachedApiResponse = apiResponse; return apiResponse; } -} -/** - * Create a feature flags instance with the specified set of enabled flags. - * - * This should be only used within tests. - */ -export function createFeatureFlags(enabledFlags: FeatureFlag[]): FeatureFlags { - return { - getValue: async (flag) => { - return enabledFlags.includes(flag); - }, - }; + private async loadApiResponse() { + // Do nothing when not running against github.com + if (this.gitHubVersion.type !== util.GitHubVariant.DOTCOM) { + this.logger.debug( + "Not running against github.com. Disabling all toggleable features." + ); + return {}; + } + const client = getApiClient(this.apiDetails); + try { + const response = await client.request( + "GET /repos/:owner/:repo/code-scanning/codeql-action/features", + { + owner: this.repositoryNwo.owner, + repo: this.repositoryNwo.repo, + } + ); + return response.data; + } catch (e) { + if (util.isHTTPError(e) && e.status === 403) { + this.logger.warning( + "This run of the CodeQL Action does not have permission to access Code Scanning API endpoints. " + + "As a result, it will not be opted into any experimental features. " + + "This could be because the Action is running on a pull request from a fork. If not, " + + `please ensure the Action has the 'security-events: write' permission. Details: ${e}` + ); + } else { + // Some features, such as `ml_powered_queries_enabled` affect the produced alerts. + // Considering these features disabled in the event of a transient error could + // therefore lead to alert churn. As a result, we crash if we cannot determine the value of + // the feature. + throw new Error( + `Encountered an error while trying to determine feature enablement: ${e}` + ); + } + } + } } diff --git a/src/init-action.ts b/src/init-action.ts index 083de7d1a7..1c24259d08 100644 --- a/src/init-action.ts +++ b/src/init-action.ts @@ -15,7 +15,7 @@ import { import { getGitHubVersionActionsOnly } from "./api-client"; import { CodeQL, CODEQL_VERSION_NEW_TRACING } from "./codeql"; import * as configUtils from "./config-utils"; -import { FeatureFlag, FeatureFlags, GitHubFeatureFlags } from "./feature-flags"; +import { Feature, FeatureEnablement, Features } from "./feature-flags"; import { initCodeQL, initConfig, @@ -39,6 +39,7 @@ import { getRequiredEnvParam, getThreadsFlagValue, initializeEnvironment, + isHostedRunner, Mode, } from "./util"; @@ -157,7 +158,7 @@ async function run() { getRequiredEnvParam("GITHUB_REPOSITORY") ); - const featureFlags = new GitHubFeatureFlags( + const features = new Features( gitHubVersion, apiDetails, repositoryNwo, @@ -185,7 +186,7 @@ async function run() { apiDetails, getTemporaryDirectory(), gitHubVersion.type, - featureFlags, + features, logger ); codeql = initCodeQLResult.codeql; @@ -199,7 +200,7 @@ async function run() { getOptionalInput("registries"), getOptionalInput("config-file"), getOptionalInput("db-location"), - await getTrapCachingEnabled(featureFlags), + await getTrapCachingEnabled(features), // Debug mode is enabled if: // - The `init` Action is passed `debug: true`. // - Actions step debugging is enabled (e.g. by [enabling debug logging for a rerun](https://docs.github.com/en/actions/managing-workflow-runs/re-running-workflows-and-jobs#re-running-all-the-jobs-in-a-workflow), @@ -213,7 +214,7 @@ async function run() { getRequiredEnvParam("GITHUB_WORKSPACE"), gitHubVersion, apiDetails, - featureFlags, + features, logger ); @@ -276,7 +277,7 @@ async function run() { sourceRoot, "Runner.Worker.exe", undefined, - featureFlags, + features, logger ); if (tracerConfig !== undefined) { @@ -318,11 +319,17 @@ async function run() { } async function getTrapCachingEnabled( - featureFlags: FeatureFlags + featureEnablement: FeatureEnablement ): Promise { + // If the workflow specified something always respect that const trapCaching = getOptionalInput("trap-caching"); if (trapCaching !== undefined) return trapCaching === "true"; - return await featureFlags.getValue(FeatureFlag.TrapCachingEnabled); + + // On self-hosted runners which may have slow network access, disable TRAP caching by default + if (!isHostedRunner()) return false; + + // On hosted runners, respect the feature flag + return await featureEnablement.getValue(Feature.TrapCachingEnabled); } async function runWrapper() { diff --git a/src/init.ts b/src/init.ts index 26895843f4..4b46e50ea6 100644 --- a/src/init.ts +++ b/src/init.ts @@ -8,7 +8,7 @@ import * as analysisPaths from "./analysis-paths"; import { GitHubApiCombinedDetails, GitHubApiDetails } from "./api-client"; import { CodeQL, CODEQL_VERSION_NEW_TRACING, setupCodeQL } from "./codeql"; import * as configUtils from "./config-utils"; -import { FeatureFlags } from "./feature-flags"; +import { FeatureEnablement } from "./feature-flags"; import { Logger } from "./logging"; import { RepositoryNwo } from "./repository"; import { TracerConfig, getCombinedTracerConfig } from "./tracer-config"; @@ -20,7 +20,7 @@ export async function initCodeQL( apiDetails: GitHubApiDetails, tempDir: string, variant: util.GitHubVariant, - featureFlags: FeatureFlags, + featureEnablement: FeatureEnablement, logger: Logger ): Promise<{ codeql: CodeQL; toolsVersion: string }> { logger.startGroup("Setup CodeQL tools"); @@ -29,7 +29,7 @@ export async function initCodeQL( apiDetails, tempDir, variant, - featureFlags, + featureEnablement, logger, true ); @@ -55,7 +55,7 @@ export async function initConfig( workspacePath: string, gitHubVersion: util.GitHubVersion, apiDetails: GitHubApiCombinedDetails, - featureFlags: FeatureFlags, + featureEnablement: FeatureEnablement, logger: Logger ): Promise { logger.startGroup("Load language configuration"); @@ -76,7 +76,7 @@ export async function initConfig( workspacePath, gitHubVersion, apiDetails, - featureFlags, + featureEnablement, logger ); analysisPaths.printPathFiltersWarning(config, logger); @@ -90,7 +90,7 @@ export async function runInit( sourceRoot: string, processName: string | undefined, processLevel: number | undefined, - featureFlags: FeatureFlags, + featureEnablement: FeatureEnablement, logger: Logger ): Promise { fs.mkdirSync(config.dbLocation, { recursive: true }); @@ -103,7 +103,7 @@ export async function runInit( sourceRoot, processName, processLevel, - featureFlags, + featureEnablement, logger ); } else { @@ -122,7 +122,7 @@ export async function runInit( return await getCombinedTracerConfig( config, codeql, - await util.isGoExtractionReconciliationEnabled(featureFlags), + await util.isGoExtractionReconciliationEnabled(featureEnablement), logger ); } diff --git a/src/runner.ts b/src/runner.ts index 1cbf59f5b9..f4cdc484a0 100644 --- a/src/runner.ts +++ b/src/runner.ts @@ -8,11 +8,11 @@ import { runFinalize, runQueries } from "./analyze"; import { determineAutobuildLanguages, runAutobuild } from "./autobuild"; import { CodeQL, CODEQL_VERSION_NEW_TRACING, getCodeQL } from "./codeql"; import { Config, getConfig } from "./config-utils"; -import { createFeatureFlags } from "./feature-flags"; import { initCodeQL, initConfig, injectWindowsTracer, runInit } from "./init"; import { Language, parseLanguage } from "./languages"; import { getRunnerLogger } from "./logging"; import { parseRepositoryNwo } from "./repository"; +import { createFeatures } from "./testing-utils"; import * as upload_lib from "./upload-lib"; import { checkGitHubVersionInRange, @@ -229,7 +229,7 @@ program apiDetails, tempDir, gitHubVersion.type, - createFeatureFlags([]), + createFeatures([]), logger ) ).codeql; @@ -253,7 +253,7 @@ program workspacePath, gitHubVersion, apiDetails, - createFeatureFlags([]), + createFeatures([]), logger ); @@ -264,7 +264,7 @@ program sourceRoot, parseTraceProcessName(), parseTraceProcessLevel(), - createFeatureFlags([]), + createFeatures([]), logger ); if (tracerConfig === undefined) { @@ -377,7 +377,7 @@ program } else { languages = await determineAutobuildLanguages( config, - createFeatureFlags([]), + createFeatures([]), logger ); } @@ -508,7 +508,7 @@ program memory, config, logger, - createFeatureFlags([]) + createFeatures([]) ); await runQueries( outputDir, @@ -518,7 +518,7 @@ program cmd.category, config, logger, - createFeatureFlags([]) + createFeatures([]) ); if (!cmd.upload) { diff --git a/src/testing-utils.ts b/src/testing-utils.ts index 5cd674fde8..c3d6768316 100644 --- a/src/testing-utils.ts +++ b/src/testing-utils.ts @@ -4,6 +4,7 @@ import * as sinon from "sinon"; import * as apiClient from "./api-client"; import * as CodeQL from "./codeql"; +import { Feature, FeatureEnablement } from "./feature-flags"; import { Logger } from "./logging"; import { HTTPError } from "./util"; @@ -160,3 +161,24 @@ export function mockFeatureFlagApiEndpoint( sinon.stub(apiClient, "getApiClient").value(() => client); } + +export function mockCodeQLVersion(version) { + return { + async getVersion() { + return version; + }, + } as CodeQL.CodeQL; +} + +/** + * Create a feature enablement instance with the specified set of enabled features. + * + * This should be only used within tests. + */ +export function createFeatures(enabledFeatures: Feature[]): FeatureEnablement { + return { + getValue: async (feature) => { + return enabledFeatures.includes(feature); + }, + }; +} diff --git a/src/trap-caching.ts b/src/trap-caching.ts index 4b0d95ab02..206bd88020 100644 --- a/src/trap-caching.ts +++ b/src/trap-caching.ts @@ -113,15 +113,15 @@ export async function downloadTrapCaches( logger.info( `Looking in Actions cache for TRAP cache with key ${preferredKey}` ); - const found = await withTimeout( - MAX_CACHE_OPERATION_MS, - cache.restoreCache([cacheDir], preferredKey, [ - await cachePrefix(codeql, language), // Fall back to any cache with the right key prefix - ]), - () => { - logger.info( - `Timed out waiting for TRAP cache download for ${language}, will continue without it` - ); + const found = await cache.restoreCache( + [cacheDir], + preferredKey, + [ + // Fall back to any cache with the right key prefix + await cachePrefix(codeql, language), + ], + { + segmentTimeoutInMs: MAX_CACHE_OPERATION_MS, } ); if (found === undefined) { diff --git a/src/util.test.ts b/src/util.test.ts index fe294d6194..f6fe67b6ac 100644 --- a/src/util.test.ts +++ b/src/util.test.ts @@ -9,9 +9,7 @@ import test, { ExecutionContext } from "ava"; import * as sinon from "sinon"; import * as api from "./api-client"; -import { CodeQL } from "./codeql"; import { Config } from "./config-utils"; -import { createFeatureFlags, FeatureFlag } from "./feature-flags"; import { getRunnerLogger, Logger } from "./logging"; import { setupTests } from "./testing-utils"; import * as util from "./util"; @@ -495,113 +493,6 @@ test("listFolder", async (t) => { }); }); -test("useCodeScanningConfigInCli with no env var", async (t) => { - t.assert( - !(await util.useCodeScanningConfigInCli( - mockVersion("2.10.0"), - createFeatureFlags([]) - )) - ); - - t.assert( - !(await util.useCodeScanningConfigInCli( - mockVersion("2.10.1"), - createFeatureFlags([]) - )) - ); - - t.assert( - !(await util.useCodeScanningConfigInCli( - mockVersion("2.10.0"), - createFeatureFlags([FeatureFlag.CliConfigFileEnabled]) - )) - ); - - // Yay! It works! - t.assert( - await util.useCodeScanningConfigInCli( - mockVersion("2.10.1"), - createFeatureFlags([FeatureFlag.CliConfigFileEnabled]) - ) - ); -}); - -for (const val of ["TRUE", "true", "True"]) { - test(`useCodeScanningConfigInCli with env var ${val}`, async (t) => { - process.env[util.EnvVar.CODEQL_PASS_CONFIG_TO_CLI] = val; - t.assert( - !(await util.useCodeScanningConfigInCli( - mockVersion("2.10.0"), - createFeatureFlags([]) - )) - ); - - t.assert( - !(await util.useCodeScanningConfigInCli( - mockVersion("2.10.0"), - createFeatureFlags([FeatureFlag.CliConfigFileEnabled]) - )) - ); - - // Yay! It works! - t.assert( - await util.useCodeScanningConfigInCli( - mockVersion("2.10.1"), - createFeatureFlags([FeatureFlag.CliConfigFileEnabled]) - ) - ); - - t.assert( - await util.useCodeScanningConfigInCli( - mockVersion("2.10.1"), - createFeatureFlags([]) - ) - ); - }); -} - -for (const val of ["FALSE", "false", "False"]) { - test(`useCodeScanningConfigInCli with env var ${val}`, async (t) => { - // Never turned on when env var is false - process.env[util.EnvVar.CODEQL_PASS_CONFIG_TO_CLI] = val; - t.assert( - !(await util.useCodeScanningConfigInCli( - mockVersion("2.10.0"), - createFeatureFlags([]) - )) - ); - - t.assert( - !(await util.useCodeScanningConfigInCli( - mockVersion("2.10.0"), - createFeatureFlags([FeatureFlag.CliConfigFileEnabled]) - )) - ); - - t.assert( - !(await util.useCodeScanningConfigInCli( - mockVersion("2.10.1"), - createFeatureFlags([FeatureFlag.CliConfigFileEnabled]) - )) - ); - - t.assert( - !(await util.useCodeScanningConfigInCli( - mockVersion("2.10.1"), - createFeatureFlags([]) - )) - ); - }); -} - -function mockVersion(version) { - return { - async getVersion() { - return version; - }, - } as CodeQL; -} - const longTime = 999_999; const shortTime = 10; @@ -632,3 +523,18 @@ test("withTimeout on short task", async (t) => { t.deepEqual(shortTaskTimedOut, false); t.deepEqual(result, 99); }); + +test("withTimeout doesn't call callback if promise resolves", async (t) => { + let shortTaskTimedOut = false; + const shortTask = new Promise((resolve) => { + setTimeout(() => { + resolve(99); + }, shortTime); + }); + const result = await util.withTimeout(100, shortTask, () => { + shortTaskTimedOut = true; + }); + await new Promise((r) => setTimeout(r, 200)); + t.deepEqual(shortTaskTimedOut, false); + t.deepEqual(result, 99); +}); diff --git a/src/util.ts b/src/util.ts index 8065119a7b..3d95f30dae 100644 --- a/src/util.ts +++ b/src/util.ts @@ -12,17 +12,13 @@ import * as semver from "semver"; import * as api from "./api-client"; import { getApiClient, GitHubApiDetails } from "./api-client"; import * as apiCompatibility from "./api-compatibility.json"; -import { - CodeQL, - CODEQL_VERSION_CONFIG_FILES, - CODEQL_VERSION_NEW_TRACING, -} from "./codeql"; +import { CodeQL, CODEQL_VERSION_NEW_TRACING } from "./codeql"; import { Config, parsePacksSpecification, prettyPrintPack, } from "./config-utils"; -import { FeatureFlag, FeatureFlags } from "./feature-flags"; +import { Feature, FeatureEnablement } from "./feature-flags"; import { Language } from "./languages"; import { Logger } from "./logging"; @@ -524,13 +520,6 @@ export enum EnvVar { * own sandwiched workflow mechanism */ FEATURE_SANDWICH = "CODEQL_ACTION_FEATURE_SANDWICH", - - /** - * If set to the "true" string and the codeql CLI version is greater than - * `CODEQL_VERSION_CONFIG_FILES`, then the codeql-action will pass the - * the codeql-config file to the codeql CLI to be processed there. - */ - CODEQL_PASS_CONFIG_TO_CLI = "CODEQL_PASS_CONFIG_TO_CLI", } const exportVar = (mode: Mode, name: string, value: string) => { @@ -593,10 +582,6 @@ export function getRequiredEnvParam(paramName: string): string { return value; } -function getOptionalEnvParam(paramName: string): string { - return process.env[paramName] || ""; -} - export class HTTPError extends Error { public status: number; @@ -794,35 +779,17 @@ export function isInTestMode(): boolean { */ export async function useCodeScanningConfigInCli( codeql: CodeQL, - featureFlags: FeatureFlags + featureEnablement: FeatureEnablement ): Promise { - const envVarIsEnabled = getOptionalEnvParam(EnvVar.CODEQL_PASS_CONFIG_TO_CLI); - - // If the user has explicitly turned off the feature, then don't use it. - if (envVarIsEnabled.toLocaleLowerCase() === "false") { - return false; - } - - // If the user has explicitly turned on the feature, then use it. - // Or if the feature flag is enabled, then use it. - const isEnabled = - envVarIsEnabled.toLocaleLowerCase() === "true" || - (await featureFlags.getValue(FeatureFlag.CliConfigFileEnabled)); - - if (!isEnabled) { - return false; - } - - // If the CLI version is too old, then don't use it. - return await codeQlVersionAbove(codeql, CODEQL_VERSION_CONFIG_FILES); + return await featureEnablement.getValue(Feature.CliConfigFileEnabled, codeql); } export async function logCodeScanningConfigInCli( codeql: CodeQL, - featureFlags: FeatureFlags, + featureEnablement: FeatureEnablement, logger: Logger ) { - if (await useCodeScanningConfigInCli(codeql, featureFlags)) { + if (await useCodeScanningConfigInCli(codeql, featureEnablement)) { logger.info( "Code Scanning configuration file being processed in the codeql CLI." ); @@ -865,13 +832,10 @@ export function listFolder(dir: string): string[] { } export async function isGoExtractionReconciliationEnabled( - featureFlags: FeatureFlags + featureEnablement: FeatureEnablement ): Promise { - return ( - process.env["CODEQL_ACTION_RECONCILE_GO_EXTRACTION"] === "true" || - (await featureFlags.getValue( - FeatureFlag.GolangExtractionReconciliationEnabled - )) + return await featureEnablement.getValue( + Feature.GolangExtractionReconciliationEnabled ); } @@ -899,6 +863,10 @@ export async function tryGetFolderBytes( * Run a promise for a given amount of time, and if it doesn't resolve within * that time, call the provided callback and then return undefined. * + * Important: This does NOT cancel the original promise, so that promise will + * continue in the background even after the timeout has expired. If the + * original promise hangs, then this will prevent the process terminating. + * * @param timeoutMs The timeout in milliseconds. * @param promise The promise to run. * @param onTimeout A callback to call if the promise times out. @@ -909,12 +877,39 @@ export async function withTimeout( promise: Promise, onTimeout: () => void ): Promise { + let finished = false; + const mainTask = async () => { + const result = await promise; + finished = true; + return result; + }; const timeout: Promise = new Promise((resolve) => { setTimeout(() => { - onTimeout(); + if (!finished) onTimeout(); resolve(undefined); }, timeoutMs); }); - return await Promise.race([promise, timeout]); + return await Promise.race([mainTask(), timeout]); +} + +/** + * This function implements a heuristic to determine whether the + * runner we are on is hosted by GitHub. It does this by checking + * the name of the runner against the list of known GitHub-hosted + * runner names. It also checks for the presence of a toolcache + * directory with the name hostedtoolcache which is present on + * GitHub-hosted runners. + * + * @returns true iff the runner is hosted by GitHub + */ +export function isHostedRunner() { + return ( + // Name of the runner on hosted Windows runners + process.env["RUNNER_NAME"]?.includes("Hosted Agent") || + // Name of the runner on hosted POSIX runners + process.env["RUNNER_NAME"]?.includes("GitHub Actions") || + // Segment of the path to the tool cache on all hosted runners + process.env["RUNNER_TOOL_CACHE"]?.includes("hostedtoolcache") + ); }