mirror of
https://github.com/github/codeql-action.git
synced 2026-10-03 09:14:58 +00:00
Move loadRepositoryProperties to properties.ts
This commit is contained in:
50
lib/entry-points.js
generated
50
lib/entry-points.js
generated
@@ -147901,6 +147901,7 @@ function getUnknownLanguagesError(languages) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// src/feature-flags/properties.ts
|
// src/feature-flags/properties.ts
|
||||||
|
var github2 = __toESM(require_github());
|
||||||
var GITHUB_CODEQL_PROPERTY_PREFIX = "github-codeql-";
|
var GITHUB_CODEQL_PROPERTY_PREFIX = "github-codeql-";
|
||||||
var RepositoryPropertyName = /* @__PURE__ */ ((RepositoryPropertyName2) => {
|
var RepositoryPropertyName = /* @__PURE__ */ ((RepositoryPropertyName2) => {
|
||||||
RepositoryPropertyName2["CONFIG_FILE"] = "github-codeql-config-file";
|
RepositoryPropertyName2["CONFIG_FILE"] = "github-codeql-config-file";
|
||||||
@@ -148007,6 +148008,26 @@ var KNOWN_REPOSITORY_PROPERTY_NAMES = new Set(
|
|||||||
function isKnownPropertyName(name) {
|
function isKnownPropertyName(name) {
|
||||||
return KNOWN_REPOSITORY_PROPERTY_NAMES.has(name);
|
return KNOWN_REPOSITORY_PROPERTY_NAMES.has(name);
|
||||||
}
|
}
|
||||||
|
async function loadRepositoryProperties(repositoryNwo, logger) {
|
||||||
|
const repositoryOwnerType = github2.context.payload.repository?.owner.type;
|
||||||
|
logger.debug(
|
||||||
|
`Repository owner type is '${repositoryOwnerType ?? "unknown"}'.`
|
||||||
|
);
|
||||||
|
if (repositoryOwnerType === "User") {
|
||||||
|
logger.debug(
|
||||||
|
"Skipping loading repository properties because the repository is owned by a user and therefore cannot have repository properties."
|
||||||
|
);
|
||||||
|
return new Success({});
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
return new Success(await loadPropertiesFromApi(logger, repositoryNwo));
|
||||||
|
} catch (error3) {
|
||||||
|
logger.warning(
|
||||||
|
`Failed to load repository properties: ${getErrorMessage(error3)}`
|
||||||
|
);
|
||||||
|
return new Failure(error3);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// src/config/db-config.ts
|
// src/config/db-config.ts
|
||||||
var ORG_SCHEMA = {
|
var ORG_SCHEMA = {
|
||||||
@@ -154021,7 +154042,7 @@ var fs19 = __toESM(require("fs"));
|
|||||||
var path17 = __toESM(require("path"));
|
var path17 = __toESM(require("path"));
|
||||||
var core14 = __toESM(require_core());
|
var core14 = __toESM(require_core());
|
||||||
var toolrunner4 = __toESM(require_toolrunner());
|
var toolrunner4 = __toESM(require_toolrunner());
|
||||||
var github2 = __toESM(require_github());
|
var github3 = __toESM(require_github());
|
||||||
var io6 = __toESM(require_io());
|
var io6 = __toESM(require_io());
|
||||||
async function initCodeQL(toolsInput, apiDetails, tempDir, variant, defaultCliVersion, rawLanguages, useOverlayAwareDefaultCliVersion, features, logger) {
|
async function initCodeQL(toolsInput, apiDetails, tempDir, variant, defaultCliVersion, rawLanguages, useOverlayAwareDefaultCliVersion, features, logger) {
|
||||||
logger.startGroup("Setup CodeQL tools");
|
logger.startGroup("Setup CodeQL tools");
|
||||||
@@ -154225,7 +154246,7 @@ function logFileCoverageOnPrsDeprecationWarning(logger) {
|
|||||||
if (process.env["CODEQL_ACTION_DID_LOG_FILE_COVERAGE_ON_PRS_DEPRECATION" /* DID_LOG_FILE_COVERAGE_ON_PRS_DEPRECATION */]) {
|
if (process.env["CODEQL_ACTION_DID_LOG_FILE_COVERAGE_ON_PRS_DEPRECATION" /* DID_LOG_FILE_COVERAGE_ON_PRS_DEPRECATION */]) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const repositoryOwnerType = github2.context.payload.repository?.owner.type;
|
const repositoryOwnerType = github3.context.payload.repository?.owner.type;
|
||||||
let message = "Starting April 2026, the CodeQL Action will skip computing file coverage information on pull requests to improve analysis performance. File coverage information will still be computed on non-PR analyses.";
|
let message = "Starting April 2026, the CodeQL Action will skip computing file coverage information on pull requests to improve analysis performance. File coverage information will still be computed on non-PR analyses.";
|
||||||
const envVarOptOut = "set the `CODEQL_ACTION_FILE_COVERAGE_ON_PRS` environment variable to `true`.";
|
const envVarOptOut = "set the `CODEQL_ACTION_FILE_COVERAGE_ON_PRS` environment variable to `true`.";
|
||||||
const repoPropertyOptOut = 'create a custom repository property with the name `github-codeql-file-coverage-on-prs` and the type "True/false", then set this property to `true` in the repository\'s settings.';
|
const repoPropertyOptOut = 'create a custom repository property with the name `github-codeql-file-coverage-on-prs` and the type "True/false", then set this property to `true` in the repository\'s settings.';
|
||||||
@@ -157348,7 +157369,7 @@ var import_async = __toESM(require_async(), 1);
|
|||||||
var import_path6 = require("path");
|
var import_path6 = require("path");
|
||||||
|
|
||||||
// node_modules/archiver/lib/error.js
|
// node_modules/archiver/lib/error.js
|
||||||
var import_util32 = __toESM(require("util"), 1);
|
var import_util33 = __toESM(require("util"), 1);
|
||||||
var ERROR_CODES = {
|
var ERROR_CODES = {
|
||||||
ABORTED: "archive was aborted",
|
ABORTED: "archive was aborted",
|
||||||
DIRECTORYDIRPATHREQUIRED: "diretory dirpath argument must be a non-empty string value",
|
DIRECTORYDIRPATHREQUIRED: "diretory dirpath argument must be a non-empty string value",
|
||||||
@@ -157373,7 +157394,7 @@ function ArchiverError(code, data) {
|
|||||||
this.code = code;
|
this.code = code;
|
||||||
this.data = data;
|
this.data = data;
|
||||||
}
|
}
|
||||||
import_util32.default.inherits(ArchiverError, Error);
|
import_util33.default.inherits(ArchiverError, Error);
|
||||||
|
|
||||||
// node_modules/archiver/lib/core.js
|
// node_modules/archiver/lib/core.js
|
||||||
var import_readable_stream2 = __toESM(require_ours(), 1);
|
var import_readable_stream2 = __toESM(require_ours(), 1);
|
||||||
@@ -160304,7 +160325,6 @@ async function runWrapper3() {
|
|||||||
var fs28 = __toESM(require("fs"));
|
var fs28 = __toESM(require("fs"));
|
||||||
var path24 = __toESM(require("path"));
|
var path24 = __toESM(require("path"));
|
||||||
var core21 = __toESM(require_core());
|
var core21 = __toESM(require_core());
|
||||||
var github3 = __toESM(require_github());
|
|
||||||
var io7 = __toESM(require_io());
|
var io7 = __toESM(require_io());
|
||||||
var semver10 = __toESM(require_semver2());
|
var semver10 = __toESM(require_semver2());
|
||||||
|
|
||||||
@@ -161076,26 +161096,6 @@ exec ${goBinaryPath} "$@"`
|
|||||||
logger
|
logger
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
async function loadRepositoryProperties(repositoryNwo, logger) {
|
|
||||||
const repositoryOwnerType = github3.context.payload.repository?.owner.type;
|
|
||||||
logger.debug(
|
|
||||||
`Repository owner type is '${repositoryOwnerType ?? "unknown"}'.`
|
|
||||||
);
|
|
||||||
if (repositoryOwnerType === "User") {
|
|
||||||
logger.debug(
|
|
||||||
"Skipping loading repository properties because the repository is owned by a user and therefore cannot have repository properties."
|
|
||||||
);
|
|
||||||
return new Success({});
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
return new Success(await loadPropertiesFromApi(logger, repositoryNwo));
|
|
||||||
} catch (error3) {
|
|
||||||
logger.warning(
|
|
||||||
`Failed to load repository properties: ${getErrorMessage(error3)}`
|
|
||||||
);
|
|
||||||
return new Failure(error3);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
async function recordZstdAvailability(config, zstdAvailability) {
|
async function recordZstdAvailability(config, zstdAvailability) {
|
||||||
addNoLanguageDiagnostic(
|
addNoLanguageDiagnostic(
|
||||||
config,
|
config,
|
||||||
|
|||||||
@@ -1,7 +1,10 @@
|
|||||||
|
import * as github from "@actions/github";
|
||||||
|
|
||||||
import { isDynamicWorkflow } from "../actions-util";
|
import { isDynamicWorkflow } from "../actions-util";
|
||||||
import { getRepositoryProperties } from "../api-client";
|
import { getRepositoryProperties } from "../api-client";
|
||||||
import { Logger } from "../logging";
|
import { Logger } from "../logging";
|
||||||
import { RepositoryNwo } from "../repository";
|
import { RepositoryNwo } from "../repository";
|
||||||
|
import { Failure, getErrorMessage, Result, Success } from "../util";
|
||||||
|
|
||||||
/** The common prefix that we expect all of our repository properties to have. */
|
/** The common prefix that we expect all of our repository properties to have. */
|
||||||
export const GITHUB_CODEQL_PROPERTY_PREFIX = "github-codeql-";
|
export const GITHUB_CODEQL_PROPERTY_PREFIX = "github-codeql-";
|
||||||
@@ -234,3 +237,35 @@ const KNOWN_REPOSITORY_PROPERTY_NAMES = new Set<string>(
|
|||||||
function isKnownPropertyName(name: string): name is RepositoryPropertyName {
|
function isKnownPropertyName(name: string): name is RepositoryPropertyName {
|
||||||
return KNOWN_REPOSITORY_PROPERTY_NAMES.has(name);
|
return KNOWN_REPOSITORY_PROPERTY_NAMES.has(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Loads [repository properties](https://docs.github.com/en/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization) if applicable.
|
||||||
|
*/
|
||||||
|
export async function loadRepositoryProperties(
|
||||||
|
repositoryNwo: RepositoryNwo,
|
||||||
|
logger: Logger,
|
||||||
|
): Promise<Result<RepositoryProperties, unknown>> {
|
||||||
|
// See if we can skip loading repository properties early. In particular,
|
||||||
|
// repositories owned by users cannot have repository properties, so we can
|
||||||
|
// skip the API call entirely in that case.
|
||||||
|
const repositoryOwnerType = github.context.payload.repository?.owner.type;
|
||||||
|
logger.debug(
|
||||||
|
`Repository owner type is '${repositoryOwnerType ?? "unknown"}'.`,
|
||||||
|
);
|
||||||
|
if (repositoryOwnerType === "User") {
|
||||||
|
logger.debug(
|
||||||
|
"Skipping loading repository properties because the repository is owned by a user and " +
|
||||||
|
"therefore cannot have repository properties.",
|
||||||
|
);
|
||||||
|
return new Success({});
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
return new Success(await loadPropertiesFromApi(logger, repositoryNwo));
|
||||||
|
} catch (error) {
|
||||||
|
logger.warning(
|
||||||
|
`Failed to load repository properties: ${getErrorMessage(error)}`,
|
||||||
|
);
|
||||||
|
return new Failure(error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ import * as fs from "fs";
|
|||||||
import * as path from "path";
|
import * as path from "path";
|
||||||
|
|
||||||
import * as core from "@actions/core";
|
import * as core from "@actions/core";
|
||||||
import * as github from "@actions/github";
|
|
||||||
import * as io from "@actions/io";
|
import * as io from "@actions/io";
|
||||||
import * as semver from "semver";
|
import * as semver from "semver";
|
||||||
import { v4 as uuidV4 } from "uuid";
|
import { v4 as uuidV4 } from "uuid";
|
||||||
@@ -41,10 +40,7 @@ import {
|
|||||||
} from "./diagnostics";
|
} from "./diagnostics";
|
||||||
import { EnvVar } from "./environment";
|
import { EnvVar } from "./environment";
|
||||||
import { Feature, FeatureEnablement, initFeatures } from "./feature-flags";
|
import { Feature, FeatureEnablement, initFeatures } from "./feature-flags";
|
||||||
import {
|
import { loadRepositoryProperties } from "./feature-flags/properties";
|
||||||
loadPropertiesFromApi,
|
|
||||||
RepositoryProperties,
|
|
||||||
} from "./feature-flags/properties";
|
|
||||||
import {
|
import {
|
||||||
checkInstallPython311,
|
checkInstallPython311,
|
||||||
checkPacksForOverlayCompatibility,
|
checkPacksForOverlayCompatibility,
|
||||||
@@ -62,7 +58,7 @@ import {
|
|||||||
OverlayBaseDatabaseDownloadStats,
|
OverlayBaseDatabaseDownloadStats,
|
||||||
} from "./overlay/caching";
|
} from "./overlay/caching";
|
||||||
import { OverlayDatabaseMode } from "./overlay/overlay-database-mode";
|
import { OverlayDatabaseMode } from "./overlay/overlay-database-mode";
|
||||||
import { getRepositoryNwo, RepositoryNwo } from "./repository";
|
import { getRepositoryNwo } from "./repository";
|
||||||
import { ToolsSource } from "./setup-codeql";
|
import { ToolsSource } from "./setup-codeql";
|
||||||
import {
|
import {
|
||||||
ActionName,
|
ActionName,
|
||||||
@@ -94,10 +90,7 @@ import {
|
|||||||
checkActionVersion,
|
checkActionVersion,
|
||||||
getErrorMessage,
|
getErrorMessage,
|
||||||
BuildMode,
|
BuildMode,
|
||||||
Result,
|
|
||||||
getOptionalEnvVar,
|
getOptionalEnvVar,
|
||||||
Success,
|
|
||||||
Failure,
|
|
||||||
} from "./util";
|
} from "./util";
|
||||||
import { checkWorkflow } from "./workflow";
|
import { checkWorkflow } from "./workflow";
|
||||||
|
|
||||||
@@ -805,38 +798,6 @@ async function run(
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Loads [repository properties](https://docs.github.com/en/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization) if applicable.
|
|
||||||
*/
|
|
||||||
async function loadRepositoryProperties(
|
|
||||||
repositoryNwo: RepositoryNwo,
|
|
||||||
logger: Logger,
|
|
||||||
): Promise<Result<RepositoryProperties, unknown>> {
|
|
||||||
// See if we can skip loading repository properties early. In particular,
|
|
||||||
// repositories owned by users cannot have repository properties, so we can
|
|
||||||
// skip the API call entirely in that case.
|
|
||||||
const repositoryOwnerType = github.context.payload.repository?.owner.type;
|
|
||||||
logger.debug(
|
|
||||||
`Repository owner type is '${repositoryOwnerType ?? "unknown"}'.`,
|
|
||||||
);
|
|
||||||
if (repositoryOwnerType === "User") {
|
|
||||||
logger.debug(
|
|
||||||
"Skipping loading repository properties because the repository is owned by a user and " +
|
|
||||||
"therefore cannot have repository properties.",
|
|
||||||
);
|
|
||||||
return new Success({});
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
return new Success(await loadPropertiesFromApi(logger, repositoryNwo));
|
|
||||||
} catch (error) {
|
|
||||||
logger.warning(
|
|
||||||
`Failed to load repository properties: ${getErrorMessage(error)}`,
|
|
||||||
);
|
|
||||||
return new Failure(error);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
async function recordZstdAvailability(
|
async function recordZstdAvailability(
|
||||||
config: configUtils.Config,
|
config: configUtils.Config,
|
||||||
zstdAvailability: ZstdAvailability,
|
zstdAvailability: ZstdAvailability,
|
||||||
|
|||||||
Reference in New Issue
Block a user