mirror of
https://github.com/hanzoai/hanzo.sh.git
synced 2026-10-30 15:04:52 +00:00
The edge took hanzo.sh today (universe dd71c07db): it picks page.html or install.sh by Accept from s3://hanzo-sites/hanzo/sh. The Worker's custom domain can no longer attach, so a wrangler deploy reaches no one, as 71b1410's run showed. The site lane publishes to that prefix with no Cloudflare credential, and replaces a hand-copied bundle that answers 404 for /cli, /mcp and /dev. Claude-Session: https://claude.ai/code/session_01HuMDfgFssPUptYUzgZ6Cp8
21 lines
788 B
YAML
21 lines
788 B
YAML
# The export publishes to s3://hanzo-sites/hanzo/sh, which the edge serves as
|
|
# hanzo.sh. Which file `/` answers is the edge's rule, by Accept: page.html to a
|
|
# browser, install.sh to anything else (hanzo/universe infra/aws/routes/sites.yaml).
|
|
site:
|
|
slug: sh
|
|
dir: dist
|
|
build: pnpm install --frozen-lockfile && pnpm build
|
|
on: [main]
|
|
|
|
test:
|
|
# A byte before the doctype puts the page in quirks mode, and both published
|
|
# one-liners pipe the installer to a shell, so dash and bash must each parse it.
|
|
- name: page and installer
|
|
run: |
|
|
set -eu
|
|
pnpm install --frozen-lockfile && pnpm build
|
|
[ "$(head -c 15 dist/page.html)" = '<!DOCTYPE html>' ]
|
|
[ "$(head -1 dist/install.sh)" = '#!/bin/sh' ]
|
|
dash -n dist/install.sh
|
|
bash -n dist/install.sh
|