diff options
| author | 2023-12-21 15:26:03 -0800 | |
|---|---|---|
| committer | 2024-01-02 13:16:54 +0100 | |
| commit | 7af04ee30d40e02e47bef4229bd823b541a0a352 (patch) | |
| tree | 0f45f6b05e76fb5aa6a2bf037543a7b8965bd98b /build.zig | |
| parent | Remove the default allocator from `ParseOptions` (diff) | |
| download | zig-clap-7af04ee30d40e02e47bef4229bd823b541a0a352.tar.gz zig-clap-7af04ee30d40e02e47bef4229bd823b541a0a352.tar.xz zig-clap-7af04ee30d40e02e47bef4229bd823b541a0a352.zip | |
Add autodoc website
This adds a `zig build docs` step that builds the documentation website
and writes it to zig-out/docs.
It further includes a GitHub Workflow that publishes this website
to GitHub Pages. The GitHub Workflow is divided into two jobs:
- build: builds the documentation and uploads it
- publish: downloads the documentation and publishes it
These are separate jobs to minimize permissions available
to the build job.
This workflow runs on two events:
- after every push to master
- `workflow_dispatch`: this allows manually running the workflow
from its *Actions* page if something went wrong
---
**Important pre-merge steps:**
If this PR is accepted, the following steps should be taken
before merging the PR:
1. Go to **Settings** for the repository
2. Select **Pages** on the left under *Code and automation*
3. Under *Build and deployment* set **Source** to **GitHub Actions**
4. Merge the PR.
If the steps are missed, the PR will merge just fine,
but the docs job will fail immediately on merge.
This can be remedied by following steps 1-3 above,
and either adding a new commit on master,
or manually firing the workflow from the Actions > API Reference page.
Diffstat (limited to '')
| -rw-r--r-- | build.zig | 8 |
1 files changed, 8 insertions, 0 deletions
| @@ -35,6 +35,14 @@ pub fn build(b: *std.Build) void { | |||
| 35 | example_step.dependOn(&install_example.step); | 35 | example_step.dependOn(&install_example.step); |
| 36 | } | 36 | } |
| 37 | 37 | ||
| 38 | const docs_step = b.step("docs", "Generate docs."); | ||
| 39 | const install_docs = b.addInstallDirectory(.{ | ||
| 40 | .source_dir = tests.getEmittedDocs(), | ||
| 41 | .install_dir = .prefix, | ||
| 42 | .install_subdir = "docs", | ||
| 43 | }); | ||
| 44 | docs_step.dependOn(&install_docs.step); | ||
| 45 | |||
| 38 | const readme_step = b.step("readme", "Remake README."); | 46 | const readme_step = b.step("readme", "Remake README."); |
| 39 | const readme = readMeStep(b); | 47 | const readme = readMeStep(b); |
| 40 | readme.dependOn(example_step); | 48 | readme.dependOn(example_step); |