Files
openchamber/packages/docs/DEPLOYMENT.md
T
Bohdan Triapitsyn 6f4e0068c1 docs: add localized documentation pages
Adds translated docs for Spanish, Korean, Polish, Portuguese, Ukrainian, and Chinese
Covers install, quickstart, themes, troubleshooting, tunnels, and reverse proxy guides
Updates docs workflow, sidebar, and contributor documentation
2026-05-23 00:33:39 +03:00

1.8 KiB

Docs Source Deployment

This repo publishes docs source artifacts.

Rendering and hosting still happen in openchamber-website (apps/docs).

Workflow

Use .github/workflows/docs-source.yml.

Triggers:

  • push to main when docs source changes
  • release published
  • manual workflow_dispatch

Outputs:

  • validates docs (bun run docs:validate)
  • creates openchamber-docs-source-<sha>.tar.gz
  • uploads archive as workflow artifact
  • on release/manual with tag, uploads archive to release assets

Cross-repo sync trigger

After validating and packaging, the workflow sends a repository_dispatch event to openchamber-website so it re-syncs and redeploys the docs. This fires on every trigger above — push to main (docs changes), release, and manual workflow_dispatch — so a normal commit to docs auto-updates the live site.

Required secret in this repo:

  • OPENCHAMBER_WEBSITE_REPO_TOKEN — a token with contents: write (classic repo scope, or fine-grained with Contents: read & write) on openchamber/openchamber-website. Without it the dispatch step is skipped (it logs "not set" and exits cleanly), so the site will never auto-update. This is the most common reason the pipeline silently does nothing.

Event sent:

  • event_type: docs_source_updated

Payload includes:

  • source_repo
  • source_ref — the ref the website checks out from openchamber (main on a push, the tag on a release)
  • archive_name

openchamber-website's deploy-docs.yml listens for this event (repository_dispatch: types: [docs_source_updated]), checks out openchamber at source_ref, runs docs:sync, builds apps/docs, and deploys to Cloudflare Pages. That repo needs its own secrets: OPENCHAMBER_REPO_TOKEN (read access to this repo), CLOUDFLARE_API_TOKEN, and CLOUDFLARE_ACCOUNT_ID.