# Worker version previews Non-`main` pushes build and verify the affected site, then upload a non-production version of its production Worker with a readable branch alias. They do not deploy the version to production traffic. | Site key | Versioned Worker | Stable `cms` alias | Production hostname | | --- | --- | --- | --- | | `www` | `3031023-xyz-www` | `cms-3031023-xyz-www.ksloan90.workers.dev` | `3031023.xyz` | | `blog` | `3031023-xyz-blog` | `cms-3031023-xyz-blog.ksloan90.workers.dev` | `blog.3031023.xyz` | The workflows derive the preview alias from the branch name, build with preview robots rules, run output verification, and call `wrangler versions upload`. They use the existing `CF_API_TOKEN` and `CF_ACCOUNT_ID` repository secrets but contain no DNS, routes, custom-domain mutations, account IDs, or tokens in source. Only the stable CMS and production admin origins are registered with Gitea OAuth/CORS. A CMS login attempt from a temporary branch alias is expected to fail with `Unregistered Redirect URI`; do not add a wildcard. Review rendered site output on the branch alias and use `https://3031023.xyz/admin/` or the stable `cms` admin origin for editing tests. Relevant pushes to `main` use separate production workflows and `wrangler deploy` for the affected Worker after a production build and verifier pass. The existing domain bindings do not change during routine deployments. The older `*-preview` Wrangler configurations and Workers are retained as rollback artifacts. Current branch workflows use Worker version previews of the production-named Workers instead.