Fix the build workflow's YAML so it actually runs
Build apps / build (push) Failing after 1m48s

The alert steps passed their message body as a bare multi-line argument starting
at column 0. That ends the YAML block scalar, which makes the whole file invalid:
"a multiline key may not be an implicit key". Gitea still listed the workflow as
active and simply never created a run for it — no error anywhere, which is why two
pushes appeared to do nothing.

The bodies are built with indented heredocs now, so every line stays inside the
block scalar. Validated by parsing the file rather than by eye; a workflow that is
registered but silently never triggers looks exactly like one that works.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Waters Church
2026-09-24 15:39:08 -04:00
co-authored by Claude Opus 5
parent b5a3d48d86
commit af97626b12
+25 -16
View File
@@ -96,32 +96,41 @@ jobs:
if: success()
run: |
export PATH="/usr/local/bin:$PATH"
APP="$HOME/checklist-app"
cd "$APP"
cd "$HOME/checklist-app"
V="$(node -e 'const c=require("./mobile/release.config.json");console.log(`${c.version} (ios build ${c.iosBuild}, android code ${c.androidVersionCode})`)')"
node scripts/alert.js "Apps rebuilt and waiting — shipped versions are now behind" \
"A change landed that the iOS and Android apps bundle, so they were rebuilt on the
ingest Mac. Both built cleanly and are signed and ready.
# The body is built with a heredoc rather than a bare multi-line argument: an
# argument that starts at column 0 ends the YAML block scalar and makes this whole
# file unparseable, which Gitea reports only by silently never running it.
BODY="$(cat <<MSG
A change landed that the iOS and Android apps bundle, so they were rebuilt on the
ingest Mac. Both built cleanly and are signed and ready.
They are NOT on anyone's phone yet, and will not be until you ship them:
They are NOT on anyone's phone yet, and will not be until you ship them:
cd ~/Documents/recurring-checklist-app
./release.sh --ios --android
cd ~/Documents/recurring-checklist-app
./release.sh --ios --android
Current numbering: $V
Current numbering: $V
The website already has this change — it deploys on push. Only the apps, which carry
their own copy of the UI, are waiting." || true
The website already has this change — it deploys on push. Only the apps, which
carry their own copy of the UI, are waiting.
MSG
)"
node scripts/alert.js "Apps rebuilt and waiting — shipped versions are now behind" "$BODY" || true
- name: Tell Christian the build broke
if: failure()
run: |
export PATH="/usr/local/bin:$PATH"
cd "$HOME/checklist-app"
node scripts/alert.js "App build FAILED on the ingest Mac" \
"A push changed something the apps bundle, and the rebuild did not compile.
BODY="$(cat <<MSG
A push changed something the apps bundle, and the rebuild did not compile.
The website is unaffected — it deploys separately and is already live with this
change. But the apps cannot be shipped until this builds again.
The website is unaffected — it deploys separately and is already live with this
change. But the apps cannot be shipped until this builds again.
Full log: http://chronicles-ab.waterschurch.org:3000/christian/recurring-checklist/actions" || true
Full log:
http://chronicles-ab.waterschurch.org:3000/christian/recurring-checklist/actions
MSG
)"
node scripts/alert.js "App build FAILED on the ingest Mac" "$BODY" || true