ci: one build before the deploys, artifacts reused (DEV-2203) - #233
Merged
Conversation
A push touching runner/packages/** installed and built the workspace twice, once inside each deploy job. Now a shared build job (gated on either deploy firing) builds the workspace once and the authoring app once (skipped when only the api deploys), and the deploy jobs ship the downloads: deploy-authoring needs no pnpm install at all — pinned-npx wrangler ships ./dist as Workers Assets — and deploy-api keeps install for its own wrangler but resolves demo-runtime from the artifact. A broken build still never reaches wrangler; it just fails once, earlier.
demtario
approved these changes
Aug 20, 2026
…er-single-build # Conflicts: # runner/AGENTS.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #189 per Dan's review: both deploy jobs each ran
pnpm install+pnpm build, duplicating the workspace build whenever a push touched shared paths.New shape
build(gated on either deploy firing): one install, onepnpm build, uploadsruntime-dist; builds + uploads the authoring app too (with the SENTRY env), skipped when only the api deploys.deploy-authoring: checkout + downloadauthoring-dist+ pinned-npxwrangler deploy+ the bundle-hash smoke — no pnpm install at all (wrangler ships./distas Workers Assets; checkout supplies wrangler.jsonc).deploy-api: keeps install (itspnpm run deployruns the workspace wrangler and bundles the worker) but resolves@handsontable/demo-runtimefrom the downloaded artifact instead of rebuilding it; D1 migrations + health smoke unchanged.A broken build still can't reach wrangler — it just fails once, earlier, in the shared job.
Note on merge
This PR touches
master.yml, which is in both deploys' path sets — merging it will fire both deploys + the post-deploy smoke, i.e. the first full end-to-end run of the new pipeline. Worth watching that run.Note
Medium Risk
Changes production deploy orchestration on master; a misconfigured artifact path or job
needs/ifcould block or ship stale builds, though build still gates wrangler the same way as before.Overview
Master deploy pipeline is reshaped so workspace and authoring builds happen once, then deploy jobs reuse artifacts (follow-up to #189).
A new
buildjob runs when either path-gated deploy would fire: onepnpm install, onepnpm build, upload ofruntime-dist, and (when authoring deploys) authoring build with Sentry env plusauthoring-dist.deploy-authoringnow only checks out, downloadsauthoring-dist, and runs pinnedwrangler deploy—no pnpm install.deploy-apistill installs (workerpnpm run deploybundles via workspace wrangler) but downloadsruntime-distinstead of rebuilding@handsontable/demo-runtime. Post-deploy smoke and D1/health checks are unchanged.runner/AGENTS.mddocuments the newchanges → build → deploy-* → smokeflow.Reviewed by Cursor Bugbot for commit 02b55da. Bugbot is set up for automated code reviews on this repo. Configure here.