Skip to content

feat(website): run the playground on the checkout's own engine - #9

Merged
pkurcx merged 1 commit into
mainfrom
ci/playground-checkout-engine
Sep 8, 2026
Merged

feat(website): run the playground on the checkout's own engine#9
pkurcx merged 1 commit into
mainfrom
ci/playground-checkout-engine

Conversation

@pkurcx

@pkurcx pkurcx commented Sep 8, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • The website no longer pins the published @avsystem/openapi-ng and @avsystem/openapi-ng-wasm32-wasi packages. Vite aliases @avsystem/openapi-ng/browser to the root lib/browser.js, and bundle-engine.mjs copies the wasm loader, worker and binary from the repo root.
  • A release is therefore just the vX.Y.Z commit: no follow-up commit bumping the website pins, and PRs that add generator options no longer fail the Docs e2e job.
  • The Docs workflow builds the wasm32-wasip1-threads target on every push and PR (cargo cache shared with the CI matrix entry).
  • Deploy gate: production only for a release commit (same HEAD check as the publish job) or a docs-only push (website/, docs.yml, bun.lock, bunfig.toml, stackblitz/); manual runs always deploy. Other pushes to main upload a Cloudflare preview tagged main-<sha>, PRs keep their pr-<n> previews.
  • Preview builds label the playground engine vX.Y.Z+<sha> so they are distinguishable from production.
  • README: the bun link dance is replaced by the two commands needed before running the site.

Trade-offs

  • Docs job takes a few minutes longer for the Rust toolchain and wasm build.
  • On a release push, Docs and CI publish run in parallel, so the site can go live shortly before the npm package.
  • A docs-only hotfix after a release builds the engine from main, so it may carry unreleased generator changes.

Test plan

  • bun run build, bun run check, bun run test in website/ pass locally against a freshly built root wasm (16 e2e tests).
  • astro dev generates through the alias; cold-cache "Outdated Optimize Dep" 504s are pre-existing (identical count with the old config).
  • Gate logic dry-run against real commit ranges.
  • This PR's Docs run built the wasm (cargo cache shared with CI restored, 8s compile) and uploaded the pr-9 preview with engine v0.6.0+15303df: https://6ab2fb2e-openapi-ng-docs.pkurc.workers.dev/playground/

🤖 Generated with Claude Code

Drop the published @avsystem/openapi-ng pins from the website. Vite aliases
the browser entry to the root lib/browser.js and bundle-engine copies the
wasm loader from the repo root, so the site always runs the commit it is
built from and a release needs no follow-up docs bump.

The Docs workflow builds the wasm target on every push and PR. Production
deploys only for a release commit (same HEAD check as the publish job) or a
docs-only push; other pushes to main upload a Cloudflare preview whose engine
version carries the short commit SHA.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@pkurcx
pkurcx merged commit 37c3771 into main Sep 8, 2026
38 checks passed
@pkurcx
pkurcx deleted the ci/playground-checkout-engine branch September 8, 2026 21:26
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