diff --git a/.github/workflows/deploy-notify.yml b/.github/workflows/deploy-notify.yml new file mode 100644 index 0000000..7c860e7 --- /dev/null +++ b/.github/workflows/deploy-notify.yml @@ -0,0 +1,35 @@ +name: Deploy Notification + +on: + push: + branches: [main] + +jobs: + notify: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 2 + + - name: Extract version info from commit + id: info + run: | + MSG=$(git log -1 --pretty=%s) + echo "message=$MSG" >> "$GITHUB_OUTPUT" + # Count merge commits on main as version number + COUNT=$(git rev-list --count HEAD) + echo "count=$COUNT" >> "$GITHUB_OUTPUT" + + - name: Post to Slack + env: + SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} + SLACK_CHANNEL_ID: ${{ secrets.SLACK_CHANNEL_ID }} + run: | + curl -s -X POST https://slack.com/api/chat.postMessage \ + -H "Authorization: Bearer $SLACK_BOT_TOKEN" \ + -H "Content-Type: application/json" \ + -d "$(jq -n \ + --arg channel "$SLACK_CHANNEL_ID" \ + --arg text ":rocket: *Deployed to production* — ${{ steps.info.outputs.message }}" \ + '{channel: $channel, text: $text}')"