Files
zooqueen 886f97f0b7 deploy: ask for a runner label the pool still serves
runs-on was ubuntu-latest. That label was removed from the pool deliberately
after an upstream workflow wedged all ten runners, and hanzoai/cli records what
happens to anything still asking for it:

  a job asking for it queues for its full 24h timeout and reports NO error

So this workflow has never built anything and never said so. The fleet label is
hanzo-build-linux-amd64 — the same pool every job in this repo that does run
already asks for.
2026-08-12 20:36:08 -07:00

44 lines
1.5 KiB
YAML

name: deploy
# Builds brand.hanzo.ai and publishes the image the operator runs. This replaces
# the GitHub Pages workflow the repo used to carry: Pages never built that push,
# so the host has answered 404 from our ingress the whole time. The site is
# served by hanzoai/static behind hanzoai/ingress now, so there is no Pages and
# no CF Pages in the path.
#
# The image tag is the run's commit, and the operator CR in hanzoai/universe
# names which tag is live — a build never deploys itself.
on:
push:
branches: [main]
paths: ['index.html', 'Dockerfile', '.hanzo/workflows/deploy.yml']
workflow_dispatch:
concurrency:
group: deploy-${{ github.ref }}
cancel-in-progress: false
jobs:
image:
runs-on: hanzo-build-linux-amd64
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- name: build and push
env:
REGISTRY_TOKEN: ${{ secrets.REGISTRY_TOKEN }}
run: |
set -euo pipefail
if [ -z "${REGISTRY_TOKEN:-}" ]; then
echo "::error::REGISTRY_TOKEN is unset, so nothing was published. Add the org secret."
exit 1
fi
tag="$(git rev-parse --short HEAD)"
image="ghcr.io/hanzoai/brand:${tag}"
echo "${REGISTRY_TOKEN}" | docker login ghcr.io -u hanzo-dev --password-stdin
docker build -t "${image}" .
docker push "${image}"
echo "published ${image} — set spec.image.tag in universe crs/brand.yaml to ${tag}"