Files
LithosAnanke/.gitea/workflows/nightly-docs.yml
T
rajamesandClaude Opus 5.5 7f574c54ff
StarshipOS Build / milkv (push) Failing after 2m11s
StarshipOS Build / pc (push) Failing after 2m54s
StarshipOS Build / pi4 (push) Failing after 2m52s
StarshipOS Build / pi5 (push) Failing after 2m24s
StarshipOS Build / qemu (push) Failing after 2m11s
StarshipOS Build / Isabelle/HOL Proofs (push) Failing after 2m57s
StarshipOS Build / Documentation (push) Failing after 2m19s
ci: nightly images and nightly documents, from StarForth-v4.0.0, to Nexus
Gitea runs schedules from the default branch only, so until StarForth-v4.0.0
is merged here, master carries copies of that branch's two nightly
workflows, identical to them but for the checkout's ref:

  nightly.yml       03:00 UTC: the acceptance protocol (zuse amd64, aarch64,
                    riscv64; the PC stick loaded high; dict_hash equal on the
                    three; test-32), the Isabelle/HOL proofs, the board images,
                    then org.starship:kernelImage:<LITHOS_VERSION>-SNAPSHOT --
                    classifiers pc (iso), raspi5, milkv (img.xz), logs
  nightly-docs.yml  04:00 UTC: the book, the formal volumes, the API reference
                    -> org.starship:documentation:<LITHOS_VERSION>-SNAPSHOT

Both publish to starshipos-snapshots as ci-publisher (secret
NEXUS_CI_PASSWORD), and only if every stage before passed. The work is that
branch's scripts/nightly.sh. At the merge, take that branch's copies (this
ref line goes). build.yml's own 02:00 schedule is untouched.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2
2026-11-06 15:21:15 +00:00

49 lines
1.7 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. Until StarForth-v4.0.0 is merged to master,
# master carries a copy of this file whose checkout names that branch.
name: Nightly documents
on:
schedule:
- cron: '0 4 * * *' # 04:00 UTC, after the images (nightly.yml, 03:00)
workflow_dispatch:
jobs:
docs:
name: Book, volumes, API reference
runs-on: ubuntu-latest
timeout-minutes: 90
steps:
- uses: actions/checkout@v4
with:
ref: StarForth-v4.0.0 # until it is merged to master; then this line goes
fetch-depth: 0
lfs: false
- name: Install the documents' dependencies
run: |
make ARCH=amd64 init INIT_PROOFS=0
DEBIAN_FRONTEND=noninteractive apt-get install -y -qq maven default-jre-headless
- 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/