From 3d38093c9fb2eec0d09265c55d702d06a0cecdfe Mon Sep 17 00:00:00 2001 From: Corey Blais Date: Tue, 4 Aug 2026 16:03:43 -0400 Subject: [PATCH] Add Discord deploy notifications --- .gitea/workflows/deploy.yml | 122 ++++++++++++++++++++++++++++++++++++ README.md | 2 + 2 files changed, 124 insertions(+) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 342a33d..81278d2 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -47,6 +47,67 @@ 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 }} + 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_TITLE="Deploy succeeded" + COLOR=65280 + else + STATUS_TITLE="Deploy failed" + COLOR=16711680 + fi + RUN_URL="${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" + AVATAR_URL="${{ vars.DISCORD_AVATAR_URL }}" + AVATAR_URL="${AVATAR_URL:-https://flockpal.app/FlockPal-Paint.png}" + COMMIT_MESSAGE="$(git -C /docker/FlockPal-dev log -1 --pretty=%s 2>/dev/null || printf '%s' '${{ github.sha }}')" + json_escape() { + printf '%s' "$1" | sed 's/\\/\\\\/g; s/"/\\"/g' + } + BRANCH="$(json_escape '${{ github.ref_name }}')" + MESSAGE="$(json_escape "$COMMIT_MESSAGE")" + AVATAR_URL="$(json_escape "$AVATAR_URL")" + + cat > /tmp/discord-payload.json < /tmp/discord-payload.json <" https://your-host/api/metrics - `S3_ACCESS_KEY_ID` - `S3_SECRET_ACCESS_KEY` - `RESCUE_ONBOARDING_WEBHOOK_URL` + - `DISCORD_WEBHOOK_URL` as a Gitea Actions secret for deploy notifications + - `DISCORD_AVATAR_URL` as an optional Gitea Actions variable for the deploy notification icon 2. Build and start the production stack: ```bash