Skip to content

chore(website): serve build-accurate archives of past releases at /v/<version>/#67

Open
aslakhellesoy wants to merge 2 commits into
mainfrom
claude/website-version-history-2p55ff
Open

chore(website): serve build-accurate archives of past releases at /v/<version>/#67
aslakhellesoy wants to merge 2 commits into
mainfrom
claude/website-version-history-2p55ff

Conversation

@aslakhellesoy

Copy link
Copy Markdown
Contributor

Readers can browse the website exactly as it shipped for any past release at
varar.dev/v// — the whole site, interactive editor included, running
that release's own code, not just frozen prose.

  • astro.config.mjs honours VARAR_SITE_BASE so a release can be built under a
    path prefix; archived versions are marked noindex and link home via a footer
    "Version history" entry to the /v/ hub.
  • release/website-*.{sh,mjs} build a version snapshot, rebase hand-written
    root-absolute links under the prefix, and generate the /v/ archive hub.
  • website.yml owns website deploy: it snapshots each release tag onto an orphan
    website-snapshots branch and overlays the archive into the Cloudflare deploy.
    Backfill past releases via its workflow_dispatch. Deploy moved out of
    typescript.yml (its path filter can't react to tags); the PR build gate stays.
  • doc/website-versioning.md documents the mechanism and backfill.

Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_014FaBNvwetMrvHtc5PqVRfa

claude added 2 commits July 24, 2026 07:33
…<version>/

Readers can browse the website exactly as it shipped for any past release at
varar.dev/v/<version>/ — the whole site, interactive editor included, running
that release's own code, not just frozen prose.

- astro.config.mjs honours VARAR_SITE_BASE so a release can be built under a
  path prefix; archived versions are marked noindex and link home via a footer
  "Version history" entry to the /v/ hub.
- release/website-*.{sh,mjs} build a version snapshot, rebase hand-written
  root-absolute links under the prefix, and generate the /v/ archive hub.
- website.yml owns website deploy: it snapshots each release tag onto an orphan
  website-snapshots branch and overlays the archive into the Cloudflare deploy.
  Backfill past releases via its workflow_dispatch. Deploy moved out of
  typescript.yml (its path filter can't react to tags); the PR build gate stays.
- doc/website-versioning.md documents the mechanism and backfill.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014FaBNvwetMrvHtc5PqVRfa
Only the live docs should rank in search, and a reader who lands on an old
version should know it.

- Archived pages already carry noindex; extend it to the generated /v/ hub, so
  the live site is the single indexed version (the sitemap lists live pages
  only).
- Add a Banner override that, on a snapshot build, shows an old-version warning
  linking to the same page on the live site. The link is an absolute URL (via
  Astro.site) so the link rebaser can't pull it back into the archive. Inert on
  the live build.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014FaBNvwetMrvHtc5PqVRfa
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.

2 participants