Clarify canary dry run build behavior

This commit is contained in:
Devin Foley committed 2026-05-03 20:02:23 -07:00
1 parent 4bd884aa18
commit ed012ac6f3
2 files changed
+16 -4

No files matched your search

+3 -1
View File
@@ -155,7 +155,9 @@ jobs:
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Release canary dry run
# `release.sh` always executes its Step 2/7 workspace build, even when
# `--skip-verify` bypasses the initial verification gate.
- name: Release canary dry run via release.sh internal build
run: |
git checkout -B master HEAD
git checkout -- pnpm-lock.yaml
+13 -3
View File
@@ -49,8 +49,7 @@ function listWorkspacePackages() {
function buildSkipsTypeScript(pkg) {
const buildScript = pkg.scripts?.build;
const typecheckScript = pkg.scripts?.typecheck;
if (typeof buildScript !== "string" || typeof typecheckScript !== "string") {
if (typeof buildScript !== "string") {
return false;
}
@@ -58,7 +57,7 @@ function buildSkipsTypeScript(pkg) {
}
const workspacePackages = listWorkspacePackages();
const buildGapPackages = workspacePackages
const buildGapCandidates = workspacePackages
.filter((workspacePkg) => workspacePkg.path !== repoRoot)
.map((workspacePkg) => ({
name: workspacePkg.name,
@@ -66,6 +65,17 @@ const buildGapPackages = workspacePackages
pkg: readJson(path.join(workspacePkg.path, "package.json")),
}))
.filter(({ pkg }) => buildSkipsTypeScript(pkg));
const packagesMissingTypecheck = buildGapCandidates.filter(
({ pkg }) => typeof pkg.scripts?.typecheck !== "string",
);
for (const workspacePkg of packagesMissingTypecheck) {
console.warn(
`[typecheck:build-gaps] warning: ${workspacePkg.name} has a build script without tsc but no explicit typecheck script.`,
);
}
const buildGapPackages = buildGapCandidates.filter(
({ pkg }) => typeof pkg.scripts?.typecheck === "string",
);
console.log(
`[typecheck:build-gaps] typechecking ${buildGapPackages.length} workspace(s): ${buildGapPackages.map(({ name }) => name).join(", ") || "(none)"}`,