From c1ca4891fcf4915a4eb933bdf5a71b66d226c102 Mon Sep 17 00:00:00 2001 From: Corey Blais Date: Wed, 22 Jul 2026 20:39:35 -0400 Subject: [PATCH] Notify Discord after deploy workflows --- .gitea/workflows/deploy.yml | 46 +++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index d2048b0..7b25061 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -48,6 +48,29 @@ jobs: cd /docker/FlockPal-dev docker compose -f docker-compose.dev.yaml up -d --build + - name: Notify Discord + if: always() + env: + DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }} + JOB_STATUS: ${{ job.status }} + DEPLOY_ENVIRONMENT: dev + run: | + if [ -z "$DISCORD_WEBHOOK_URL" ]; then + echo "DISCORD_WEBHOOK_URL is not configured; skipping Discord notification." + exit 0 + fi + + if [ "$JOB_STATUS" = "success" ]; then + STATUS_LABEL="SUCCESS" + else + STATUS_LABEL="FAILED" + fi + + curl --fail --show-error --silent \ + -H "Content-Type: application/json" \ + -d "{\"content\":\"[${STATUS_LABEL}] FlockPal ${DEPLOY_ENVIRONMENT} deploy completed with status: ${JOB_STATUS}\\nBranch: ${{ github.ref_name }}\\nCommit: ${{ github.sha }}\\nRun: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}\"}" \ + "$DISCORD_WEBHOOK_URL" || echo "Discord notification failed." + deploy-prod: if: ${{ github.event_name == 'workflow_dispatch' || (github.event_name == 'push' && github.ref_name == 'main') }} runs-on: ubuntu-latest @@ -92,3 +115,26 @@ jobs: set -e cd /docker/FlockPal docker compose -f docker-compose.prod.yml exec -T backend node dist/healthcheck.js api-ready + + - name: Notify Discord + if: always() + env: + DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }} + JOB_STATUS: ${{ job.status }} + DEPLOY_ENVIRONMENT: production + run: | + if [ -z "$DISCORD_WEBHOOK_URL" ]; then + echo "DISCORD_WEBHOOK_URL is not configured; skipping Discord notification." + exit 0 + fi + + if [ "$JOB_STATUS" = "success" ]; then + STATUS_LABEL="SUCCESS" + else + STATUS_LABEL="FAILED" + fi + + curl --fail --show-error --silent \ + -H "Content-Type: application/json" \ + -d "{\"content\":\"[${STATUS_LABEL}] FlockPal ${DEPLOY_ENVIRONMENT} deploy completed with status: ${JOB_STATUS}\\nBranch: ${{ github.ref_name }}\\nCommit: ${{ github.sha }}\\nRun: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}\"}" \ + "$DISCORD_WEBHOOK_URL" || echo "Discord notification failed."