29 lines
1.1 KiB
JavaScript
29 lines
1.1 KiB
JavaScript
const assert = require("assert");
|
|
const fs = require("fs");
|
|
const path = require("path");
|
|
|
|
const { platformKey } = require("../run_actionlint");
|
|
|
|
const repoRoot = path.resolve(__dirname, "..", "..", "..");
|
|
const config = JSON.parse(
|
|
fs.readFileSync(path.join(repoRoot, "tools", "config", "actionlint.json"), "utf8"),
|
|
);
|
|
const workflow = fs.readFileSync(
|
|
path.join(repoRoot, ".github", "workflows", "actionlint.yml"),
|
|
"utf8",
|
|
);
|
|
const packageJson = JSON.parse(fs.readFileSync(path.join(repoRoot, "package.json"), "utf8"));
|
|
|
|
assert.strictEqual(config.version, "1.7.12");
|
|
for (const key of ["darwin-amd64", "darwin-arm64", "linux-amd64", "linux-arm64"]) {
|
|
assert.match(config.artifacts[key], /^[a-f0-9]{64}$/);
|
|
}
|
|
assert.strictEqual(platformKey("darwin", "arm64"), "darwin-arm64");
|
|
assert.strictEqual(platformKey("linux", "x64"), "linux-amd64");
|
|
assert.throws(() => platformKey("win32", "x64"), /Unsupported/);
|
|
assert.strictEqual(packageJson.scripts["lint:workflows"], "node tools/scripts/run_actionlint.js");
|
|
assert.match(workflow, /npm run lint:workflows/);
|
|
assert.doesNotMatch(workflow, /curl\s/);
|
|
|
|
console.log("ok");
|