feat: Add Discord Notification
All checks were successful
Build & Deploy on Dev / build (push) Successful in 1m20s

This commit is contained in:
DESKTOP-1R2VSQH\Lenovo ThinkPad E490 2025-09-16 13:52:38 +07:00
parent 81cacad51d
commit 2ef8a4b60d

View file

@ -1,11 +1,10 @@
# /.forgejo/workflows/build.yml # /.forgejo/workflows/build.yml
name: Build name: Build & Deploy on Dev
on: on:
push: push:
tags: branches:
- "dev[0-9]+.[0-9]+.[0-9]+" - dev
- "dev[0-9]+.[0-9]+.[0-9]+*"
workflow_dispatch: workflow_dispatch:
env: env:
@ -13,7 +12,8 @@ env:
REGISTRY_USERNAME: ${{ vars.CONTAINER_REGISTRY_USERNAME }} REGISTRY_USERNAME: ${{ vars.CONTAINER_REGISTRY_USERNAME }}
REGISTRY_PASSWORD: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }} REGISTRY_PASSWORD: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }}
CONTAINER_IMAGE_NAME: ${{ vars.CONTAINER_REGISTRY }}/${{ vars.CONTAINER_IMAGE_OWNER }}/${{ vars.CONTAINER_IMAGE_NAME }} CONTAINER_IMAGE_NAME: ${{ vars.CONTAINER_REGISTRY }}/${{ vars.CONTAINER_IMAGE_OWNER }}/${{ vars.CONTAINER_IMAGE_NAME }}
IMAGE_VERSION: build IMAGE_VERSION: latest
DISCORD_WEBHOOK: ${{ vars.DISCORD_WEBHOOK }}
jobs: jobs:
build: build:
@ -29,11 +29,7 @@ jobs:
ca=["/etc/ssl/certs/ca-certificates.crt"] ca=["/etc/ssl/certs/ca-certificates.crt"]
- name: Tag Version - name: Tag Version
run: | run: |
if [[ "${{ github.event_name }}" == "push" ]]; then echo "IMAGE_VERSION=latest"
echo "IMAGE_VERSION=${{ github.ref_name }}" | sed 's/dev//g' >> $GITHUB_ENV
else
echo "IMAGE_VERSION=${{ env.IMAGE_VERSION }}-${{ github.run_number }}" >> $GITHUB_ENV
fi
- name: Login in to registry - name: Login in to registry
uses: docker/login-action@v2 uses: docker/login-action@v2
with: with:
@ -59,3 +55,25 @@ jobs:
cd ~/repo cd ~/repo
./replace-env.sh APP_MANUAL "${{ env.IMAGE_VERSION }}" ./replace-env.sh APP_MANUAL "${{ env.IMAGE_VERSION }}"
./deploy.sh hrms-manual ./deploy.sh hrms-manual
- name: Discord Notification
if: always()
run: |
STATUS="${{ job.status == 'success' && '✅ Success' || '❌ Failed' }}"
COLOR="${{ job.status == 'success' && '3066993' || '15158332' }}"
TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%SZ)
curl -H "Content-Type: application/json" \
-X POST \
-d "{
\"embeds\": [{
\"title\": \"$STATUS\",
\"description\": \"**Build & Deploy**\\n- Image: \`${{ env.CONTAINER_IMAGE_NAME }}\`\\n- Version: \`${{ env.IMAGE_VERSION }}\`\\n- By: \`${{ github.actor }}\`\",
\"color\": $COLOR,
\"footer\": {
\"text\": \"Release Notification\",
\"icon_url\": \"https://example.com/success-icon.png\"
},
\"timestamp\": \"$TIMESTAMP\"
}]
}" \
${{ env.DISCORD_WEBHOOK }}