# Hanzo CI/CD — ads. .github/workflows/cicd.yml is triggers and an import of # hanzoai/ci; everything it runs is here. test: # Frozen: the gate resolves the same tree the Dockerfile does. - name: install run: | set -e corepack enable pnpm install --frozen-lockfile # The image's build line, run first. A vite build that emits nothing still # exits 0, hence the file tests. - name: build run: | set -e pnpm build test -s dist/index.html test -d dist/assets images: - name: ads context: . dockerfile: Dockerfile repo: ghcr.io/hanzoai/ads platforms: [linux/amd64] # No build secrets. A person's credential comes from hanzo.id at sign-in; # an ad network's token stays in KMS and is read server-side at launch. # ads.hanzo.ai is bytes: the export is the whole product and its API is # api.hanzo.ai. The site lane publishes the `build` gate's dist to # s3://hanzo-sites/hanzo/ads, where the edge serves it with no pod. The image # lane above goes when the ads Deployment does. site: slug: ads dir: dist on: [main]