Skip to content

Fix the platform CI job order and the deploy docs. - #317

Merged
Brooooooklyn merged 4 commits into
mainfrom
platform-deploy-cutover-prep
Sep 14, 2026
Merged

Brooooooklyn merged 4 commits into
mainfrom
platform-deploy-cutover-prep

Conversation

@Brooooooklyn

@Brooooooklyn Brooooooklyn commented Sep 13, 2026 •

Copy link
Copy Markdown
Member

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 the vp run build step in the deploy workflows and the kitchen-sink Better Auth migration, so those parts were dropped from this PR after a rebase.)

platform-ci.yml    fmt → lint → build → platform build → [lint:platform] → [check:platform] → [check:sdk]
                                                          moved after builds   was: check          new
platform docs      README.md, meta/operations.md describe the monorepo workflows

What changed

  1. platform-ci.yml: run lint:platform after the builds; use check:platform. lint:platform reads platform/packages/dashboard/tsconfig.json, which extends the generated .void/tsconfig.json from the dashboard build. The root check also typechecks the nine playgrounds, whose tsconfigs extend generated files this job never builds. Both deploy workflows call this job via workflow_call, so it must pass on a fresh checkout. The lint:platform / check:platform hunk 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 after check:platform. The deploy workflows run only this job, the dashboard and the workers bundle the SDK, and vp pack does 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 with ci.yml.

  2. platform/README.md, platform/meta/operations.md: describe the monorepo workflows (manual dispatch, the VOID_PLATFORM_DEPLOY_ENABLED gate, step order, platform/package.json as the deploy orchestrator, the SDK build prerequisite) instead of the old push-to-prod / push-to-main model.

Verified

  • actionlint (with the pre-existing runner-label ignores) and vp fmt --check pass.
  • vp run lint:platform fails on a clean tree and passes after the two builds; vp run check:platform and vp run check:sdk pass without the playground builds.
  • wrangler deploy --dry-run passes for all five platform workers (staging and production) from the monorepo.

Already done outside this PR

  • Repo config: VOID_PLATFORM_DEPLOY_ENABLED=true; repo secrets CF_API_TOKEN (User API token) and CF_ACCOUNT_ID; environment Prod with DATABASE_URL; environment Staging with STAGING_DATABASE_URL, CF_ACCESS_CLIENT_ID_STAGING, CF_ACCESS_CLIENT_SECRET_STAGING. The environments have no protection rules yet.

Not in this PR

  • Cutover: disable deploy-staging.yml, deploy.yml, and smoke-test.yml in voidzero-dev/void-platform before the first dispatch here. The old repo still auto-deploys staging on push to its main.
  • schema-compat stays if: false until a production ref is chosen. Suggested: a platform-prod branch that platform-deploy.yml moves after a successful deploy; the existing prod branch in this repo is an unrelated SDK branch from June.
  • SDK follow-up (product call): any existing managed app with auth enabled hits the drift check after upgrading past 754d9a7, and a plain generated migration fails on its D1 because the runtime already created the tables. kitchen-sink is covered by main's IF NOT EXISTS migration; 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 + root check:sdk): lint:platform now runs after SDK and platform package builds, because it depends on the dashboard’s generated .void/tsconfig.json. The job no longer runs root vp run check (which typechecks playgrounds that this job never builds); it runs check:platform and the new check:sdk script instead.

Docs (platform/README.md, platform/meta/operations.md): Deploy triggers are documented as manual platform-deploy* workflows gated by VOID_PLATFORM_DEPLOY_ENABLED, with platform/package.json (or vp run --filter @voidcloud/platform …) as the deploy orchestrator and an explicit SDK vp run build prerequisite before dashboard deploy.

Reviewed by Cursor Bugbot for commit cb7ec08. Bugbot is set up for automated code reviews on this repo. Configure here.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 13, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-13T15:43:55.592397Z cb7ec08 New commits
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@cursor

cursor Bot commented Sep 13, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot 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)

Brooooooklyn and others added 3 commits September 13, 2026 23:15
`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
@Brooooooklyn
Brooooooklyn force-pushed the platform-deploy-cutover-prep branch from a8f18fd to 2b146f8 Compare September 13, 2026 15:16
@Brooooooklyn Brooooooklyn changed the title Prepare the platform for deploys from the monorepo. Fix the platform CI job order and the deploy docs. Sep 13, 2026
@cursor

cursor Bot commented Sep 13, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot 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)

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread .github/workflows/platform-ci.yml
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
@cursor

cursor Bot commented Sep 13, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot 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)

@Brooooooklyn
Brooooooklyn merged commit 996de75 into main Sep 14, 2026
16 checks passed
@Brooooooklyn
Brooooooklyn deleted the platform-deploy-cutover-prep branch September 14, 2026 03:55
Brooooooklyn added a commit that referenced this pull request Sep 14, 2026
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant