Store diagnostics in language-specific database
This commit is contained in:
parent
4154eb799b
commit
a144bf5d7f
6 changed files with 15 additions and 7 deletions
2
lib/analyze-action.js
generated
2
lib/analyze-action.js
generated
|
|
@ -170,7 +170,7 @@ async function run() {
|
||||||
const goBinaryPath = await (0, safe_which_1.safeWhich)("go");
|
const goBinaryPath = await (0, safe_which_1.safeWhich)("go");
|
||||||
if (goWrapperPath !== goBinaryPath) {
|
if (goWrapperPath !== goBinaryPath) {
|
||||||
core.warning(`Expected \`which go\` to return ${goWrapperPath}, but got ${goBinaryPath}: please ensure that the correct version of Go is installed before the \`codeql-action/init\` Action is used.`);
|
core.warning(`Expected \`which go\` to return ${goWrapperPath}, but got ${goBinaryPath}: please ensure that the correct version of Go is installed before the \`codeql-action/init\` Action is used.`);
|
||||||
(0, diagnostics_1.addDiagnostic)(config, (0, diagnostics_1.makeDiagnostic)("go/workflow/go-installed-after-codeql-init", "Go was installed after the `codeql-action/init` Action was run", {
|
(0, diagnostics_1.addDiagnostic)(config, languages_1.Language.go, (0, diagnostics_1.makeDiagnostic)("go/workflow/go-installed-after-codeql-init", "Go was installed after the `codeql-action/init` Action was run", {
|
||||||
plaintextMessage: "To avoid interfering with the CodeQL analysis after the `codeql-action/init` Action is run, you should perform all installation steps beforehand.",
|
plaintextMessage: "To avoid interfering with the CodeQL analysis after the `codeql-action/init` Action is run, you should perform all installation steps beforehand.",
|
||||||
visibility: {
|
visibility: {
|
||||||
statusPage: true,
|
statusPage: true,
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
5
lib/diagnostics.js
generated
5
lib/diagnostics.js
generated
|
|
@ -7,6 +7,7 @@ exports.addDiagnostic = exports.makeDiagnostic = void 0;
|
||||||
const fs_1 = require("fs");
|
const fs_1 = require("fs");
|
||||||
const path_1 = __importDefault(require("path"));
|
const path_1 = __importDefault(require("path"));
|
||||||
const logging_1 = require("./logging");
|
const logging_1 = require("./logging");
|
||||||
|
const util_1 = require("./util");
|
||||||
/**
|
/**
|
||||||
* Constructs a new diagnostic message with the specified id and name, as well as optional additional data.
|
* Constructs a new diagnostic message with the specified id and name, as well as optional additional data.
|
||||||
*
|
*
|
||||||
|
|
@ -29,9 +30,9 @@ exports.makeDiagnostic = makeDiagnostic;
|
||||||
* @param config The configuration that tells us where to store the diagnostic.
|
* @param config The configuration that tells us where to store the diagnostic.
|
||||||
* @param diagnostic The diagnostic message to add to the database.
|
* @param diagnostic The diagnostic message to add to the database.
|
||||||
*/
|
*/
|
||||||
function addDiagnostic(config, diagnostic) {
|
function addDiagnostic(config, language, diagnostic) {
|
||||||
const logger = (0, logging_1.getActionsLogger)();
|
const logger = (0, logging_1.getActionsLogger)();
|
||||||
const diagnosticsPath = path_1.default.resolve(config.dbLocation, "diagnostic", "codeql-action");
|
const diagnosticsPath = path_1.default.resolve((0, util_1.getCodeQLDatabasePath)(config, language), "diagnostic", "codeql-action");
|
||||||
// Create the directory if it doesn't exist yet.
|
// Create the directory if it doesn't exist yet.
|
||||||
(0, fs_1.mkdirSync)(diagnosticsPath, { recursive: true });
|
(0, fs_1.mkdirSync)(diagnosticsPath, { recursive: true });
|
||||||
const jsonPath = path_1.default.resolve(diagnosticsPath, `codeql-action-${diagnostic.timestamp}.json`);
|
const jsonPath = path_1.default.resolve(diagnosticsPath, `codeql-action-${diagnostic.timestamp}.json`);
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":";;;;;;AAAA,2BAA8C;AAC9C,gDAAwB;AAGxB,uCAA6C;AAmD7C;;;;;;;GAOG;AACH,SAAgB,cAAc,CAC5B,EAAU,EACV,IAAY,EACZ,OAA+C,SAAS;IAExD,OAAO;QACL,GAAG,IAAI;QACP,SAAS,EAAE,IAAI,EAAE,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACtD,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE;KACtC,CAAC;AACJ,CAAC;AAVD,wCAUC;AAED;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,MAAc,EAAE,UAA6B;IACzE,MAAM,MAAM,GAAG,IAAA,0BAAgB,GAAE,CAAC;IAClC,MAAM,eAAe,GAAG,cAAI,CAAC,OAAO,CAClC,MAAM,CAAC,UAAU,EACjB,YAAY,EACZ,eAAe,CAChB,CAAC;IAEF,gDAAgD;IAChD,IAAA,cAAS,EAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEhD,MAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CAC3B,eAAe,EACf,iBAAiB,UAAU,CAAC,SAAS,OAAO,CAC7C,CAAC;IAEF,IAAI;QACF,IAAA,kBAAa,EAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;KACrD;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,CAAC,OAAO,CAAC,mDAAmD,GAAG,EAAE,CAAC,CAAC;KAC1E;AACH,CAAC;AArBD,sCAqBC"}
|
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":";;;;;;AAAA,2BAA8C;AAC9C,gDAAwB;AAIxB,uCAA6C;AAC7C,iCAA+C;AAmD/C;;;;;;;GAOG;AACH,SAAgB,cAAc,CAC5B,EAAU,EACV,IAAY,EACZ,OAA+C,SAAS;IAExD,OAAO;QACL,GAAG,IAAI;QACP,SAAS,EAAE,IAAI,EAAE,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACtD,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE;KACtC,CAAC;AACJ,CAAC;AAVD,wCAUC;AAED;;;;;GAKG;AACH,SAAgB,aAAa,CAC3B,MAAc,EACd,QAAkB,EAClB,UAA6B;IAE7B,MAAM,MAAM,GAAG,IAAA,0BAAgB,GAAE,CAAC;IAClC,MAAM,eAAe,GAAG,cAAI,CAAC,OAAO,CAClC,IAAA,4BAAqB,EAAC,MAAM,EAAE,QAAQ,CAAC,EACvC,YAAY,EACZ,eAAe,CAChB,CAAC;IAEF,gDAAgD;IAChD,IAAA,cAAS,EAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEhD,MAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CAC3B,eAAe,EACf,iBAAiB,UAAU,CAAC,SAAS,OAAO,CAC7C,CAAC;IAEF,IAAI;QACF,IAAA,kBAAa,EAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;KACrD;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,CAAC,OAAO,CAAC,mDAAmD,GAAG,EAAE,CAAC,CAAC;KAC1E;AACH,CAAC;AAzBD,sCAyBC"}
|
||||||
|
|
@ -249,6 +249,7 @@ async function run() {
|
||||||
|
|
||||||
addDiagnostic(
|
addDiagnostic(
|
||||||
config,
|
config,
|
||||||
|
Language.go,
|
||||||
makeDiagnostic(
|
makeDiagnostic(
|
||||||
"go/workflow/go-installed-after-codeql-init",
|
"go/workflow/go-installed-after-codeql-init",
|
||||||
"Go was installed after the `codeql-action/init` Action was run",
|
"Go was installed after the `codeql-action/init` Action was run",
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,9 @@ import { mkdirSync, writeFileSync } from "fs";
|
||||||
import path from "path";
|
import path from "path";
|
||||||
|
|
||||||
import { Config } from "./config-utils";
|
import { Config } from "./config-utils";
|
||||||
|
import { Language } from "./languages";
|
||||||
import { getActionsLogger } from "./logging";
|
import { getActionsLogger } from "./logging";
|
||||||
|
import { getCodeQLDatabasePath } from "./util";
|
||||||
|
|
||||||
/** Represents a diagnostic message for the tool status page, etc. */
|
/** Represents a diagnostic message for the tool status page, etc. */
|
||||||
export interface DiagnosticMessage {
|
export interface DiagnosticMessage {
|
||||||
|
|
@ -79,10 +81,14 @@ export function makeDiagnostic(
|
||||||
* @param config The configuration that tells us where to store the diagnostic.
|
* @param config The configuration that tells us where to store the diagnostic.
|
||||||
* @param diagnostic The diagnostic message to add to the database.
|
* @param diagnostic The diagnostic message to add to the database.
|
||||||
*/
|
*/
|
||||||
export function addDiagnostic(config: Config, diagnostic: DiagnosticMessage) {
|
export function addDiagnostic(
|
||||||
|
config: Config,
|
||||||
|
language: Language,
|
||||||
|
diagnostic: DiagnosticMessage,
|
||||||
|
) {
|
||||||
const logger = getActionsLogger();
|
const logger = getActionsLogger();
|
||||||
const diagnosticsPath = path.resolve(
|
const diagnosticsPath = path.resolve(
|
||||||
config.dbLocation,
|
getCodeQLDatabasePath(config, language),
|
||||||
"diagnostic",
|
"diagnostic",
|
||||||
"codeql-action",
|
"codeql-action",
|
||||||
);
|
);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue