Files
roboco/.github/workflows/docs.yml
5936c2bdea Docs split Phase 1: docs.roboco.tech becomes canonical — redirect stubs, user tree removed, MkDocs retired (#299)
* docs: replace MkDocs deploy with static redirect stubs

docs.roboco.tech (roboco-website) is now the canonical user-facing docs
site (spec: docs/internal/specs/2026-07-03-docs-site-split.md). Every URL
this repo's Pages site published needs to keep resolving, so
scripts/gen_docs_redirects.py generates one meta-refresh + rel=canonical
stub per page — derived from mkdocs.yml's nav while it still lists every
page — into the committed docs-redirects/ directory. All 58 stub targets
verify against the website repo's nav.ts (0 unmapped); the only rename is
how-to/* -> tour/* per the spec's slug map.

Rewrite .github/workflows/docs.yml to deploy docs-redirects/ directly
instead of running `mkdocs build`. The user-facing docs/ tree and
mkdocs.yml itself are untouched here — deleting them is the next step,
gated on these stubs resolving correctly.

* docs: delete the MkDocs user-facing tree, docs.roboco.tech is canonical

Per docs/internal/specs/2026-07-03-docs-site-split.md decision (1):
Material->MDX is not verbatim-portable, so repo A's user-facing docs are
deleted rather than kept as a permanently-drifting mirror. Deletes
index/get-started/company/how-to/panel/models/operations/optional/deploy/
api/troubleshooting plus images/videos/assets. KEEPS docs/rag/ (indexed
agent corpus), docs/map/, docs/internal/, and the team buckets
(backend/frontend/ux_ui) — none of these were ever in mkdocs.yml's nav.

mkdocs.yml's entire nav mapped 1:1 onto the deleted tree, so pruning it
"accordingly" leaves nothing — remove it outright, along with the now-dead
`docs` optional-dependency group (mkdocs/mkdocs-material/mkdocstrings/
pymarkdownlnt — mkdocstrings was already unused, not wired into any mkdocs
plugin), the matching deptry DEP002 ignore entries, .pymarkdown.json, and
the serve-docs/build-docs/lint-docs/fix-docs Makefile targets (all scoped
only to the deleted paths). Add regen-docs-redirects as the one remaining
docs Makefile target.

Repointed everything that linked into the deleted tree or the old Pages
URL: README's hero video/gif and walkthrough links now hit the docs.roboco.tech-hosted
copies (already duplicated there per the spec's ground truth), usage.md /
deployment.md's jump-links, pyproject's Documentation URL, and CLAUDE.md's
Blueprint Reference paragraph.

* chore: sync uv.lock after removing the docs optional-dependency group

Follow-up to the mkdocs.yml / docs extra removal — mkdocs, mkdocs-material,
mkdocstrings, pymarkdownlnt, and their transitive-only dependencies drop
out of the lockfile now that nothing in pyproject.toml declares them.

---------

Co-authored-by: Renn F <rennf93@users.noreply.github.com>
2026-07-03 02:04:59 +02:00

56 lines
1.7 KiB
YAML

# Docs-site split Phase 1 (docs/internal/specs/2026-07-03-docs-site-split.md):
# docs.roboco.tech (the roboco-website repo) is now the canonical user-facing
# docs site, so this workflow no longer builds MkDocs. It deploys the
# already-generated, already-committed `docs-redirects/` directory — one
# meta-refresh + rel=canonical stub per URL this repo's Pages site used to
# publish, pointing at the docs.roboco.tech equivalent — with GitHub's
# official Pages Actions flow (upload artifact -> deploy). No force-push
# race, and the custom domain set in Settings persists across deploys.
#
# `docs-redirects/` was generated once by scripts/gen_docs_redirects.py while
# mkdocs.yml still listed every published page; that script is not re-run
# here. Regenerating it (e.g. to add a redirect) means re-running the script
# against a restored copy of the old nav and committing the new output.
#
# One-time setup: Settings -> Pages -> Source = "GitHub Actions".
name: docs
on:
push:
branches: [master]
paths:
- "docs-redirects/**"
- ".github/workflows/docs.yml"
workflow_dispatch:
permissions:
contents: read
pages: write
id-token: write
# Allow one Pages deployment at a time; queue (don't cancel) overlapping runs.
concurrency:
group: pages
cancel-in-progress: false
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- name: Upload Pages artifact
uses: actions/upload-pages-artifact@v5
with:
path: docs-redirects
deploy:
needs: build
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v5