From 23a8f17f66821118b40e5397a7eae0b42ec8e4ca Mon Sep 17 00:00:00 2001 From: zzstoatzz Date: Fri, 7 Aug 2026 17:49:05 -0500 Subject: [PATCH] deploy to fly on push to main via spindle mirrors coral's workflow: flyctl deploy --remote-only, requires the FLY_API_TOKEN spindle secret, skips docs/workflow-only pushes. Co-Authored-By: Claude Fable 5 --- .tangled/workflows/deploy.yml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 .tangled/workflows/deploy.yml diff --git a/.tangled/workflows/deploy.yml b/.tangled/workflows/deploy.yml new file mode 100644 index 0000000..3ee13fa --- /dev/null +++ b/.tangled/workflows/deploy.yml @@ -0,0 +1,27 @@ +when: + - event: push + branch: main + +engine: nixery + +dependencies: + nixpkgs: + - flyctl + - git + +steps: + - name: deploy to fly.io + command: | + test -n "$FLY_API_TOKEN" + + # skip deploys for pushes that only touch docs or workflow files. + # if the diff can't be resolved, deploy — a redundant deploy beats + # silently skipping a needed one. + changed=$(git diff --name-only HEAD^ HEAD 2>/dev/null) || changed="src/" + if [ -n "$changed" ] && ! echo "$changed" | grep -qv -e '\.md$' -e '^\.tangled/' -e '^docs/'; then + echo "docs/workflow-only push — skipping deploy" + echo "$changed" | sed 's/^/ /' + exit 0 + fi + + flyctl deploy --remote-only -- 2.51.2