feat(release): auto-trigger Render demo deploy after container push

Add trigger-demo-deploy job to cd-release workflow that POSTs to
Render deploy hook when TimeTrackerDemoRender org secret is set.
Runs after build-and-push; skips gracefully if secret is not
configured. Include demo deploy status in release summary.

Document in RENDER.md, CI_CD_DOCUMENTATION.md, and
GITHUB_ACTIONS_SETUP.md.
This commit is contained in:
Dries Peeters
2026-02-17 20:23:46 +01:00
parent 5593c9742f
commit 3f56a06ef0
4 changed files with 45 additions and 2 deletions
+31 -1
View File
@@ -1213,13 +1213,42 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
continue-on-error: false
# ============================================================================
# Trigger Demo Site Deploy (Render)
# ============================================================================
trigger-demo-deploy:
name: Trigger Demo Deploy
runs-on: ubuntu-latest
needs: [build-and-push]
continue-on-error: true
timeout-minutes: 2
steps:
- name: Trigger Render deploy hook
env:
RENDER_DEPLOY_HOOK_URL: ${{ secrets.TimeTrackerDemoRender }}
run: |
if [ -z "$RENDER_DEPLOY_HOOK_URL" ]; then
echo "⚠️ TimeTrackerDemoRender secret not configured - skipping demo deploy"
exit 0
fi
echo "🚀 Triggering Render deploy hook for demo site..."
HTTP_CODE=$(curl -s -o /tmp/render-response.txt -w "%{http_code}" -X POST "$RENDER_DEPLOY_HOOK_URL")
if [ "$HTTP_CODE" -ge 200 ] && [ "$HTTP_CODE" -lt 300 ]; then
echo "✅ Render deploy triggered successfully (HTTP $HTTP_CODE)"
else
echo "❌ Render deploy hook returned HTTP $HTTP_CODE"
cat /tmp/render-response.txt || true
exit 1
fi
# ============================================================================
# Post-Release Summary
# ============================================================================
release-summary:
name: Release Summary
runs-on: ubuntu-latest
needs: [security-audit, build-and-push, determine-version, create-release, build-desktop-windows, build-desktop-linux, build-desktop-macos, build-mobile-android, build-mobile-ios]
needs: [security-audit, build-and-push, determine-version, create-release, trigger-demo-deploy, build-desktop-windows, build-desktop-linux, build-desktop-macos, build-mobile-android, build-mobile-ios]
if: always()
steps:
@@ -1231,6 +1260,7 @@ jobs:
echo "- ✅ Security: ${{ needs.security-audit.result }}" >> $GITHUB_STEP_SUMMARY
echo "- ✅ Docker Build: ${{ needs.build-and-push.result }}" >> $GITHUB_STEP_SUMMARY
echo "- ✅ Release: ${{ needs.create-release.result }}" >> $GITHUB_STEP_SUMMARY
echo "- ✅ Demo Deploy: ${{ needs.trigger-demo-deploy.result }}" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "### Desktop Applications" >> $GITHUB_STEP_SUMMARY
if [ "${{ needs.build-desktop-windows.result }}" == "success" ]; then