make site-headless builds the CLI without cgo (aego_nonative) and the static site with the wasm playground. deploy/ holds the image, the container nginx config (gzip_static with Vary), compose and deploy.sh run by the post-receive hook on mainserv. .gitignore ignores only the root site/ output; tools/gendocs/site was never committed because of it. Docs site: index and section summaries render code, bold and italic instead of raw markdown; search.json gets the plain text. Page summaries drop a leading list or quote marker. The nav toggle is three CSS bars centred in a 32px button. Playground: a loading overlay in the editor pane shows a spinner, a progress bar and the downloaded size while aego.wasm streams in, then 'Starting engine' until the runtime is ready; a failed start keeps the error on the overlay. docstool writes the wasm size and a version hash into index.html; play.js, play.css, wasm_exec.js and aego.wasm are referenced with ?v=<hash> so a deploy never mixes cached old files with new ones. Instruction budget: default 1M per callback (was 100k), playground 2M; the donut needs ~120k per frame. Playground: software 3D donut example, multi-line log entries render as monospace blocks, a fault is reported once instead of also as a "script stopped" log line. The compose project is named aego explicitly; the default name came from the deploy/ directory and collided with other stacks on the host.
14 lines
374 B
Bash
Executable File
14 lines
374 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
ref="${1:-master}"
|
|
work="${AEGO_WORK:-$HOME/aego}"
|
|
cd "$work"
|
|
unset GIT_DIR
|
|
git fetch -q origin
|
|
git checkout -q -f --detach "origin/$ref"
|
|
sha=$(git rev-parse --short HEAD)
|
|
docker compose -f deploy/compose.yml build
|
|
docker compose -f deploy/compose.yml up -d --wait --remove-orphans
|
|
docker image prune -f >/dev/null
|
|
echo "deployed $sha"
|