CI (SIAX Cloud) / security (push) Successful in 46s
CI (SIAX Cloud) / security (pull_request) Successful in 49s
Security Scan (SIAX Cloud) / security (pull_request) Successful in 48s
Security Scan (SIAX Cloud) / security (push) Successful in 21s
CI (SIAX Cloud) / quality (pull_request) Successful in 1m15s
CI (SIAX Cloud) / quality (push) Successful in 1m13s
45 lines
2.1 KiB
YAML
45 lines
2.1 KiB
YAML
name: Deploy to Coolify
|
|
|
|
# Follows the fleet-wide pattern used by sax3l/n0d and sax3l/st0re: push to
|
|
# main triggers a POST to Coolify's deploy endpoint for this app's UUID,
|
|
# authenticated with the COOLIFY_TOKEN repo secret. Coolify already has the
|
|
# Dockerfile (build_pack: dockerfile) -- this workflow only fires the
|
|
# rebuild+redeploy, it doesn't build or push an image itself.
|
|
#
|
|
# STATUS (2026-08-09): no Coolify application has been provisioned for 0pt
|
|
# yet -- siax.config.json's `deploy.target` was flipped from "vercel" to
|
|
# "coolify" to state the intended platform, but there is no app UUID to
|
|
# point at. COOLIFY_APP_ID below is a literal placeholder. The guard step
|
|
# fails the job loudly (rather than silently POSTing to a bogus/empty URL)
|
|
# until both the Coolify app exists and its real UUID replaces the
|
|
# placeholder here. See docs/architecture/ARCHITECTURE.md §5/§8 for the
|
|
# open "Vercel or fleet" question this resolves the config side of.
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
workflow_dispatch:
|
|
jobs:
|
|
deploy:
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
COOLIFY_APP_ID: ${{ vars.COOLIFY_APP_ID || 'TODO-no-coolify-app-provisioned-yet' }}
|
|
steps:
|
|
- name: Guard against unset token / placeholder app id
|
|
run: |
|
|
if [ -z "${{ secrets.COOLIFY_TOKEN }}" ]; then
|
|
echo "::error::COOLIFY_TOKEN secret is not set on this repo -- cannot redeploy."
|
|
exit 1
|
|
fi
|
|
if [ "$COOLIFY_APP_ID" = "TODO-no-coolify-app-provisioned-yet" ]; then
|
|
echo "::error::No Coolify app has been provisioned for 0pt yet. Create the app in the Coolify UI (cloud.siax.io), copy its UUID into COOLIFY_APP_ID in this file, and set the COOLIFY_TOKEN repo secret before this workflow can deploy anything."
|
|
exit 1
|
|
fi
|
|
- name: Trigger Coolify redeploy
|
|
env:
|
|
COOLIFY_TOKEN: ${{ secrets.COOLIFY_TOKEN }}
|
|
run: |
|
|
curl -fsS -X POST \
|
|
"https://cloud.siax.io/api/v1/deploy?uuid=${COOLIFY_APP_ID}&force=false" \
|
|
-H "Authorization: Bearer $COOLIFY_TOKEN" \
|
|
-o /dev/null -w 'coolify deploy HTTP %{http_code}\n'
|