mirror of
https://github.com/github/codeql-action.git
synced 2025-12-07 08:18:08 +08:00
Compare commits
4 Commits
codeql-bun
...
mbg/ignore
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b4db38273c | ||
|
|
846f8590dc | ||
|
|
3eaf00092b | ||
|
|
1512f400b3 |
5
lib/analyze-action-post.js
generated
5
lib/analyze-action-post.js
generated
@@ -120074,6 +120074,11 @@ var featureConfig = {
|
||||
legacyApi: true,
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["ignore_generated_files" /* IgnoreGeneratedFiles */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_IGNORE_GENERATED_FILES",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["java_minimize_dependency_jars" /* JavaMinimizeDependencyJars */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_JAVA_MINIMIZE_DEPENDENCY_JARS",
|
||||
|
||||
12
lib/analyze-action.js
generated
12
lib/analyze-action.js
generated
@@ -87570,7 +87570,12 @@ function isDynamicWorkflow() {
|
||||
return getWorkflowEventName() === "dynamic";
|
||||
}
|
||||
function isDefaultSetup() {
|
||||
return isDynamicWorkflow();
|
||||
return isDynamicWorkflow() && !isCCR();
|
||||
}
|
||||
function isCCR() {
|
||||
return isDynamicWorkflow() && process.env["CODEQL_ACTION_ANALYSIS_KEY"]?.startsWith(
|
||||
"dynamic/copilot-pull-request-reviewer"
|
||||
) || false;
|
||||
}
|
||||
function prettyPrintInvocation(cmd, args) {
|
||||
return [cmd, ...args].map((x) => x.includes(" ") ? `'${x}'` : x).join(" ");
|
||||
@@ -88695,6 +88700,11 @@ var featureConfig = {
|
||||
legacyApi: true,
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["ignore_generated_files" /* IgnoreGeneratedFiles */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_IGNORE_GENERATED_FILES",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["java_minimize_dependency_jars" /* JavaMinimizeDependencyJars */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_JAVA_MINIMIZE_DEPENDENCY_JARS",
|
||||
|
||||
5
lib/autobuild-action.js
generated
5
lib/autobuild-action.js
generated
@@ -84014,6 +84014,11 @@ var featureConfig = {
|
||||
legacyApi: true,
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["ignore_generated_files" /* IgnoreGeneratedFiles */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_IGNORE_GENERATED_FILES",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["java_minimize_dependency_jars" /* JavaMinimizeDependencyJars */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_JAVA_MINIMIZE_DEPENDENCY_JARS",
|
||||
|
||||
12
lib/init-action-post.js
generated
12
lib/init-action-post.js
generated
@@ -122511,7 +122511,12 @@ function isDynamicWorkflow() {
|
||||
return getWorkflowEventName() === "dynamic";
|
||||
}
|
||||
function isDefaultSetup() {
|
||||
return isDynamicWorkflow();
|
||||
return isDynamicWorkflow() && !isCCR();
|
||||
}
|
||||
function isCCR() {
|
||||
return isDynamicWorkflow() && process.env["CODEQL_ACTION_ANALYSIS_KEY"]?.startsWith(
|
||||
"dynamic/copilot-pull-request-reviewer"
|
||||
) || false;
|
||||
}
|
||||
function prettyPrintInvocation(cmd, args) {
|
||||
return [cmd, ...args].map((x) => x.includes(" ") ? `'${x}'` : x).join(" ");
|
||||
@@ -123455,6 +123460,11 @@ var featureConfig = {
|
||||
legacyApi: true,
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["ignore_generated_files" /* IgnoreGeneratedFiles */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_IGNORE_GENERATED_FILES",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["java_minimize_dependency_jars" /* JavaMinimizeDependencyJars */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_JAVA_MINIMIZE_DEPENDENCY_JARS",
|
||||
|
||||
133
lib/init-action.js
generated
133
lib/init-action.js
generated
@@ -98,11 +98,11 @@ var require_command = __commonJS({
|
||||
};
|
||||
Object.defineProperty(exports2, "__esModule", { value: true });
|
||||
exports2.issue = exports2.issueCommand = void 0;
|
||||
var os5 = __importStar4(require("os"));
|
||||
var os6 = __importStar4(require("os"));
|
||||
var utils_1 = require_utils();
|
||||
function issueCommand(command, properties, message) {
|
||||
const cmd = new Command(command, properties, message);
|
||||
process.stdout.write(cmd.toString() + os5.EOL);
|
||||
process.stdout.write(cmd.toString() + os6.EOL);
|
||||
}
|
||||
exports2.issueCommand = issueCommand;
|
||||
function issue(name, message = "") {
|
||||
@@ -186,7 +186,7 @@ var require_file_command = __commonJS({
|
||||
exports2.prepareKeyValueMessage = exports2.issueFileCommand = void 0;
|
||||
var crypto2 = __importStar4(require("crypto"));
|
||||
var fs15 = __importStar4(require("fs"));
|
||||
var os5 = __importStar4(require("os"));
|
||||
var os6 = __importStar4(require("os"));
|
||||
var utils_1 = require_utils();
|
||||
function issueFileCommand(command, message) {
|
||||
const filePath = process.env[`GITHUB_${command}`];
|
||||
@@ -196,7 +196,7 @@ var require_file_command = __commonJS({
|
||||
if (!fs15.existsSync(filePath)) {
|
||||
throw new Error(`Missing file at path: ${filePath}`);
|
||||
}
|
||||
fs15.appendFileSync(filePath, `${(0, utils_1.toCommandValue)(message)}${os5.EOL}`, {
|
||||
fs15.appendFileSync(filePath, `${(0, utils_1.toCommandValue)(message)}${os6.EOL}`, {
|
||||
encoding: "utf8"
|
||||
});
|
||||
}
|
||||
@@ -210,7 +210,7 @@ var require_file_command = __commonJS({
|
||||
if (convertedValue.includes(delimiter)) {
|
||||
throw new Error(`Unexpected input: value should not contain the delimiter "${delimiter}"`);
|
||||
}
|
||||
return `${key}<<${delimiter}${os5.EOL}${convertedValue}${os5.EOL}${delimiter}`;
|
||||
return `${key}<<${delimiter}${os6.EOL}${convertedValue}${os6.EOL}${delimiter}`;
|
||||
}
|
||||
exports2.prepareKeyValueMessage = prepareKeyValueMessage;
|
||||
}
|
||||
@@ -18933,7 +18933,7 @@ var require_toolrunner = __commonJS({
|
||||
};
|
||||
Object.defineProperty(exports2, "__esModule", { value: true });
|
||||
exports2.argStringToArray = exports2.ToolRunner = void 0;
|
||||
var os5 = __importStar4(require("os"));
|
||||
var os6 = __importStar4(require("os"));
|
||||
var events = __importStar4(require("events"));
|
||||
var child = __importStar4(require("child_process"));
|
||||
var path16 = __importStar4(require("path"));
|
||||
@@ -18988,12 +18988,12 @@ var require_toolrunner = __commonJS({
|
||||
_processLineBuffer(data, strBuffer, onLine) {
|
||||
try {
|
||||
let s = strBuffer + data.toString();
|
||||
let n = s.indexOf(os5.EOL);
|
||||
let n = s.indexOf(os6.EOL);
|
||||
while (n > -1) {
|
||||
const line = s.substring(0, n);
|
||||
onLine(line);
|
||||
s = s.substring(n + os5.EOL.length);
|
||||
n = s.indexOf(os5.EOL);
|
||||
s = s.substring(n + os6.EOL.length);
|
||||
n = s.indexOf(os6.EOL);
|
||||
}
|
||||
return s;
|
||||
} catch (err) {
|
||||
@@ -19162,7 +19162,7 @@ var require_toolrunner = __commonJS({
|
||||
}
|
||||
const optionsNonNull = this._cloneExecOptions(this.options);
|
||||
if (!optionsNonNull.silent && optionsNonNull.outStream) {
|
||||
optionsNonNull.outStream.write(this._getCommandString(optionsNonNull) + os5.EOL);
|
||||
optionsNonNull.outStream.write(this._getCommandString(optionsNonNull) + os6.EOL);
|
||||
}
|
||||
const state = new ExecState(optionsNonNull, this.toolPath);
|
||||
state.on("debug", (message) => {
|
||||
@@ -19650,7 +19650,7 @@ var require_core = __commonJS({
|
||||
var command_1 = require_command();
|
||||
var file_command_1 = require_file_command();
|
||||
var utils_1 = require_utils();
|
||||
var os5 = __importStar4(require("os"));
|
||||
var os6 = __importStar4(require("os"));
|
||||
var path16 = __importStar4(require("path"));
|
||||
var oidc_utils_1 = require_oidc_utils();
|
||||
var ExitCode;
|
||||
@@ -19718,7 +19718,7 @@ Support boolean input list: \`true | True | TRUE | false | False | FALSE\``);
|
||||
if (filePath) {
|
||||
return (0, file_command_1.issueFileCommand)("OUTPUT", (0, file_command_1.prepareKeyValueMessage)(name, value));
|
||||
}
|
||||
process.stdout.write(os5.EOL);
|
||||
process.stdout.write(os6.EOL);
|
||||
(0, command_1.issueCommand)("set-output", { name }, (0, utils_1.toCommandValue)(value));
|
||||
}
|
||||
exports2.setOutput = setOutput2;
|
||||
@@ -19752,7 +19752,7 @@ Support boolean input list: \`true | True | TRUE | false | False | FALSE\``);
|
||||
}
|
||||
exports2.notice = notice;
|
||||
function info6(message) {
|
||||
process.stdout.write(message + os5.EOL);
|
||||
process.stdout.write(message + os6.EOL);
|
||||
}
|
||||
exports2.info = info6;
|
||||
function startGroup4(name) {
|
||||
@@ -31906,7 +31906,7 @@ var require_internal_pattern = __commonJS({
|
||||
};
|
||||
Object.defineProperty(exports2, "__esModule", { value: true });
|
||||
exports2.Pattern = void 0;
|
||||
var os5 = __importStar4(require("os"));
|
||||
var os6 = __importStar4(require("os"));
|
||||
var path16 = __importStar4(require("path"));
|
||||
var pathHelper = __importStar4(require_internal_path_helper());
|
||||
var assert_1 = __importDefault4(require("assert"));
|
||||
@@ -31999,7 +31999,7 @@ var require_internal_pattern = __commonJS({
|
||||
if (pattern === "." || pattern.startsWith(`.${path16.sep}`)) {
|
||||
pattern = _Pattern.globEscape(process.cwd()) + pattern.substr(1);
|
||||
} else if (pattern === "~" || pattern.startsWith(`~${path16.sep}`)) {
|
||||
homedir2 = homedir2 || os5.homedir();
|
||||
homedir2 = homedir2 || os6.homedir();
|
||||
assert_1.default(homedir2, "Unable to determine HOME directory");
|
||||
assert_1.default(pathHelper.hasAbsoluteRoot(homedir2), `Expected HOME directory to be a rooted path. Actual '${homedir2}'`);
|
||||
pattern = _Pattern.globEscape(homedir2) + pattern.substr(1);
|
||||
@@ -35242,14 +35242,14 @@ var require_dist = __commonJS({
|
||||
"node_modules/@azure/logger/dist/index.js"(exports2) {
|
||||
"use strict";
|
||||
Object.defineProperty(exports2, "__esModule", { value: true });
|
||||
var os5 = require("os");
|
||||
var os6 = require("os");
|
||||
var util = require("util");
|
||||
function _interopDefaultLegacy(e) {
|
||||
return e && typeof e === "object" && "default" in e ? e : { "default": e };
|
||||
}
|
||||
var util__default = /* @__PURE__ */ _interopDefaultLegacy(util);
|
||||
function log(message, ...args) {
|
||||
process.stderr.write(`${util__default["default"].format(message, ...args)}${os5.EOL}`);
|
||||
process.stderr.write(`${util__default["default"].format(message, ...args)}${os6.EOL}`);
|
||||
}
|
||||
var debugEnvVariable = typeof process !== "undefined" && process.env && process.env.DEBUG || void 0;
|
||||
var enabledString;
|
||||
@@ -36516,7 +36516,7 @@ var require_userAgentPlatform = __commonJS({
|
||||
exports2.getHeaderName = getHeaderName;
|
||||
exports2.setPlatformSpecificData = setPlatformSpecificData;
|
||||
var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
|
||||
var os5 = tslib_1.__importStar(require("node:os"));
|
||||
var os6 = tslib_1.__importStar(require("node:os"));
|
||||
var process2 = tslib_1.__importStar(require("node:process"));
|
||||
function getHeaderName() {
|
||||
return "User-Agent";
|
||||
@@ -36532,7 +36532,7 @@ var require_userAgentPlatform = __commonJS({
|
||||
map2.set("Node", versions.node);
|
||||
}
|
||||
}
|
||||
map2.set("OS", `(${os5.arch()}-${os5.type()}-${os5.release()})`);
|
||||
map2.set("OS", `(${os6.arch()}-${os6.type()}-${os6.release()})`);
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -37854,7 +37854,7 @@ var require_has_flag = __commonJS({
|
||||
var require_supports_color = __commonJS({
|
||||
"node_modules/supports-color/index.js"(exports2, module2) {
|
||||
"use strict";
|
||||
var os5 = require("os");
|
||||
var os6 = require("os");
|
||||
var tty = require("tty");
|
||||
var hasFlag = require_has_flag();
|
||||
var { env } = process;
|
||||
@@ -37902,7 +37902,7 @@ var require_supports_color = __commonJS({
|
||||
return min;
|
||||
}
|
||||
if (process.platform === "win32") {
|
||||
const osRelease = os5.release().split(".");
|
||||
const osRelease = os6.release().split(".");
|
||||
if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
|
||||
return Number(osRelease[2]) >= 14931 ? 3 : 2;
|
||||
}
|
||||
@@ -45124,11 +45124,11 @@ var require_XMLParser = __commonJS({
|
||||
// node_modules/fast-xml-parser/src/xmlbuilder/orderedJs2Xml.js
|
||||
var require_orderedJs2Xml = __commonJS({
|
||||
"node_modules/fast-xml-parser/src/xmlbuilder/orderedJs2Xml.js"(exports2, module2) {
|
||||
var EOL = "\n";
|
||||
var EOL2 = "\n";
|
||||
function toXml(jArray, options) {
|
||||
let indentation = "";
|
||||
if (options.format && options.indentBy.length > 0) {
|
||||
indentation = EOL;
|
||||
indentation = EOL2;
|
||||
}
|
||||
return arrToStr(jArray, options, "", indentation);
|
||||
}
|
||||
@@ -77691,7 +77691,7 @@ var require_internal_pattern2 = __commonJS({
|
||||
};
|
||||
Object.defineProperty(exports2, "__esModule", { value: true });
|
||||
exports2.Pattern = void 0;
|
||||
var os5 = __importStar4(require("os"));
|
||||
var os6 = __importStar4(require("os"));
|
||||
var path16 = __importStar4(require("path"));
|
||||
var pathHelper = __importStar4(require_internal_path_helper2());
|
||||
var assert_1 = __importDefault4(require("assert"));
|
||||
@@ -77784,7 +77784,7 @@ var require_internal_pattern2 = __commonJS({
|
||||
if (pattern === "." || pattern.startsWith(`.${path16.sep}`)) {
|
||||
pattern = _Pattern.globEscape(process.cwd()) + pattern.substr(1);
|
||||
} else if (pattern === "~" || pattern.startsWith(`~${path16.sep}`)) {
|
||||
homedir2 = homedir2 || os5.homedir();
|
||||
homedir2 = homedir2 || os6.homedir();
|
||||
(0, assert_1.default)(homedir2, "Unable to determine HOME directory");
|
||||
(0, assert_1.default)(pathHelper.hasAbsoluteRoot(homedir2), `Expected HOME directory to be a rooted path. Actual '${homedir2}'`);
|
||||
pattern = _Pattern.globEscape(homedir2) + pattern.substr(1);
|
||||
@@ -78826,12 +78826,12 @@ var require_manifest = __commonJS({
|
||||
exports2._readLinuxVersionFile = exports2._getOsVersion = exports2._findMatch = void 0;
|
||||
var semver9 = __importStar4(require_semver2());
|
||||
var core_1 = require_core();
|
||||
var os5 = require("os");
|
||||
var os6 = require("os");
|
||||
var cp = require("child_process");
|
||||
var fs15 = require("fs");
|
||||
function _findMatch(versionSpec, stable, candidates, archFilter) {
|
||||
return __awaiter4(this, void 0, void 0, function* () {
|
||||
const platFilter = os5.platform();
|
||||
const platFilter = os6.platform();
|
||||
let result;
|
||||
let match;
|
||||
let file;
|
||||
@@ -78868,7 +78868,7 @@ var require_manifest = __commonJS({
|
||||
}
|
||||
exports2._findMatch = _findMatch;
|
||||
function _getOsVersion() {
|
||||
const plat = os5.platform();
|
||||
const plat = os6.platform();
|
||||
let version = "";
|
||||
if (plat === "darwin") {
|
||||
version = cp.execSync("sw_vers -productVersion").toString();
|
||||
@@ -79775,7 +79775,7 @@ var require_tool_cache = __commonJS({
|
||||
var crypto2 = __importStar4(require("crypto"));
|
||||
var fs15 = __importStar4(require("fs"));
|
||||
var mm = __importStar4(require_manifest());
|
||||
var os5 = __importStar4(require("os"));
|
||||
var os6 = __importStar4(require("os"));
|
||||
var path16 = __importStar4(require("path"));
|
||||
var httpm = __importStar4(require_lib5());
|
||||
var semver9 = __importStar4(require_semver2());
|
||||
@@ -80053,7 +80053,7 @@ var require_tool_cache = __commonJS({
|
||||
function cacheDir(sourceDir, tool, version, arch2) {
|
||||
return __awaiter4(this, void 0, void 0, function* () {
|
||||
version = semver9.clean(version) || version;
|
||||
arch2 = arch2 || os5.arch();
|
||||
arch2 = arch2 || os6.arch();
|
||||
core14.debug(`Caching tool ${tool} ${version} ${arch2}`);
|
||||
core14.debug(`source dir: ${sourceDir}`);
|
||||
if (!fs15.statSync(sourceDir).isDirectory()) {
|
||||
@@ -80072,7 +80072,7 @@ var require_tool_cache = __commonJS({
|
||||
function cacheFile(sourceFile, targetFile, tool, version, arch2) {
|
||||
return __awaiter4(this, void 0, void 0, function* () {
|
||||
version = semver9.clean(version) || version;
|
||||
arch2 = arch2 || os5.arch();
|
||||
arch2 = arch2 || os6.arch();
|
||||
core14.debug(`Caching tool ${tool} ${version} ${arch2}`);
|
||||
core14.debug(`source file: ${sourceFile}`);
|
||||
if (!fs15.statSync(sourceFile).isFile()) {
|
||||
@@ -80094,7 +80094,7 @@ var require_tool_cache = __commonJS({
|
||||
if (!versionSpec) {
|
||||
throw new Error("versionSpec parameter is required");
|
||||
}
|
||||
arch2 = arch2 || os5.arch();
|
||||
arch2 = arch2 || os6.arch();
|
||||
if (!isExplicitVersion(versionSpec)) {
|
||||
const localVersions = findAllVersions2(toolName, arch2);
|
||||
const match = evaluateVersions(localVersions, versionSpec);
|
||||
@@ -80117,7 +80117,7 @@ var require_tool_cache = __commonJS({
|
||||
exports2.find = find2;
|
||||
function findAllVersions2(toolName, arch2) {
|
||||
const versions = [];
|
||||
arch2 = arch2 || os5.arch();
|
||||
arch2 = arch2 || os6.arch();
|
||||
const toolPath = path16.join(_getCacheDirectory(), toolName);
|
||||
if (fs15.existsSync(toolPath)) {
|
||||
const children = fs15.readdirSync(toolPath);
|
||||
@@ -80168,7 +80168,7 @@ var require_tool_cache = __commonJS({
|
||||
});
|
||||
}
|
||||
exports2.getManifestFromRepo = getManifestFromRepo;
|
||||
function findFromManifest(versionSpec, stable, manifest, archFilter = os5.arch()) {
|
||||
function findFromManifest(versionSpec, stable, manifest, archFilter = os6.arch()) {
|
||||
return __awaiter4(this, void 0, void 0, function* () {
|
||||
const match = yield mm._findMatch(versionSpec, stable, manifest, archFilter);
|
||||
return match;
|
||||
@@ -84914,7 +84914,12 @@ function isDynamicWorkflow() {
|
||||
return getWorkflowEventName() === "dynamic";
|
||||
}
|
||||
function isDefaultSetup() {
|
||||
return isDynamicWorkflow();
|
||||
return isDynamicWorkflow() && !isCCR();
|
||||
}
|
||||
function isCCR() {
|
||||
return isDynamicWorkflow() && process.env["CODEQL_ACTION_ANALYSIS_KEY"]?.startsWith(
|
||||
"dynamic/copilot-pull-request-reviewer"
|
||||
) || false;
|
||||
}
|
||||
function prettyPrintInvocation(cmd, args) {
|
||||
return [cmd, ...args].map((x) => x.includes(" ") ? `'${x}'` : x).join(" ");
|
||||
@@ -85647,6 +85652,7 @@ var path4 = __toESM(require("path"));
|
||||
var actionsCache = __toESM(require_cache3());
|
||||
|
||||
// src/git-utils.ts
|
||||
var os2 = __toESM(require("os"));
|
||||
var core7 = __toESM(require_core());
|
||||
var toolrunner2 = __toESM(require_toolrunner());
|
||||
var io3 = __toESM(require_io2());
|
||||
@@ -85820,6 +85826,31 @@ async function isAnalyzingDefaultBranch() {
|
||||
}
|
||||
return currentRef === defaultBranch;
|
||||
}
|
||||
async function listFiles(workingDirectory) {
|
||||
const stdout = await runGitCommand(
|
||||
workingDirectory,
|
||||
["ls-files"],
|
||||
"Unable to list tracked files."
|
||||
);
|
||||
return stdout.split(os2.EOL);
|
||||
}
|
||||
async function getGeneratedFiles(workingDirectory) {
|
||||
const files = await listFiles(workingDirectory);
|
||||
const stdout = await runGitCommand(
|
||||
workingDirectory,
|
||||
["check-attr", "linguist-generated", "--", ...files],
|
||||
"Unable to check attributes of files."
|
||||
);
|
||||
const generatedFiles = [];
|
||||
const regex = /^([^:]+): linguist-generated: true$/;
|
||||
for (const result of stdout.split(os2.EOL)) {
|
||||
const match = result.match(regex);
|
||||
if (match) {
|
||||
generatedFiles.push(match[1]);
|
||||
}
|
||||
}
|
||||
return generatedFiles;
|
||||
}
|
||||
|
||||
// src/logging.ts
|
||||
var core8 = __toESM(require_core());
|
||||
@@ -86109,6 +86140,11 @@ var featureConfig = {
|
||||
legacyApi: true,
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["ignore_generated_files" /* IgnoreGeneratedFiles */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_IGNORE_GENERATED_FILES",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["java_minimize_dependency_jars" /* JavaMinimizeDependencyJars */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_JAVA_MINIMIZE_DEPENDENCY_JARS",
|
||||
@@ -87032,6 +87068,15 @@ async function initConfig(features, inputs) {
|
||||
);
|
||||
}
|
||||
const config = await initActionState(inputs, userConfig);
|
||||
if (await features.getValue("ignore_generated_files" /* IgnoreGeneratedFiles */) || isCCR()) {
|
||||
try {
|
||||
const generatedFiles = await getGeneratedFiles(inputs.sourceRoot);
|
||||
config.computedConfig["paths-ignore"] ??= [];
|
||||
config.computedConfig["paths-ignore"].push(...generatedFiles);
|
||||
} catch (error3) {
|
||||
logger.info(`Cannot ignore generated files: ${getErrorMessage(error3)}`);
|
||||
}
|
||||
}
|
||||
if (config.analysisKinds.length === 1 && isCodeQualityEnabled(config)) {
|
||||
if (hasQueryCustomisation(config.computedConfig)) {
|
||||
throw new ConfigurationError(
|
||||
@@ -87254,7 +87299,7 @@ function isCodeQualityEnabled(config) {
|
||||
}
|
||||
|
||||
// src/dependency-caching.ts
|
||||
var os2 = __toESM(require("os"));
|
||||
var os3 = __toESM(require("os"));
|
||||
var import_path = require("path");
|
||||
var actionsCache3 = __toESM(require_cache3());
|
||||
var glob = __toESM(require_glob2());
|
||||
@@ -87266,9 +87311,9 @@ function getJavaTempDependencyDir() {
|
||||
function getJavaDependencyDirs() {
|
||||
return [
|
||||
// Maven
|
||||
(0, import_path.join)(os2.homedir(), ".m2", "repository"),
|
||||
(0, import_path.join)(os3.homedir(), ".m2", "repository"),
|
||||
// Gradle
|
||||
(0, import_path.join)(os2.homedir(), ".gradle", "caches"),
|
||||
(0, import_path.join)(os3.homedir(), ".gradle", "caches"),
|
||||
// CodeQL Java build-mode: none
|
||||
getJavaTempDependencyDir()
|
||||
];
|
||||
@@ -87317,11 +87362,11 @@ var defaultCacheConfigs = {
|
||||
])
|
||||
},
|
||||
csharp: {
|
||||
getDependencyPaths: () => [(0, import_path.join)(os2.homedir(), ".nuget", "packages")],
|
||||
getDependencyPaths: () => [(0, import_path.join)(os3.homedir(), ".nuget", "packages")],
|
||||
getHashPatterns: getCsharpHashPatterns
|
||||
},
|
||||
go: {
|
||||
getDependencyPaths: () => [(0, import_path.join)(os2.homedir(), "go", "pkg", "mod")],
|
||||
getDependencyPaths: () => [(0, import_path.join)(os3.homedir(), "go", "pkg", "mod")],
|
||||
getHashPatterns: async () => internal.makePatternCheck(["**/go.sum"])
|
||||
}
|
||||
};
|
||||
@@ -87926,7 +87971,7 @@ function inferCompressionMethod(tarPath) {
|
||||
|
||||
// src/tools-download.ts
|
||||
var fs8 = __toESM(require("fs"));
|
||||
var os3 = __toESM(require("os"));
|
||||
var os4 = __toESM(require("os"));
|
||||
var path9 = __toESM(require("path"));
|
||||
var import_perf_hooks2 = require("perf_hooks");
|
||||
var core9 = __toESM(require_core());
|
||||
@@ -88064,7 +88109,7 @@ function getToolcacheDirectory(version) {
|
||||
getRequiredEnvParam("RUNNER_TOOL_CACHE"),
|
||||
TOOLCACHE_TOOL_NAME,
|
||||
semver6.clean(version) || version,
|
||||
os3.arch() || ""
|
||||
os4.arch() || ""
|
||||
);
|
||||
}
|
||||
function writeToolcacheMarkerFile(extractedPath, logger) {
|
||||
@@ -89402,7 +89447,7 @@ function cleanupDatabaseClusterDirectory(config, logger, options = {}, rmSync2 =
|
||||
}
|
||||
|
||||
// src/status-report.ts
|
||||
var os4 = __toESM(require("os"));
|
||||
var os5 = __toESM(require("os"));
|
||||
var core11 = __toESM(require_core());
|
||||
function isFirstPartyAnalysis(actionName) {
|
||||
if (actionName !== "upload-sarif" /* UploadSarif */) {
|
||||
@@ -89506,7 +89551,7 @@ async function createStatusReportBase(actionName, status, actionStartedAt, confi
|
||||
statusReport.runner_arch = process.env["RUNNER_ARCH"];
|
||||
}
|
||||
if (!(runnerOs === "Linux" && isSelfHostedRunner())) {
|
||||
statusReport.runner_os_release = os4.release();
|
||||
statusReport.runner_os_release = os5.release();
|
||||
}
|
||||
if (codeQlCliVersion !== void 0) {
|
||||
statusReport.codeql_version = codeQlCliVersion.version;
|
||||
|
||||
5
lib/resolve-environment-action.js
generated
5
lib/resolve-environment-action.js
generated
@@ -84005,6 +84005,11 @@ var featureConfig = {
|
||||
legacyApi: true,
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["ignore_generated_files" /* IgnoreGeneratedFiles */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_IGNORE_GENERATED_FILES",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["java_minimize_dependency_jars" /* JavaMinimizeDependencyJars */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_JAVA_MINIMIZE_DEPENDENCY_JARS",
|
||||
|
||||
5
lib/setup-codeql-action.js
generated
5
lib/setup-codeql-action.js
generated
@@ -83917,6 +83917,11 @@ var featureConfig = {
|
||||
legacyApi: true,
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["ignore_generated_files" /* IgnoreGeneratedFiles */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_IGNORE_GENERATED_FILES",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["java_minimize_dependency_jars" /* JavaMinimizeDependencyJars */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_JAVA_MINIMIZE_DEPENDENCY_JARS",
|
||||
|
||||
5
lib/start-proxy-action-post.js
generated
5
lib/start-proxy-action-post.js
generated
@@ -119480,6 +119480,11 @@ var featureConfig = {
|
||||
legacyApi: true,
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["ignore_generated_files" /* IgnoreGeneratedFiles */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_IGNORE_GENERATED_FILES",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["java_minimize_dependency_jars" /* JavaMinimizeDependencyJars */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_JAVA_MINIMIZE_DEPENDENCY_JARS",
|
||||
|
||||
5
lib/start-proxy-action.js
generated
5
lib/start-proxy-action.js
generated
@@ -100033,6 +100033,11 @@ var featureConfig = {
|
||||
legacyApi: true,
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["ignore_generated_files" /* IgnoreGeneratedFiles */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_IGNORE_GENERATED_FILES",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["java_minimize_dependency_jars" /* JavaMinimizeDependencyJars */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_JAVA_MINIMIZE_DEPENDENCY_JARS",
|
||||
|
||||
12
lib/upload-lib.js
generated
12
lib/upload-lib.js
generated
@@ -86174,7 +86174,12 @@ function isDynamicWorkflow() {
|
||||
return getWorkflowEventName() === "dynamic";
|
||||
}
|
||||
function isDefaultSetup() {
|
||||
return isDynamicWorkflow();
|
||||
return isDynamicWorkflow() && !isCCR();
|
||||
}
|
||||
function isCCR() {
|
||||
return isDynamicWorkflow() && process.env["CODEQL_ACTION_ANALYSIS_KEY"]?.startsWith(
|
||||
"dynamic/copilot-pull-request-reviewer"
|
||||
) || false;
|
||||
}
|
||||
function prettyPrintInvocation(cmd, args) {
|
||||
return [cmd, ...args].map((x) => x.includes(" ") ? `'${x}'` : x).join(" ");
|
||||
@@ -87071,6 +87076,11 @@ var featureConfig = {
|
||||
legacyApi: true,
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["ignore_generated_files" /* IgnoreGeneratedFiles */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_IGNORE_GENERATED_FILES",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["java_minimize_dependency_jars" /* JavaMinimizeDependencyJars */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_JAVA_MINIMIZE_DEPENDENCY_JARS",
|
||||
|
||||
5
lib/upload-sarif-action-post.js
generated
5
lib/upload-sarif-action-post.js
generated
@@ -119646,6 +119646,11 @@ var featureConfig = {
|
||||
legacyApi: true,
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["ignore_generated_files" /* IgnoreGeneratedFiles */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_IGNORE_GENERATED_FILES",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["java_minimize_dependency_jars" /* JavaMinimizeDependencyJars */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_JAVA_MINIMIZE_DEPENDENCY_JARS",
|
||||
|
||||
12
lib/upload-sarif-action.js
generated
12
lib/upload-sarif-action.js
generated
@@ -86204,7 +86204,12 @@ function isDynamicWorkflow() {
|
||||
return getWorkflowEventName() === "dynamic";
|
||||
}
|
||||
function isDefaultSetup() {
|
||||
return isDynamicWorkflow();
|
||||
return isDynamicWorkflow() && !isCCR();
|
||||
}
|
||||
function isCCR() {
|
||||
return isDynamicWorkflow() && process.env["CODEQL_ACTION_ANALYSIS_KEY"]?.startsWith(
|
||||
"dynamic/copilot-pull-request-reviewer"
|
||||
) || false;
|
||||
}
|
||||
function prettyPrintInvocation(cmd, args) {
|
||||
return [cmd, ...args].map((x) => x.includes(" ") ? `'${x}'` : x).join(" ");
|
||||
@@ -86867,6 +86872,11 @@ var featureConfig = {
|
||||
legacyApi: true,
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["ignore_generated_files" /* IgnoreGeneratedFiles */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_IGNORE_GENERATED_FILES",
|
||||
minimumVersion: void 0
|
||||
},
|
||||
["java_minimize_dependency_jars" /* JavaMinimizeDependencyJars */]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_JAVA_MINIMIZE_DEPENDENCY_JARS",
|
||||
|
||||
@@ -5,6 +5,9 @@ import {
|
||||
fixCodeQualityCategory,
|
||||
getPullRequestBranches,
|
||||
isAnalyzingPullRequest,
|
||||
isCCR,
|
||||
isDefaultSetup,
|
||||
isDynamicWorkflow,
|
||||
} from "./actions-util";
|
||||
import { computeAutomationID } from "./api-client";
|
||||
import { EnvVar } from "./environment";
|
||||
@@ -246,3 +249,25 @@ test("fixCodeQualityCategory", (t) => {
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
test("isDynamicWorkflow() returns true if event name is `dynamic`", (t) => {
|
||||
process.env.GITHUB_EVENT_NAME = "dynamic";
|
||||
t.assert(isDynamicWorkflow());
|
||||
process.env.GITHUB_EVENT_NAME = "push";
|
||||
t.false(isDynamicWorkflow());
|
||||
});
|
||||
|
||||
test("isCCR() returns true when expected", (t) => {
|
||||
process.env.GITHUB_EVENT_NAME = "dynamic";
|
||||
process.env.CODEQL_ACTION_ANALYSIS_KEY =
|
||||
"dynamic/copilot-pull-request-reviewer";
|
||||
t.assert(isCCR());
|
||||
t.false(isDefaultSetup());
|
||||
});
|
||||
|
||||
test("isDefaultSetup() returns true when expected", (t) => {
|
||||
process.env.GITHUB_EVENT_NAME = "dynamic";
|
||||
process.env.CODEQL_ACTION_ANALYSIS_KEY = "dynamic/github-code-scanning";
|
||||
t.assert(isDefaultSetup());
|
||||
t.false(isCCR());
|
||||
});
|
||||
|
||||
@@ -254,7 +254,18 @@ export function isDynamicWorkflow(): boolean {
|
||||
|
||||
/** Determines whether we are running in default setup. */
|
||||
export function isDefaultSetup(): boolean {
|
||||
return isDynamicWorkflow();
|
||||
return isDynamicWorkflow() && !isCCR();
|
||||
}
|
||||
|
||||
/** Determines whether we are running in CCR. */
|
||||
export function isCCR(): boolean {
|
||||
return (
|
||||
(isDynamicWorkflow() &&
|
||||
process.env["CODEQL_ACTION_ANALYSIS_KEY"]?.startsWith(
|
||||
"dynamic/copilot-pull-request-reviewer",
|
||||
)) ||
|
||||
false
|
||||
);
|
||||
}
|
||||
|
||||
export function prettyPrintInvocation(cmd: string, args: string[]): string {
|
||||
|
||||
@@ -4,7 +4,11 @@ import { performance } from "perf_hooks";
|
||||
|
||||
import * as yaml from "js-yaml";
|
||||
|
||||
import { getActionVersion, isAnalyzingPullRequest } from "./actions-util";
|
||||
import {
|
||||
getActionVersion,
|
||||
isAnalyzingPullRequest,
|
||||
isCCR,
|
||||
} from "./actions-util";
|
||||
import {
|
||||
AnalysisConfig,
|
||||
AnalysisKind,
|
||||
@@ -26,7 +30,11 @@ import { shouldPerformDiffInformedAnalysis } from "./diff-informed-analysis-util
|
||||
import * as errorMessages from "./error-messages";
|
||||
import { Feature, FeatureEnablement } from "./feature-flags";
|
||||
import { RepositoryProperties } from "./feature-flags/properties";
|
||||
import { getGitRoot, isAnalyzingDefaultBranch } from "./git-utils";
|
||||
import {
|
||||
getGeneratedFiles,
|
||||
getGitRoot,
|
||||
isAnalyzingDefaultBranch,
|
||||
} from "./git-utils";
|
||||
import { KnownLanguage, Language } from "./languages";
|
||||
import { Logger } from "./logging";
|
||||
import {
|
||||
@@ -44,6 +52,7 @@ import {
|
||||
cloneObject,
|
||||
isDefined,
|
||||
checkDiskUsage,
|
||||
getErrorMessage,
|
||||
} from "./util";
|
||||
|
||||
export * from "./config/db-config";
|
||||
@@ -845,6 +854,19 @@ export async function initConfig(
|
||||
|
||||
const config = await initActionState(inputs, userConfig);
|
||||
|
||||
// If we are in CCR or the corresponding FF is enabled, try to determine
|
||||
// which files in the repository are marked as generated and add them to
|
||||
// the `paths-ignore` configuration.
|
||||
if ((await features.getValue(Feature.IgnoreGeneratedFiles)) || isCCR()) {
|
||||
try {
|
||||
const generatedFiles = await getGeneratedFiles(inputs.sourceRoot);
|
||||
config.computedConfig["paths-ignore"] ??= [];
|
||||
config.computedConfig["paths-ignore"].push(...generatedFiles);
|
||||
} catch (error) {
|
||||
logger.info(`Cannot ignore generated files: ${getErrorMessage(error)}`);
|
||||
}
|
||||
}
|
||||
|
||||
// If Code Quality analysis is the only enabled analysis kind, then we will initialise
|
||||
// the database for Code Quality. That entails disabling the default queries and only
|
||||
// running quality queries. We do not currently support query customisations in that case.
|
||||
|
||||
@@ -53,6 +53,7 @@ export enum Feature {
|
||||
DisableJavaBuildlessEnabled = "disable_java_buildless_enabled",
|
||||
DisableKotlinAnalysisEnabled = "disable_kotlin_analysis_enabled",
|
||||
ExportDiagnosticsEnabled = "export_diagnostics_enabled",
|
||||
IgnoreGeneratedFiles = "ignore_generated_files",
|
||||
JavaMinimizeDependencyJars = "java_minimize_dependency_jars",
|
||||
OverlayAnalysis = "overlay_analysis",
|
||||
OverlayAnalysisActions = "overlay_analysis_actions",
|
||||
@@ -167,6 +168,11 @@ export const featureConfig: Record<
|
||||
legacyApi: true,
|
||||
minimumVersion: undefined,
|
||||
},
|
||||
[Feature.IgnoreGeneratedFiles]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_IGNORE_GENERATED_FILES",
|
||||
minimumVersion: undefined,
|
||||
},
|
||||
[Feature.JavaMinimizeDependencyJars]: {
|
||||
defaultValue: false,
|
||||
envVar: "CODEQL_ACTION_JAVA_MINIMIZE_DEPENDENCY_JARS",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import * as fs from "fs";
|
||||
import * as os from "os";
|
||||
import * as path from "path";
|
||||
|
||||
import * as core from "@actions/core";
|
||||
@@ -392,3 +393,41 @@ test("getFileOidsUnderPath throws on unexpected output format", async (t) => {
|
||||
runGitCommandStub.restore();
|
||||
}
|
||||
});
|
||||
|
||||
test("listFiles returns array of file paths", async (t) => {
|
||||
sinon
|
||||
.stub(gitUtils, "runGitCommand")
|
||||
.resolves(["dir/file.txt", "README.txt"].join(os.EOL));
|
||||
|
||||
await t.notThrowsAsync(async () => {
|
||||
const result = await gitUtils.listFiles("/some/path");
|
||||
t.is(result.length, 2);
|
||||
t.is(result[0], "dir/file.txt");
|
||||
});
|
||||
});
|
||||
|
||||
test("getGeneratedFiles returns generated files only", async (t) => {
|
||||
const runGitCommandStub = sinon.stub(gitUtils, "runGitCommand");
|
||||
|
||||
runGitCommandStub
|
||||
.onFirstCall()
|
||||
.resolves(["dir/file.txt", "test.json", "README.txt"].join(os.EOL));
|
||||
runGitCommandStub
|
||||
.onSecondCall()
|
||||
.resolves(
|
||||
[
|
||||
"dir/file.txt: linguist-generated: unspecified",
|
||||
"test.json: linguist-generated: true",
|
||||
"README.txt: linguist-generated: false",
|
||||
].join(os.EOL),
|
||||
);
|
||||
|
||||
await t.notThrowsAsync(async () => {
|
||||
const result = await gitUtils.getGeneratedFiles("/some/path");
|
||||
|
||||
t.assert(runGitCommandStub.calledTwice);
|
||||
|
||||
t.is(result.length, 1);
|
||||
t.is(result[0], "test.json");
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
import * as os from "os";
|
||||
|
||||
import * as core from "@actions/core";
|
||||
import * as toolrunner from "@actions/exec/lib/toolrunner";
|
||||
import * as io from "@actions/io";
|
||||
@@ -408,3 +410,34 @@ export async function isAnalyzingDefaultBranch(): Promise<boolean> {
|
||||
|
||||
return currentRef === defaultBranch;
|
||||
}
|
||||
|
||||
export async function listFiles(workingDirectory: string): Promise<string[]> {
|
||||
const stdout = await runGitCommand(
|
||||
workingDirectory,
|
||||
["ls-files"],
|
||||
"Unable to list tracked files.",
|
||||
);
|
||||
return stdout.split(os.EOL);
|
||||
}
|
||||
|
||||
export async function getGeneratedFiles(
|
||||
workingDirectory: string,
|
||||
): Promise<string[]> {
|
||||
const files = await listFiles(workingDirectory);
|
||||
const stdout = await runGitCommand(
|
||||
workingDirectory,
|
||||
["check-attr", "linguist-generated", "--", ...files],
|
||||
"Unable to check attributes of files.",
|
||||
);
|
||||
|
||||
const generatedFiles: string[] = [];
|
||||
const regex = /^([^:]+): linguist-generated: true$/;
|
||||
for (const result of stdout.split(os.EOL)) {
|
||||
const match = result.match(regex);
|
||||
if (match) {
|
||||
generatedFiles.push(match[1]);
|
||||
}
|
||||
}
|
||||
|
||||
return generatedFiles;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user