Files
Hanzo Dev c6b7035a31
Hanzo CI/CD / test (linux-amd64) (push) Skipped
Hanzo CI/CD / test (linux-arm64) (push) Skipped
Hanzo CI/CD / test-advisory (push) Skipped
Hanzo CI/CD / test-amd64 (push) Successful in 10m43s
Hanzo CI/CD / cicd (push) Skipped
Hanzo CI/CD / verify (push) Skipped
CI/CD / cicd (push) Successful in 10m49s
ci: the export builds on a 32-core node, sized to what it measured there
On the xl node 16 Turbopack tasks compile in 66 s and 20 render workers
generate the 6,294 pages in 52 s, against 9.2 and 10.6 minutes on a
6-core runner.  The gate takes that node and the export builds beside
it; scripts/site.sh gives a render worker 2 GiB, which is what one holds.
2026-10-26 03:55:29 -07:00

39 lines
1.4 KiB
YAML

name: CI/CD
# Tests and publishes docs.hanzo.ai through hanzoai/ci, which reads hanzo.yml:
# `test:` must pass, then `site:` builds apps/docs/out and publishes it to the
# Sites plane. It runs on git.hanzo.ai (hanzoai/docs, a pull mirror of this
# repo) with that org's KMS identity. RELEASE.md has the whole path.
on:
push:
branches: [main]
workflow_dispatch:
# One publish at a time, and a push waits for the running one rather than
# cancelling it: completing a deployment deletes the objects its manifest does
# not name, so two publishes at once would each delete the other's files.
# git.hanzo.ai applies this group to the run; it does not apply the reusable's
# own job-level group.
concurrency:
group: publish-${{ github.ref }}
cancel-in-progress: false
jobs:
cicd:
permissions:
contents: write
packages: write
id-token: write
uses: hanzoai/ci/.github/workflows/build.yml@v2
with:
# apps/docs/content/docs/studio is a submodule (hanzo-docs/studio-docs);
# scripts/check-export.sh refuses an export without its pages.
submodules: recursive
# A 32-core node: the gate, then the export of 6,294 pages beside it
# (scripts/site.sh sizes its compile and render workers to the node).
class: xl
secrets:
KMS_CLIENT_ID: ${{ secrets.KMS_CLIENT_ID }}
KMS_CLIENT_SECRET: ${{ secrets.KMS_CLIENT_SECRET }}