diff --git a/.github/workflows/platform-ci.yml b/.github/workflows/platform-ci.yml index 2fe7f2cee..85a063fdf 100644 --- a/.github/workflows/platform-ci.yml +++ b/.github/workflows/platform-ci.yml @@ -43,10 +43,17 @@ jobs: node-version-file: .node-version - run: vp fmt --check - run: vp lint - - run: vp run lint:platform - run: vp run build - run: vp run --filter './platform/packages/**' build - - run: vp run check + # After the builds: the type-aware platform lint reads the dashboard's generated + # `.void/tsconfig.json`, which only exists once the dashboard has been built. + - run: vp run lint:platform + # Platform packages only. The framework and the playgrounds are typechecked by ci.yml, and + # the playground typechecks need the playground builds, which this job does not run. + - run: vp run check:platform + # SDK packages too: the deploy workflows run only this job, the dashboard and the + # workers bundle the SDK, and `vp pack` does not typecheck. + - run: vp run check:sdk test: runs-on: blacksmith-4vcpu-ubuntu-2404 diff --git a/package.json b/package.json index 82119acad..dc6f47497 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ "build:platform": "vp run --filter './platform/packages/**' build", "check": "vp run -r --parallel typecheck", "check:platform": "vp run --filter './platform/**' --parallel typecheck", + "check:sdk": "vp run --filter './packages/**' --parallel typecheck", "dev:docs": "vp run --filter ./docs dev", "dev:platform": "vp run --filter @voidcloud/platform dev", "fmt": "vp fmt --write .", diff --git a/platform/README.md b/platform/README.md index 6057e22bc..a5e9bd735 100644 --- a/platform/README.md +++ b/platform/README.md @@ -2,7 +2,7 @@ The hosted Void platform lives in `platform/` inside the main Void monorepo. Public SDK packages live in the repository-level `packages/` directory. Both surfaces share one pnpm workspace, lockfile, Vite+ configuration, and commit history. -Paths in this file are relative to `platform/` unless they begin with `../`. For example, `packages/api` is the hosted control plane and `../packages/void` is the public SDK package. +Paths in this file are relative to `platform/` unless they begin with `../`. For example, `packages/api` is the hosted control plane and `../packages/void` is the public SDK package. The bare `vp run deploy*` commands in this file are `platform/package.json` scripts and run from `platform/`; from the repository root, the equivalent is `vp run --filter @voidcloud/platform