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