Skip to content

feat!: build and publish Zensical docs to Pages on release#23

Merged
bitwise-fast-forward-merge[bot] merged 2 commits into
bitwise-media-group:mainfrom
dmccaffery:feat/build-docs
Jun 29, 2026
Merged

feat!: build and publish Zensical docs to Pages on release#23
bitwise-fast-forward-merge[bot] merged 2 commits into
bitwise-media-group:mainfrom
dmccaffery:feat/build-docs

Conversation

@admin-bitwise

Copy link
Copy Markdown

Add a docs job to the reusable release workflow that rebuilds the Zensical
site (uv run zensical build) and deploys ./site to GitHub Pages whenever a
release is cut and a zensical.toml exists at the repo root. Detection mirrors
the .goreleaser.yaml path (a hashFiles output on the release-please job); the
job only needs release-please, not goreleaser, so a repo can ship binaries and
publish docs from one release. Same trusted-trigger allowlist as goreleaser,
since it checks out a computed ref and runs the repo's locked deps.

This folds in the per-repo inline docs job that consumers (dotty,
bitwise-media-group.github.io) were duplicating.

BREAKING CHANGE: callers must now grant pages: write. GitHub resolves a
reusable workflow's permissions as the union of every job and ignores if:,
so the docs job's pages:write is required even on repos without a
zensical.toml or the run fails at startup. Add pages: write to the caller's
permissions block (see examples/release.yaml). Consuming repos should also
delete their inline docs job and set Settings -> Pages -> Source -> GitHub
Actions.

Signed-off-by: Deavon M. McCaffery dmccaffery@users.noreply.github.com

Add a `docs` job to the reusable release workflow that rebuilds the Zensical
site (`uv run zensical build`) and deploys ./site to GitHub Pages whenever a
release is cut and a zensical.toml exists at the repo root. Detection mirrors
the .goreleaser.yaml path (a hashFiles output on the release-please job); the
job only needs release-please, not goreleaser, so a repo can ship binaries and
publish docs from one release. Same trusted-trigger allowlist as goreleaser,
since it checks out a computed ref and runs the repo's locked deps.

This folds in the per-repo inline docs job that consumers (dotty,
bitwise-media-group.github.io) were duplicating.

BREAKING CHANGE: callers must now grant `pages: write`. GitHub resolves a
reusable workflow's permissions as the union of every job and ignores `if:`,
so the docs job's pages:write is required even on repos without a
zensical.toml or the run fails at startup. Add `pages: write` to the caller's
permissions block (see examples/release.yaml). Consuming repos should also
delete their inline docs job and set Settings -> Pages -> Source -> GitHub
Actions.

Signed-off-by: Deavon M. McCaffery <dmccaffery@users.noreply.github.com>
release.yaml now declares a docs job that requires pages:write; GitHub unions a
reusable workflow's job permissions and ignores `if:`, so the dogfood caller
must grant it even though this repo has no zensical.toml and the docs job is
skipped.

Signed-off-by: Deavon M. McCaffery <dmccaffery@users.noreply.github.com>
@admin-bitwise

Copy link
Copy Markdown
Author

/auto-merge

@github-actions

Copy link
Copy Markdown
Contributor

Note

Merging this PR: this repository merges by fast-forward so every
commit keeps its original signature. The GitHub merge button is not used.
Once this PR is approved and all checks pass, a maintainer merges it by
commenting /merge on the PR.

The branch must be up to date with main (rebased and re-signed) to
fast-forward. If /merge reports it is not fast-forwardable, rebase onto
main and comment /merge again.

@bitwise-fast-forward-merge bitwise-fast-forward-merge Bot added the auto-merge Fast-forward this PR once it is approved and all required checks pass label Jun 29, 2026
@bitwise-fast-forward-merge

Copy link
Copy Markdown
Contributor

Note

Auto-merge armed. Once this PR is approved and every required check
passes, it will be fast-forwarded into the base branch automatically,
preserving every commit signature.

Remove the auto-merge label to cancel. If the branch is not
fast-forwardable, rebase onto the base branch and re-sign — CI re-runs
and the merge retries.

@bitwise-fast-forward-merge

Copy link
Copy Markdown
Contributor

Cannot /merge this PR yet:

  • review decision is REVIEW_REQUIRED, need APPROVED
  • checks not passing: analyze / Analyze (actions) (pending), ci / lint (pending), ci / build (pending)

@bitwise-fast-forward-merge

Copy link
Copy Markdown
Contributor

Cannot /merge this PR yet:

  • review decision is REVIEW_REQUIRED, need APPROVED
  • checks not passing: analyze / Analyze (actions) (pending)

@bitwise-fast-forward-merge

Copy link
Copy Markdown
Contributor

Cannot /merge this PR yet:

  • review decision is REVIEW_REQUIRED, need APPROVED

@dmccaffery dmccaffery requested a review from tiffanywang3 June 29, 2026 10:09
@bitwise-fast-forward-merge

Copy link
Copy Markdown
Contributor

Fast-forwarded main to 00914ff76c31 — original signature preserved, no re-sign.

@bitwise-fast-forward-merge bitwise-fast-forward-merge Bot merged commit 00914ff into bitwise-media-group:main Jun 29, 2026
11 checks passed
@dmccaffery dmccaffery deleted the feat/build-docs branch June 29, 2026 10:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

auto-merge Fast-forward this PR once it is approved and all required checks pass

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants