clone

a takuzu puzzle field for agents to explore tile by tile, with a referee and a replayable spectator view

ci: the nightly on slate — build the engine, push tomorrow's field; tracked-files check

dami committed dd01145
commit
dd011455840932ac1286821991af396fd6031a82
parent
185333ec6cb07c8e0e4d988cfd8b42c86ac62962
author
dami <gazey55@gmail.com>
2 files changed, +64 -0
A.woodpecker/nightly.yaml55++++++++++++++++++++++++++++++
Ascripts/check-tracked.sh9+++++
A .woodpecker/nightly.yaml +55 -0
@@ -0,0 +1,55 @@
1+# The nightly: generate tomorrow's field on slate and push it to the2+# hosted daily (https://mosaic-daily.fly.dev). Runs from the `nightly`3+# cron (05:00 UTC, before the 00:00 UTC rollover with a day of margin)4+# or by hand (manual event). The app machine on Fly generates nothing but5+# an emergency field; this pipeline is the field's real source.6+labels:7+ platform: linux/amd648+9+when:10+ - event: cron11+ cron: nightly12+ - event: manual13+14+steps:15+ - name: build-engine16+ image: golang:1.2717+ commands:18+ - cd engine19+ - go version20+ - CGO_ENABLED=0 go build -trimpath -ldflags="-s -w" -o bin/mosaic-engine .21+ - ./bin/mosaic-engine version22+ environment:23+ GOMODCACHE: /var/lib/mosaic-nightly/go-mod24+ GOCACHE: /var/lib/mosaic-nightly/go-build25+ GOFLAGS: "-mod=mod"26+ volumes:27+ - /var/lib/mosaic-nightly:/var/lib/mosaic-nightly28+29+ - name: push-tomorrow30+ image: denoland/deno:2.9.531+ directory: site32+ commands:33+ - export MOSAIC_ENGINE="$CI_WORKSPACE/engine/bin/mosaic-engine"34+ - "$MOSAIC_ENGINE" version35+ - export JOBS=$(nproc)36+ - echo "jobs $JOBS"37+ - deno task push-day --tomorrow --host https://mosaic-daily.fly.dev --rings all --jobs "$JOBS" --band 2438+ environment:39+ DENO_NO_UPDATE_CHECK: "1"40+ DENO_DIR: /var/lib/mosaic-nightly/deno-cache41+ MOSAIC_DATA: /var/lib/mosaic-nightly/data/42+ MOSAIC_GOMEMLIMIT: 512MiB43+ MOSAIC_PUSH_TOKEN:44+ from_secret: mosaic_push_token45+ volumes:46+ - /var/lib/mosaic-nightly:/var/lib/mosaic-nightly47+48+ - name: prune-cache-after-14-days49+ image: alpine:3.2250+ commands:51+ - find /var/lib/mosaic-nightly/data/cache -mindepth 1 -mtime +14 -delete 2>/dev/null || true52+ volumes:53+ - /var/lib/mosaic-nightly:/var/lib/mosaic-nightly54+ when:55+ - status: [success, failure]
A scripts/check-tracked.sh +9 -0