Connecting TABenchmark to Read the Docs (PI-only, one time)¶
Everything else about the documentation site is automated by
.readthedocs.yaml
and the docs CI job. This one step needs a person with admin on
UMN-Choi-Lab/TABenchmark and is the only manual action to bring the site live.
Merge the config to main first. The importer triggers the first build the
moment the project is added, so .readthedocs.yaml (and the docs extra) must
already be on main.
Go to https://app.readthedocs.org/ and Log in with GitHub (the account needs admin on the repo).
Dashboard → Add project → type
TABenchmarkand click the repo in the list.If it does not appear, install the Read the Docs GitHub App when prompted: on GitHub choose the
UMN-Choi-Laborg → Only select repositories →TABenchmark→ Install (an org owner must approve if you are not one). RTD uses a GitHub App now, so there is no manual webhook to configure.
Click Continue → in the pre-filled fields set Name to
tabenchmark(this becomes the slug and URL —https://tabenchmark.readthedocs.io/— and it was free as of 2026-07-16; confirm it still shows available). Default branchmain→ Next → at the configuration-file step click This file exists. The first build starts automatically.Verify pushes build: push any commit to
mainand watch the build appear under Builds. (No webhook step — the GitHub App handles it.)Enable PR previews: project Settings → Pull request builds → tick Build pull requests for this project → Update. A
docs/readthedocs.org:tabenchmarkstatus then appears on PRs, serving the preview fromorg.readthedocs.build. Leave it non-required — thedocsCI job is the merge gate, so merges never wait on RTD Community’s 2-build concurrency. PRs opened before enabling need one new commit to get a preview.Versions: Admin → Versions — keep
latest(tracksmain) as the default. Do not activatestableyet: the repo is 0.x with a weekly-moving roster, so a frozenstablewould only make the landing page stale. At the first public release tag (paper / v1.0), push the semver tag, activate thestableversion RTD materializes, and set it as the default.
Watch the first build’s wall time. The RTD Community tier caps a build at 15
minutes (7 GB RAM, 2 concurrent builds). The cold build measured ~3.3 min
locally (mirror assembly + 47 executed notebooks); on an RTD builder — at the
plan’s ~3× slowdown, plus the .[docs,viz] install and the ~131 MB data prefetch —
expect roughly ~10 min, i.e. inside the 15-min cap but not by a wide margin. If a
future tree pushes past it, the pressure valve is nb_execution_excludepatterns in
docs/conf.py: exclude the slowest notebooks from execution (they still render
un-executed) rather than dropping them.
Because RTD cannot be built without the PI’s account, this is also where the config’s
sphinx:-key requirement (see .readthedocs.yaml) gets its first real end-to-end
check: confirm the first build runs the .[docs,viz] install and the two-step
build.jobs.build.html — if the install is skipped, the doctype inference regressed.