Files
LithosAnanke/.gitea/workflows/nightly-docs.yml
T

56 lines
2.1 KiB
YAML

# Nightly snapshot of the documents: the book, the formal volumes and the API reference
# (scripts/nightly.sh docs), then Nexus.
#
# org.starship:documentation:<LITHOS_VERSION>-SNAPSHOT, starshipos-snapshots
# classifier book the book (make docs)
# classifier vol1, vol2, vol3 the formal volumes (make -C docs/formal vols)
# classifier api the API reference (make -C docs/formal doxygen)
#
# Gitea runs a schedule from the default branch, master, so this builds master.
name: Nightly documents
on:
schedule:
- cron: '0 4 * * *' # 04:00 UTC, after the images (nightly.yml, 03:00)
workflow_dispatch:
concurrency:
group: qemu # every workflow shares this one group (2026-11-07: a runner-image
cancel-in-progress: false # rebuild blocks other jobs, always): one run at a time; nothing
# cancelled -- runner.capacity: 1 explicit in config.yaml
# (FABRIC-3, 2026-11-11)
jobs:
docs:
name: Book, volumes, API reference
runs-on: ubuntu-latest
container:
image: gitea.starshipos-f18.org/rajames/lithosananke-runner:4f675c8b75b2 # ci/runner-image (#120)
credentials: # the registry refuses anonymous pulls
username: rajames
password: ${{ secrets.PACKAGES_TOKEN }}
timeout-minutes: 90
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
lfs: false
- name: Install the documents' dependencies
run: make ARCH=amd64 init INIT_PROOFS=0 # the image has all but the documents' packages
- name: Documents
run: scripts/nightly.sh docs
- name: Publish to Nexus
env:
NEXUS_USER: ci-publisher
NEXUS_PASSWORD: ${{ secrets.NEXUS_CI_PASSWORD }}
run: scripts/nightly.sh publish-docs https://nexus.starshipos-f18.org/repository/starshipos-snapshots
- name: Keep the documents
uses: actions/upload-artifact@v3
with:
name: documents-${{ github.run_number }}
path: build/nightly-docs/