🫑
Zig: docの生成とGitHub Pagesへのデプロイ
zig 0.12.0-dev.1773+8a8fd47d2
build.zig
ファイルに以下のコードを追加してください。
build.zig
// Docs
const docs_step = b.step("docs", "Emit docs");
const docs_install = b.addInstallDirectory(.{
.source_dir = lib.getEmittedDocs(),
.install_dir = .prefix,
.install_subdir = "docs", // location
});
docs_step.dependOn(&docs_install.step);
コマンドラインで zig build docs
を実行し、ローカルでドキュメントをビルドし、zig-out/docs/
ディレクトリに生成します。
静的ページのデプロイ方法を参考に、GitHub Page にドキュメントをデプロイするために、プロジェクトの .github/workflows
ディレクトリに以下のYAMLを追加してください。
.github/workflows/deploy.yaml
on:
push:
branches: ["master"]
workflow_dispatch:
permissions:
pages: write
contents: read
id-token: write
concurrency:
group: pages
cancel-in-progress: false
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v3
- name: Setup Zig
uses: goto-bus-stop/setup-zig@v2
- name: Generate docs
run: |
zig build docs
- name: Setup Pages
uses: actions/configure-pages@v4
- name: Upload artifact
uses: actions/upload-pages-artifact@v2
with:
path: zig-out/docs/
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@v3
Discussion