Repository navigation
Fix the platform CI job order and the deploy docs. - #317
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_5fd52083-dc59-40e2-b4fc-b4ece42c4fca) |
`vp run lint:platform` reads the dashboard's generated `.void/tsconfig.json`, which only exists after the dashboard build, and the root `check` typechecks the playgrounds this job never builds. Both deploy workflows call this job first, so it must pass on a fresh checkout. The hunk matches the one on #316. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WNXbwieSdsSErZwQ7HWRwG
Both docs still described the old repo's push-to-`prod` / push-to-`main` deploy model, and the README claimed the task graph builds the SDK for the dashboard. Describe the `platform-*.yml` workflows as they are: manual dispatch, gated on `VOID_PLATFORM_DEPLOY_ENABLED`, with an explicit `vp run build` before the deploy step. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WNXbwieSdsSErZwQ7HWRwG
`platform/package.json` owns the `deploy*` scripts, not the root manifest, and they only resolve from `platform/` or through `--filter @voidcloud/platform` from the root. Say so once at the top of the README and in the operations runbook, and drop the dashboard bullet that said it deploys outside the platform pipeline: both `deploy` and `deploy:staging` end with the dashboard. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WNXbwieSdsSErZwQ7HWRwG
a8f18fd to
2b146f8
Compare
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_f100fae5-9669-47e4-8c1d-944fe421a568) |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2b146f84a1
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
The platform deploy workflows run only this job before deploying, and the dashboard and the workers bundle `void`, `@void/react`, `@void/deploy-core`, `@void/isr`, and `@void/edge`. `vp pack` emits the SDK dists without typechecking them, and the platform typechecks only read the emitted `dist/*.d.mts`, so a type error inside the SDK would otherwise reach a deploy unnoticed. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WNXbwieSdsSErZwQ7HWRwG
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_d8b9ceb7-835f-44f8-9ecf-3a1b886a4108) |
One conflict, `.github/workflows/platform-ci.yml`: main (#317) took this branch's job-order fix verbatim and added `check:sdk`, so main's version wins. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SStP281NuirMSouULEE2pW
The platform was merged into this repo under
platform/but has never been deployed from here. This PR fixes the remaining repo-side defects that block a deploy: the platform CI job order, and the deploy docs. (Main already carries thevp run buildstep in the deploy workflows and the kitchen-sink Better Auth migration, so those parts were dropped from this PR after a rebase.)What changed
platform-ci.yml: runlint:platformafter the builds; usecheck:platform.lint:platformreadsplatform/packages/dashboard/tsconfig.json, which extends the generated.void/tsconfig.jsonfrom the dashboard build. The rootcheckalso typechecks the nine playgrounds, whose tsconfigs extend generated files this job never builds. Both deploy workflows call this job viaworkflow_call, so it must pass on a fresh checkout. Thelint:platform/check:platformhunk is identical to the one on feat(email): void/email — outbound, inbound, platform proxy, and own-account setup #316.check:sdk(new root script,vp run --filter './packages/**' --parallel typecheck) runs aftercheck:platform. The deploy workflows run only this job, the dashboard and the workers bundle the SDK, andvp packdoes not typecheck, so without it a ref with SDK type errors could deploy. It takes ~2 s and needs no playground builds. The playgrounds stay withci.yml.platform/README.md,platform/meta/operations.md: describe the monorepo workflows (manual dispatch, theVOID_PLATFORM_DEPLOY_ENABLEDgate, step order,platform/package.jsonas the deploy orchestrator, the SDK build prerequisite) instead of the old push-to-prod/ push-to-mainmodel.Verified
actionlint(with the pre-existing runner-label ignores) andvp fmt --checkpass.vp run lint:platformfails on a clean tree and passes after the two builds;vp run check:platformandvp run check:sdkpass without the playground builds.wrangler deploy --dry-runpasses for all five platform workers (staging and production) from the monorepo.Already done outside this PR
VOID_PLATFORM_DEPLOY_ENABLED=true; repo secretsCF_API_TOKEN(User API token) andCF_ACCOUNT_ID; environmentProdwithDATABASE_URL; environmentStagingwithSTAGING_DATABASE_URL,CF_ACCESS_CLIENT_ID_STAGING,CF_ACCESS_CLIENT_SECRET_STAGING. The environments have no protection rules yet.Not in this PR
deploy-staging.yml,deploy.yml, andsmoke-test.ymlinvoidzero-dev/void-platformbefore the first dispatch here. The old repo still auto-deploys staging on push to itsmain.schema-compatstaysif: falseuntil a production ref is chosen. Suggested: aplatform-prodbranch thatplatform-deploy.ymlmoves after a successful deploy; the existingprodbranch in this repo is an unrelated SDK branch from June.IF NOT EXISTSmigration; the general case needs an SDK decision.🤖 Generated with Claude Code
https://claude.ai/code/session_01WNXbwieSdsSErZwQ7HWRwG
Note
Low Risk
Changes are limited to CI step ordering, a new npm script, and documentation; no runtime or deploy logic changes.
Overview
Fixes platform CI so reusable deploy workflows can pass on a fresh checkout, and updates platform runbooks to match the merged monorepo’s manual deploy model.
CI (
platform-ci.yml+ rootcheck:sdk):lint:platformnow runs after SDK and platform package builds, because it depends on the dashboard’s generated.void/tsconfig.json. The job no longer runs rootvp run check(which typechecks playgrounds that this job never builds); it runscheck:platformand the newcheck:sdkscript instead.Docs (
platform/README.md,platform/meta/operations.md): Deploy triggers are documented as manualplatform-deploy*workflows gated byVOID_PLATFORM_DEPLOY_ENABLED, withplatform/package.json(orvp run --filter @voidcloud/platform …) as the deploy orchestrator and an explicit SDKvp run buildprerequisite before dashboard deploy.Reviewed by Cursor Bugbot for commit cb7ec08. Bugbot is set up for automated code reviews on this repo. Configure here.