Add a notice that CodeQL Action v1 is discontinued
This commit is contained in:
parent
32be38eeff
commit
4b40a3a20e
6 changed files with 39 additions and 65 deletions
24
lib/util.js
generated
24
lib/util.js
generated
|
|
@ -31,7 +31,6 @@ const core = __importStar(require("@actions/core"));
|
|||
const del_1 = __importDefault(require("del"));
|
||||
const get_folder_size_1 = __importDefault(require("get-folder-size"));
|
||||
const semver = __importStar(require("semver"));
|
||||
const api = __importStar(require("./api-client"));
|
||||
const api_client_1 = require("./api-client");
|
||||
const apiCompatibility = __importStar(require("./api-compatibility.json"));
|
||||
const codeql_1 = require("./codeql");
|
||||
|
|
@ -530,26 +529,15 @@ exports.getMlPoweredJsQueriesStatus = getMlPoweredJsQueriesStatus;
|
|||
* Prompt the customer to upgrade to CodeQL Action v2, if appropriate.
|
||||
*
|
||||
* Check whether a customer is running v1. If they are, and we can determine that the GitHub
|
||||
* instance supports v2, then log a warning about v1's upcoming deprecation prompting the customer
|
||||
* to upgrade to v2.
|
||||
* instance supports v2, then log an error that v1 is discontinued and prompt the customer to
|
||||
* upgrade to v2.
|
||||
*/
|
||||
async function checkActionVersion(version) {
|
||||
var _a;
|
||||
if (!semver.satisfies(version, ">=2")) {
|
||||
const githubVersion = await api.getGitHubVersion();
|
||||
// Only log a warning for versions of GHES that are compatible with CodeQL Action version 2.
|
||||
//
|
||||
// GHES 3.4 shipped without the v2 tag, but it also shipped without this warning message code.
|
||||
// Therefore users who are seeing this warning message code have pulled in a new version of the
|
||||
// Action, and with it the v2 tag.
|
||||
if (githubVersion.type === GitHubVariant.DOTCOM ||
|
||||
githubVersion.type === GitHubVariant.GHAE ||
|
||||
(githubVersion.type === GitHubVariant.GHES &&
|
||||
semver.satisfies((_a = semver.coerce(githubVersion.version)) !== null && _a !== void 0 ? _a : "0.0.0", ">=3.4"))) {
|
||||
core.warning("CodeQL Action v1 will be deprecated on January 18th, 2023. Please upgrade to v2. For " +
|
||||
"more information, see " +
|
||||
"https://github.blog/changelog/2022-04-27-code-scanning-deprecation-of-codeql-action-v1/");
|
||||
}
|
||||
core.error("This version of the CodeQL Action was discontinued on January 18th, 2023, and is no longer " +
|
||||
"updated or supported. For better performance, improved security, and new features, " +
|
||||
"upgrade to v2. For more information, see " +
|
||||
"https://github.blog/changelog/2022-04-27-code-scanning-deprecation-of-codeql-action-v1/");
|
||||
}
|
||||
}
|
||||
exports.checkActionVersion = checkActionVersion;
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
20
lib/util.test.js
generated
20
lib/util.test.js
generated
|
|
@ -259,7 +259,7 @@ function formatGitHubVersion(version) {
|
|||
const CHECK_ACTION_VERSION_TESTS = [
|
||||
["1.2.1", { type: util.GitHubVariant.DOTCOM }, true],
|
||||
["1.2.1", { type: util.GitHubVariant.GHAE }, true],
|
||||
["1.2.1", { type: util.GitHubVariant.GHES, version: "3.3" }, false],
|
||||
["1.2.1", { type: util.GitHubVariant.GHES, version: "3.3" }, true],
|
||||
["1.2.1", { type: util.GitHubVariant.GHES, version: "3.4" }, true],
|
||||
["1.2.1", { type: util.GitHubVariant.GHES, version: "3.5" }, true],
|
||||
["2.2.1", { type: util.GitHubVariant.DOTCOM }, false],
|
||||
|
|
@ -268,22 +268,22 @@ const CHECK_ACTION_VERSION_TESTS = [
|
|||
["2.2.1", { type: util.GitHubVariant.GHES, version: "3.4" }, false],
|
||||
["2.2.1", { type: util.GitHubVariant.GHES, version: "3.5" }, false],
|
||||
];
|
||||
for (const [version, githubVersion, shouldReportWarning,] of CHECK_ACTION_VERSION_TESTS) {
|
||||
const reportWarningDescription = shouldReportWarning
|
||||
? "reports warning"
|
||||
: "doesn't report warning";
|
||||
for (const [version, githubVersion, shouldReportError,] of CHECK_ACTION_VERSION_TESTS) {
|
||||
const reportErrorDescription = shouldReportError
|
||||
? "reports error"
|
||||
: "doesn't report error";
|
||||
const versionsDescription = `CodeQL Action version ${version} and GitHub version ${formatGitHubVersion(githubVersion)}`;
|
||||
(0, ava_1.default)(`checkActionVersion ${reportWarningDescription} for ${versionsDescription}`, async (t) => {
|
||||
const warningSpy = sinon.spy(core, "warning");
|
||||
(0, ava_1.default)(`checkActionVersion ${reportErrorDescription} for ${versionsDescription}`, async (t) => {
|
||||
const errorSpy = sinon.spy(core, "error");
|
||||
const versionStub = sinon
|
||||
.stub(api, "getGitHubVersion")
|
||||
.resolves(githubVersion);
|
||||
await util.checkActionVersion(version);
|
||||
if (shouldReportWarning) {
|
||||
t.true(warningSpy.calledOnceWithExactly(sinon.match("CodeQL Action v1 will be deprecated")));
|
||||
if (shouldReportError) {
|
||||
t.true(errorSpy.calledOnceWithExactly(sinon.match("This version of the CodeQL Action was discontinued on January 18th, 2023")));
|
||||
}
|
||||
else {
|
||||
t.false(warningSpy.called);
|
||||
t.false(errorSpy.called);
|
||||
}
|
||||
versionStub.restore();
|
||||
});
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue