Skip to content

Make docs publishing a manual pipeline - #1

Merged
nabil-2 merged 2 commits into
mainfrom
docs-manual-publish
Sep 24, 2026
Merged

nabil-2 merged 2 commits into
mainfrom
docs-manual-publish

Conversation

@nabil-2

@nabil-2 nabil-2 commented Sep 24, 2026

Copy link
Copy Markdown
Owner

Publishing the documentation website is now a deliberate, manual action instead of a side effect of pushing to main.

What changes

.github/workflows/docs.yml keeps one build job and one deploy job, but re-wires the triggers:

Trigger Builds Publishes
Run workflow (manual), deploy ticked yes yes
Run workflow (manual), deploy unticked yes no — rehearsal
Push to main yes no
Pull request yes no
  • The deploy job is gated on github.event_name == 'workflow_dispatch' && inputs.deploy, so pushes and PRs never upload a Pages artifact and never receive pages: write / id-token: write.
  • The Pages artifact upload in the build job is gated identically, so a check run does no deploy-related work at all.
  • Added a docs-${{ github.ref }} concurrency group so superseded build checks cancel themselves. The github-pages deploy group still has cancel-in-progress: false.
  • The push trigger is now scoped to main rather than every branch.

Because the branch is chosen at dispatch time, the site can be published from a non-main branch when that is wanted.

Docs updated to match

DOCUMENTATION.md and docs/publishing.md said to publish by pushing to the default branch. Both now describe the manual Actions → Documentation → Run workflow path and the trigger table.

Verification

Built locally against docs/requirements.txt with the same commands CI runs:

  • docs/check.py — 19 markdown pages, 58 source targets, 0 errors
  • sphinx -b html -W --keep-going -E -a — build succeeded, no warnings
  • docs/check.py --html — 47 HTML pages, 4521 internal links and assets, 0 errors

This PR's own check run exercises the new pull_request path; it should build and stop short of deploying.

🤖 Generated with Claude Code

Nabil Salama and others added 2 commits September 24, 2026 12:46
The Pages deployment previously ran on every push to the default branch.
Publishing is now driven only by a workflow_dispatch with a `deploy` input,
so the live website changes only when asked for.

Pushes to main and pull requests still build the docs, run docs/check.py on
both sources and generated HTML, and treat Sphinx warnings as errors, but
they no longer upload a Pages artifact or receive pages:write. Unticking
`deploy` on a manual run rehearses a publish without touching the site.

Adds a concurrency group so superseded build checks cancel themselves, and
updates DOCUMENTATION.md and docs/publishing.md to describe the triggers.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The README pointed at three individual files under docs/ but never at the
published site. Adds the URL near the top, where someone landing on the
repository will see it before the install instructions.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@nabil-2
nabil-2 merged commit afc2916 into main Sep 24, 2026
2 checks passed
@nabil-2
nabil-2 deleted the docs-manual-publish branch September 24, 2026 11:10
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.

1 participant