diff options
Diffstat (limited to 'tools/lint.js')
-rwxr-xr-x | tools/lint.js | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/tools/lint.js b/tools/lint.js index 14567ed1d..56662fdd8 100755 --- a/tools/lint.js +++ b/tools/lint.js @@ -2,6 +2,7 @@ // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. import { buildMode, getPrebuilt, getSources, join, ROOT_PATH } from "./util.js"; import { checkCopyright } from "./copyright_checker.js"; +import * as ciFile from "../.github/workflows/ci.generate.ts"; const promises = []; @@ -12,17 +13,18 @@ if (!js && !rs) { rs = true; } -if (js) { - promises.push(dlint()); - promises.push(dlintPreferPrimordials()); -} - if (rs) { promises.push(clippy()); } -if (js && rs) { - promises.push(checkCopyright()); +if (js) { + promises.push(dlint()); + promises.push(dlintPreferPrimordials()); + promises.push(ensureCiYmlUpToDate()); + + if (rs) { + promises.push(checkCopyright()); + } } const results = await Promise.allSettled(promises); @@ -164,3 +166,13 @@ async function clippy() { throw new Error("clippy failed"); } } + +async function ensureCiYmlUpToDate() { + const expectedCiFileText = ciFile.generate(); + const actualCiFileText = await Deno.readTextFile(ciFile.CI_YML_URL); + if (expectedCiFileText !== actualCiFileText) { + throw new Error( + "./.github/workflows/ci.yml is out of date. Run: ./.github/workflows/ci.generate.ts", + ); + } +} |