Repository navigation
ci(website): version the site through changesets, deploy to Cloudflare Workers - #828
Merged
Merged
Conversation
website/site joins the pnpm workspace as nostream-website, so the marketing site is versioned by the same changesets flow as the relay. Its standalone lockfile folds into the root one. Verified: changeset version bumps nostream-website only (nostream stays at its own version), site builds from the merged lockfile.
wrangler.jsonc binds the built dist/ as a Workers static-assets site (html_handling auto-trailing-slash, SPA fallback for unknown paths — the site has no 404 page and no server code; everything is prerendered). wrangler joins website/site as a devDependency. Deploy Website runs after a release PR merges to main (paths cover the site, its lockfile and every repo file the build reads at build time: README, docs, deploy runbooks, CHANGELOG, package.json), plus workflow_dispatch. It builds with SITE_URL from the website-production environment and runs wrangler deploy with CLOUDFLARE_API_TOKEN from that environment. ema.tnsor.network rides on a Workers Custom Domain — set it on the worker at first deploy. Dry-run verified: wrangler reads the 96 built files, 0.37 KiB worker.
🦋 Changeset detectedLatest commit: b0b8111 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
[High impact] The changes appear safe to merge; no new actionable issue was found.
|
The workspace merge made knip scan website/site, where it cannot trace Astro's build-time imports (astro, sharp, the CSS-imported @fontsource packages) or wrangler (invoked by CI, not imported), so all five read as unused dependencies and check:deps failed. Each gets an explicit ignoreDependencies row in the website/site workspace block, scoped to that workspace only.
Cameri provisioned the environment under the name 'website' with CLOUDFLARE_API_TOKEN (secret) and CLOUDFLARE_ACCOUNT_ID (var), so the job references that environment directly. SITE_URL is pinned to https://ema.tnsor.network — the site is built for one production domain, no need for a configurable var.
Collaborator
Coverage Report for CI Build 38784227627Coverage remained the same at 74.494%Details
Uncovered ChangesNo uncovered changes found. Coverage RegressionsNo coverage regressions found. Coverage Stats💛 - Coveralls |
- workflow_dispatch on deploy-website.yml ignores the push-branch filter; the job now refuses to run off main - website releases (nostream-website@ tags) no longer build the relay container image: release.yml gates on the relay's vX.Y.Z tag shape - pnpm.onlyBuiltDependencies moves from website/site/package.json to pnpm-workspace.yaml, where pnpm 10 reads it; esbuild postinstalls run again instead of being silently skipped
#818 removed src/utils/negentropy.ts from the root ignore list (its content moved into src/utils/negentropy-sessions.ts). Keeping that row would mask knip coverage, so the root ignore list takes main's; the workspaces block (website/site) is ours.
chappie-daemon
force-pushed
the
feat/website-deploy
branch
from
October 15, 2026 18:16
06ba6cb to
b0b8111
Compare
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.
Summary
The marketing site from #823 becomes a first-class release unit, and deploys itself.
Versioning.
website/sitejoins the pnpm workspace asnostream-website(rootpnpm-workspace.yaml; the site's standalone lockfile folds into the root one). A changeset with"nostream-website": <patch|minor|major>now bumps the site through the existingChangesets Releaseflow — same release PR, same version commit, no new machinery.Deploy. New
Deploy Websiteworkflow:maintouching the site, the lockfile, or any repo file the build reads at build time (README, docs, deploy runbooks, CHANGELOG,package.json), plusworkflow_dispatchSITE_URLfrom thewebsite-productionenvironment, thenwrangler deployCLOUDFLARE_API_TOKEN(Workers Scripts scope) andCLOUDFLARE_ACCOUNT_IDlive in thewebsite-productionGitHub environmentwebsite/site/wrangler.jsoncbindsdist/as a Workers static-assets site:html_handling: auto-trailing-slash, SPA fallback for unknown paths. Everything is prerendered — docs and changelog render from the repository at build time, so no SSR, no adapter, no server codeema.tnsor.networkrides on a Workers Custom Domain, added to the worker at first deploy (DNS + certificate managed by Cloudflare)Media. Today's
hero.mp4is 1.5 MB — comfortably inside the Static Assets 25 MiB per-file cap, so it ships with the site. If a future asset crosses ~20 MB, the same account's R2 (zero egress) is the planned home;assetsconfig accepts additional bindings without rework.Verification
changeset versionbumpsnostream-websiteonly — the relay keeps its own version (verified locally with a changeset, then reverted)/docs/*routes emitted as static fileswrangler deploy --dry-runreads the 96 built files; worker bundle 0.37 KiB