clone

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

main
mosaic / .woodpecker / nightly.yaml
nightly.yaml 2.0K
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.6labels:7 platform: linux/amd6489when:10 - event: cron11 cron: nightly12 - event: manual1314steps: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-nightly2829 - 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 # a chunk process uses 1.5-2.6 cores; past ~4-6 parallel chunks the36 # machine is oversubscribed (jobs 16 on 16 cores was slower)37 - export JOBS=$(( $(nproc) / 3 ))38 - '[ "$JOBS" -ge 1 ] || JOBS=1'39 - echo "jobs $JOBS"40 - deno task push-day --tomorrow --host https://mosaic-daily.fly.dev --rings all --jobs "$JOBS" --band 2441 environment:42 DENO_NO_UPDATE_CHECK: "1"43 DENO_DIR: /var/lib/mosaic-nightly/deno-cache44 MOSAIC_DATA: /var/lib/mosaic-nightly/data/45 MOSAIC_GOMEMLIMIT: 512MiB46 MOSAIC_PUSH_TOKEN:47 from_secret: mosaic_push_token48 volumes:49 - /var/lib/mosaic-nightly:/var/lib/mosaic-nightly5051 - name: prune-cache-after-14-days52 image: alpine:3.2253 commands:54 - find /var/lib/mosaic-nightly/data/cache -mindepth 1 -mtime +14 -delete 2>/dev/null || true55 volumes:56 - /var/lib/mosaic-nightly:/var/lib/mosaic-nightly57 when:58 - status: [success, failure]