Skip to content

Documentation

Documentation #123

Workflow file for this run

# SPDX-FileCopyrightText: The jaas Authors
# SPDX-License-Identifier: 0BSD
name: Documentation
on:
workflow_dispatch:
schedule:
# Daily rebuild so the generated pages (flags, chart values, JOI catalog)
# pick up changes in the sibling repos with no cross-repo trigger and no
# token to maintain. jaas's own changes still rebuild immediately via the
# push paths below.
- cron: 45 4 * * *
push:
branches: [main]
paths:
- docs/**
# The flags page is generated from the binary's FlagSet, so a flag change
# must rebuild the site even though no docs/ file changed.
- main.go
- internal/cliflags/**
- hack/flaggen/**
- hack/flatten-schema.jq
- hack/joi-images.jq
- hack/gen-docs-data.sh
pull_request:
paths:
- docs/**
- main.go
- internal/cliflags/**
- hack/flaggen/**
- hack/flatten-schema.jq
- hack/joi-images.jq
- hack/gen-docs-data.sh
permissions:
contents: read
jobs:
website:
runs-on: ubuntu-latest
timeout-minutes: 30
permissions:
contents: write
steps:
- name: Clone Git Repository
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7
with:
fetch-depth: 0
submodules: recursive
- uses: metio/nix-devshell@1976169d4c51b321be318ade369ccf689849f9f0 # 2026.7.6091757
- name: Generate docs data (flags + chart values)
# flaggen renders the binary's FlagSet; the chart values schema is
# generated by helm-schema from the chart sources fetched from helm-charts
# and flattened. Both land in docs/data/ and are gitignored — the
# published site is always generated from source. go + helm-schema come
# from the flake devShell.
run: nix develop --command hack/gen-docs-data.sh
- name: Build Website
run: nix develop --command hugo --minify --printI18nWarnings --printPathWarnings --source docs
- name: Deploy Website
if: github.ref == 'refs/heads/main' && github.event_name != 'pull_request'
uses: peaceiris/actions-gh-pages@84c30a85c19949d7eee79c4ff27748b70285e453 # v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./docs/public
force_orphan: true
cname: jaas.projects.metio.wtf