From 5786c5073ef68c22d6d3a2e088a9c104daf3d42e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Verstraeten?= Date: Thu, 27 Nov 2025 10:21:20 +0100 Subject: [PATCH 1/4] Add Slack notifications to CI workflows Slack notifications for success and failure have been added to the k3d, kind, kustomize, microk8s, and pr-description GitHub Actions workflows. This improves visibility of deployment and PR automation results by sending status updates to a configured Slack channel. --- .github/workflows/k3d.yaml | 18 +++++++++++++++++- .github/workflows/kind.yaml | 18 +++++++++++++++++- .github/workflows/kustomize.yaml | 18 +++++++++++++++++- .github/workflows/microk8s.yaml | 19 ++++++++++++++++++- .github/workflows/pr-description.yml | 16 ++++++++++++++++ 5 files changed, 85 insertions(+), 4 deletions(-) diff --git a/.github/workflows/k3d.yaml b/.github/workflows/k3d.yaml index 5d25acc..6d5d204 100644 --- a/.github/workflows/k3d.yaml +++ b/.github/workflows/k3d.yaml @@ -127,4 +127,20 @@ jobs: kubectl wait --for=condition=available deployment/pipe-sequence -n kerberos-hub --timeout=300s kubectl wait --for=condition=available deployment/pipe-sprite -n kerberos-hub --timeout=300s kubectl wait --for=condition=available deployment/pipe-throttler -n kerberos-hub --timeout=300s - kubectl get pods -A -o wide \ No newline at end of file + kubectl get pods -A -o wide + - name: Send Slack Notification on Success + if: success() + env: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} + run: | + curl -X POST -H 'Content-type: application/json' --data "{ + \"text\": \"✅ K3d Deployment Successful! :rocket:\n*OS*: ${{ matrix.os }}\n*K3d Version*: ${{ matrix.k3d }}\n*Workflow*: ${{ github.workflow }}\n*Triggered by*: ${{ github.actor }}\n*Repository*: ${{ github.repository }}\" + }" $SLACK_WEBHOOK_URL + - name: Send Slack Notification on Failure + if: failure() + env: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} + run: | + curl -X POST -H 'Content-type: application/json' --data "{ + \"text\": \"❌ K3d Deployment Failed! :x:\n*OS*: ${{ matrix.os }}\n*K3d Version*: ${{ matrix.k3d }}\n*Workflow*: ${{ github.workflow }}\n*Triggered by*: ${{ github.actor }}\n*Repository*: ${{ github.repository }}\n*Run URL*: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}\" + }" $SLACK_WEBHOOK_URL \ No newline at end of file diff --git a/.github/workflows/kind.yaml b/.github/workflows/kind.yaml index e8fac65..a1bba31 100644 --- a/.github/workflows/kind.yaml +++ b/.github/workflows/kind.yaml @@ -123,4 +123,20 @@ jobs: kubectl wait --for=condition=available deployment/pipe-sequence -n kerberos-hub --timeout=300s kubectl wait --for=condition=available deployment/pipe-sprite -n kerberos-hub --timeout=300s kubectl wait --for=condition=available deployment/pipe-throttler -n kerberos-hub --timeout=300s - kubectl get pods -A -o wide \ No newline at end of file + kubectl get pods -A -o wide + - name: Send Slack Notification on Success + if: success() + env: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} + run: | + curl -X POST -H 'Content-type: application/json' --data "{ + \"text\": \"✅ Kind Deployment Successful! :rocket:\n*OS*: ${{ matrix.os }}\n*Kind Version*: ${{ matrix.kind }}\n*Workflow*: ${{ github.workflow }}\n*Triggered by*: ${{ github.actor }}\n*Repository*: ${{ github.repository }}\" + }" $SLACK_WEBHOOK_URL + - name: Send Slack Notification on Failure + if: failure() + env: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} + run: | + curl -X POST -H 'Content-type: application/json' --data "{ + \"text\": \"❌ Kind Deployment Failed! :x:\n*OS*: ${{ matrix.os }}\n*Kind Version*: ${{ matrix.kind }}\n*Workflow*: ${{ github.workflow }}\n*Triggered by*: ${{ github.actor }}\n*Repository*: ${{ github.repository }}\n*Run URL*: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}\" + }" $SLACK_WEBHOOK_URL \ No newline at end of file diff --git a/.github/workflows/kustomize.yaml b/.github/workflows/kustomize.yaml index 0cb862c..7e0eabe 100644 --- a/.github/workflows/kustomize.yaml +++ b/.github/workflows/kustomize.yaml @@ -28,4 +28,20 @@ jobs: kubectl get pods -A -o wide kubectl get sc - name: Checkout repository - uses: actions/checkout@v2 \ No newline at end of file + uses: actions/checkout@v2 + - name: Send Slack Notification on Success + if: success() + env: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} + run: | + curl -X POST -H 'Content-type: application/json' --data "{ + \"text\": \"✅ Kustomize Deployment Successful! :rocket:\n*OS*: ${{ matrix.os }}\n*Kind Version*: ${{ matrix.kind }}\n*Workflow*: ${{ github.workflow }}\n*Triggered by*: ${{ github.actor }}\n*Repository*: ${{ github.repository }}\" + }" $SLACK_WEBHOOK_URL + - name: Send Slack Notification on Failure + if: failure() + env: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} + run: | + curl -X POST -H 'Content-type: application/json' --data "{ + \"text\": \"❌ Kustomize Deployment Failed! :x:\n*OS*: ${{ matrix.os }}\n*Kind Version*: ${{ matrix.kind }}\n*Workflow*: ${{ github.workflow }}\n*Triggered by*: ${{ github.actor }}\n*Repository*: ${{ github.repository }}\n*Run URL*: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}\" + }" $SLACK_WEBHOOK_URL \ No newline at end of file diff --git a/.github/workflows/microk8s.yaml b/.github/workflows/microk8s.yaml index f311b77..58faa65 100644 --- a/.github/workflows/microk8s.yaml +++ b/.github/workflows/microk8s.yaml @@ -117,4 +117,21 @@ jobs: kubectl wait --for=condition=available deployment/pipe-sequence -n kerberos-hub --timeout=300s kubectl wait --for=condition=available deployment/pipe-sprite -n kerberos-hub --timeout=300s kubectl wait --for=condition=available deployment/pipe-throttler -n kerberos-hub --timeout=300s - kubectl get pods -A -o wide \ No newline at end of file + kubectl get pods -A -o wide + - name: Send Slack Notification on Success + if: success() + env: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} + run: | + curl -X POST -H 'Content-type: application/json' --data "{ + \"text\": \"✅ MicroK8s Deployment Successful! :rocket:\n*OS*: ${{ matrix.os }}\n*MicroK8s Version*: ${{ matrix.microk8s }}\n*Workflow*: ${{ github.workflow }}\n*Triggered by*: ${{ github.actor }}\n*Repository*: ${{ github.repository }}\" + }" $SLACK_WEBHOOK_URL + - name: Send Slack Notification on Failure + if: failure() + env: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} + run: | + curl -X POST -H 'Content-type: application/json' --data "{ + \"text\": \"❌ MicroK8s Deployment Failed! :x:\n*OS*: ${{ matrix.os }}\n*MicroK8s Version*: ${{ matrix.microk8s }}\n*Workflow*: ${{ github.workflow }}\n*Triggered by*: ${{ github.actor }}\n*Repository*: ${{ github.repository }}\n*Run URL*: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}\" + }" $SLACK_WEBHOOK_URL + \ No newline at end of file diff --git a/.github/workflows/pr-description.yml b/.github/workflows/pr-description.yml index d0bfdb4..19119dd 100644 --- a/.github/workflows/pr-description.yml +++ b/.github/workflows/pr-description.yml @@ -17,3 +17,19 @@ jobs: azure_openai_endpoint: ${{ secrets.AZURE_OPENAI_ENDPOINT }} azure_openai_version: ${{ secrets.AZURE_OPENAI_VERSION }} overwrite_description: true + - name: Send Slack Notification on Success + if: success() + env: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} + run: | + curl -X POST -H 'Content-type: application/json' --data "{ + \"text\": \"✅ PR Description Auto-fill Successful! :robot_face:\n*Workflow*: ${{ github.workflow }}\n*PR*: ${{ github.event.pull_request.title }}\n*Triggered by*: ${{ github.actor }}\n*Repository*: ${{ github.repository }}\" + }" $SLACK_WEBHOOK_URL + - name: Send Slack Notification on Failure + if: failure() + env: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} + run: | + curl -X POST -H 'Content-type: application/json' --data "{ + \"text\": \"❌ PR Description Auto-fill Failed! :x:\n*Workflow*: ${{ github.workflow }}\n*PR*: ${{ github.event.pull_request.title }}\n*Triggered by*: ${{ github.actor }}\n*Repository*: ${{ github.repository }}\n*Run URL*: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}\" + }" $SLACK_WEBHOOK_URL From ddef4397bb2d3986d5174274d719333f1b7c52b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Verstraeten?= Date: Thu, 27 Nov 2025 10:51:20 +0100 Subject: [PATCH 2/4] Remove deprecated microk8s versions from deployment matrix in microk8s.yaml --- .github/workflows/microk8s.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/microk8s.yaml b/.github/workflows/microk8s.yaml index 58faa65..ea5f5be 100644 --- a/.github/workflows/microk8s.yaml +++ b/.github/workflows/microk8s.yaml @@ -10,7 +10,6 @@ jobs: strategy: matrix: os: [ubuntu-22.04, ubuntu-24.04] - #microk8s: [1.29/stable, 1.30/stable, 1.31/stable, 1.32/stable] microk8s: [1.32/stable] steps: - uses: balchua/microk8s-actions@v0.4.3 From 0bb4b9c381dba9b4554cb55bbd7f6dc7974113ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Verstraeten?= Date: Thu, 27 Nov 2025 10:52:44 +0100 Subject: [PATCH 3/4] Remove Slack notification steps from Kustomize and PR description workflows --- .github/workflows/kustomize.yaml | 32 ++++++++++++++-------------- .github/workflows/pr-description.yml | 18 +--------------- 2 files changed, 17 insertions(+), 33 deletions(-) diff --git a/.github/workflows/kustomize.yaml b/.github/workflows/kustomize.yaml index 7e0eabe..8a8d976 100644 --- a/.github/workflows/kustomize.yaml +++ b/.github/workflows/kustomize.yaml @@ -29,19 +29,19 @@ jobs: kubectl get sc - name: Checkout repository uses: actions/checkout@v2 - - name: Send Slack Notification on Success - if: success() - env: - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} - run: | - curl -X POST -H 'Content-type: application/json' --data "{ - \"text\": \"✅ Kustomize Deployment Successful! :rocket:\n*OS*: ${{ matrix.os }}\n*Kind Version*: ${{ matrix.kind }}\n*Workflow*: ${{ github.workflow }}\n*Triggered by*: ${{ github.actor }}\n*Repository*: ${{ github.repository }}\" - }" $SLACK_WEBHOOK_URL - - name: Send Slack Notification on Failure - if: failure() - env: - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} - run: | - curl -X POST -H 'Content-type: application/json' --data "{ - \"text\": \"❌ Kustomize Deployment Failed! :x:\n*OS*: ${{ matrix.os }}\n*Kind Version*: ${{ matrix.kind }}\n*Workflow*: ${{ github.workflow }}\n*Triggered by*: ${{ github.actor }}\n*Repository*: ${{ github.repository }}\n*Run URL*: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}\" - }" $SLACK_WEBHOOK_URL \ No newline at end of file + # - name: Send Slack Notification on Success + # if: success() + # env: + # SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} + # run: | + # curl -X POST -H 'Content-type: application/json' --data "{ + # \"text\": \"✅ Kustomize Deployment Successful! :rocket:\n*OS*: ${{ matrix.os }}\n*Kind Version*: ${{ matrix.kind }}\n*Workflow*: ${{ github.workflow }}\n*Triggered by*: ${{ github.actor }}\n*Repository*: ${{ github.repository }}\" + # }" $SLACK_WEBHOOK_URL + # - name: Send Slack Notification on Failure + # if: failure() + # env: + # SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} + # run: | + # curl -X POST -H 'Content-type: application/json' --data "{ + # \"text\": \"❌ Kustomize Deployment Failed! :x:\n*OS*: ${{ matrix.os }}\n*Kind Version*: ${{ matrix.kind }}\n*Workflow*: ${{ github.workflow }}\n*Triggered by*: ${{ github.actor }}\n*Repository*: ${{ github.repository }}\n*Run URL*: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}\" + # }" $SLACK_WEBHOOK_URL \ No newline at end of file diff --git a/.github/workflows/pr-description.yml b/.github/workflows/pr-description.yml index 19119dd..f607658 100644 --- a/.github/workflows/pr-description.yml +++ b/.github/workflows/pr-description.yml @@ -16,20 +16,4 @@ jobs: azure_openai_api_key: ${{ secrets.AZURE_OPENAI_API_KEY }} azure_openai_endpoint: ${{ secrets.AZURE_OPENAI_ENDPOINT }} azure_openai_version: ${{ secrets.AZURE_OPENAI_VERSION }} - overwrite_description: true - - name: Send Slack Notification on Success - if: success() - env: - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} - run: | - curl -X POST -H 'Content-type: application/json' --data "{ - \"text\": \"✅ PR Description Auto-fill Successful! :robot_face:\n*Workflow*: ${{ github.workflow }}\n*PR*: ${{ github.event.pull_request.title }}\n*Triggered by*: ${{ github.actor }}\n*Repository*: ${{ github.repository }}\" - }" $SLACK_WEBHOOK_URL - - name: Send Slack Notification on Failure - if: failure() - env: - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} - run: | - curl -X POST -H 'Content-type: application/json' --data "{ - \"text\": \"❌ PR Description Auto-fill Failed! :x:\n*Workflow*: ${{ github.workflow }}\n*PR*: ${{ github.event.pull_request.title }}\n*Triggered by*: ${{ github.actor }}\n*Repository*: ${{ github.repository }}\n*Run URL*: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}\" - }" $SLACK_WEBHOOK_URL + overwrite_description: true \ No newline at end of file From 33270d2655d7cea2a772ba76eb3a7cd5642bc4a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Verstraeten?= Date: Thu, 27 Nov 2025 10:59:35 +0100 Subject: [PATCH 4/4] Refactor Slack notifications in CI workflows for K3d, Kind, Kustomize, and MicroK8s to simplify messages and improve readability --- .github/workflows/k3d.yaml | 8 ++------ .github/workflows/kind.yaml | 8 ++------ .github/workflows/kustomize.yaml | 28 ++++++++++++---------------- .github/workflows/microk8s.yaml | 8 ++------ 4 files changed, 18 insertions(+), 34 deletions(-) diff --git a/.github/workflows/k3d.yaml b/.github/workflows/k3d.yaml index 6d5d204..e3befa3 100644 --- a/.github/workflows/k3d.yaml +++ b/.github/workflows/k3d.yaml @@ -133,14 +133,10 @@ jobs: env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} run: | - curl -X POST -H 'Content-type: application/json' --data "{ - \"text\": \"✅ K3d Deployment Successful! :rocket:\n*OS*: ${{ matrix.os }}\n*K3d Version*: ${{ matrix.k3d }}\n*Workflow*: ${{ github.workflow }}\n*Triggered by*: ${{ github.actor }}\n*Repository*: ${{ github.repository }}\" - }" $SLACK_WEBHOOK_URL + curl -X POST -H 'Content-type: application/json' --data "{\"text\": \"✅ K3d deployment successful on ${{ matrix.os }} (${{ matrix.k3d }}) - triggered by ${{ github.actor }}\"}" $SLACK_WEBHOOK_URL - name: Send Slack Notification on Failure if: failure() env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} run: | - curl -X POST -H 'Content-type: application/json' --data "{ - \"text\": \"❌ K3d Deployment Failed! :x:\n*OS*: ${{ matrix.os }}\n*K3d Version*: ${{ matrix.k3d }}\n*Workflow*: ${{ github.workflow }}\n*Triggered by*: ${{ github.actor }}\n*Repository*: ${{ github.repository }}\n*Run URL*: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}\" - }" $SLACK_WEBHOOK_URL \ No newline at end of file + curl -X POST -H 'Content-type: application/json' --data "{\"text\": \"❌ K3d deployment failed on ${{ matrix.os }} (${{ matrix.k3d }}) - <${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|View logs>\"}" $SLACK_WEBHOOK_URL \ No newline at end of file diff --git a/.github/workflows/kind.yaml b/.github/workflows/kind.yaml index a1bba31..c7d5973 100644 --- a/.github/workflows/kind.yaml +++ b/.github/workflows/kind.yaml @@ -129,14 +129,10 @@ jobs: env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} run: | - curl -X POST -H 'Content-type: application/json' --data "{ - \"text\": \"✅ Kind Deployment Successful! :rocket:\n*OS*: ${{ matrix.os }}\n*Kind Version*: ${{ matrix.kind }}\n*Workflow*: ${{ github.workflow }}\n*Triggered by*: ${{ github.actor }}\n*Repository*: ${{ github.repository }}\" - }" $SLACK_WEBHOOK_URL + curl -X POST -H 'Content-type: application/json' --data "{\"text\": \"✅ Kind deployment successful on ${{ matrix.os }} (${{ matrix.kind }}) - triggered by ${{ github.actor }}\"}" $SLACK_WEBHOOK_URL - name: Send Slack Notification on Failure if: failure() env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} run: | - curl -X POST -H 'Content-type: application/json' --data "{ - \"text\": \"❌ Kind Deployment Failed! :x:\n*OS*: ${{ matrix.os }}\n*Kind Version*: ${{ matrix.kind }}\n*Workflow*: ${{ github.workflow }}\n*Triggered by*: ${{ github.actor }}\n*Repository*: ${{ github.repository }}\n*Run URL*: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}\" - }" $SLACK_WEBHOOK_URL \ No newline at end of file + curl -X POST -H 'Content-type: application/json' --data "{\"text\": \"❌ Kind deployment failed on ${{ matrix.os }} (${{ matrix.kind }}) - <${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|View logs>\"}" $SLACK_WEBHOOK_URL \ No newline at end of file diff --git a/.github/workflows/kustomize.yaml b/.github/workflows/kustomize.yaml index 8a8d976..39b9a31 100644 --- a/.github/workflows/kustomize.yaml +++ b/.github/workflows/kustomize.yaml @@ -29,19 +29,15 @@ jobs: kubectl get sc - name: Checkout repository uses: actions/checkout@v2 - # - name: Send Slack Notification on Success - # if: success() - # env: - # SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} - # run: | - # curl -X POST -H 'Content-type: application/json' --data "{ - # \"text\": \"✅ Kustomize Deployment Successful! :rocket:\n*OS*: ${{ matrix.os }}\n*Kind Version*: ${{ matrix.kind }}\n*Workflow*: ${{ github.workflow }}\n*Triggered by*: ${{ github.actor }}\n*Repository*: ${{ github.repository }}\" - # }" $SLACK_WEBHOOK_URL - # - name: Send Slack Notification on Failure - # if: failure() - # env: - # SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} - # run: | - # curl -X POST -H 'Content-type: application/json' --data "{ - # \"text\": \"❌ Kustomize Deployment Failed! :x:\n*OS*: ${{ matrix.os }}\n*Kind Version*: ${{ matrix.kind }}\n*Workflow*: ${{ github.workflow }}\n*Triggered by*: ${{ github.actor }}\n*Repository*: ${{ github.repository }}\n*Run URL*: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}\" - # }" $SLACK_WEBHOOK_URL \ No newline at end of file + - name: Send Slack Notification on Success + if: success() + env: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} + run: | + curl -X POST -H 'Content-type: application/json' --data "{\"text\": \"✅ Kustomize deployment successful on ${{ matrix.os }} (${{ matrix.kind }}) - triggered by ${{ github.actor }}\"}" $SLACK_WEBHOOK_URL + - name: Send Slack Notification on Failure + if: failure() + env: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} + run: | + curl -X POST -H 'Content-type: application/json' --data "{\"text\": \"❌ Kustomize deployment failed on ${{ matrix.os }} (${{ matrix.kind }}) - <${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|View logs>\"}" $SLACK_WEBHOOK_URL \ No newline at end of file diff --git a/.github/workflows/microk8s.yaml b/.github/workflows/microk8s.yaml index ea5f5be..331dac9 100644 --- a/.github/workflows/microk8s.yaml +++ b/.github/workflows/microk8s.yaml @@ -122,15 +122,11 @@ jobs: env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} run: | - curl -X POST -H 'Content-type: application/json' --data "{ - \"text\": \"✅ MicroK8s Deployment Successful! :rocket:\n*OS*: ${{ matrix.os }}\n*MicroK8s Version*: ${{ matrix.microk8s }}\n*Workflow*: ${{ github.workflow }}\n*Triggered by*: ${{ github.actor }}\n*Repository*: ${{ github.repository }}\" - }" $SLACK_WEBHOOK_URL + curl -X POST -H 'Content-type: application/json' --data "{\"text\": \"✅ MicroK8s deployment successful on ${{ matrix.os }} (${{ matrix.microk8s }}) - triggered by ${{ github.actor }}\"}" $SLACK_WEBHOOK_URL - name: Send Slack Notification on Failure if: failure() env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} run: | - curl -X POST -H 'Content-type: application/json' --data "{ - \"text\": \"❌ MicroK8s Deployment Failed! :x:\n*OS*: ${{ matrix.os }}\n*MicroK8s Version*: ${{ matrix.microk8s }}\n*Workflow*: ${{ github.workflow }}\n*Triggered by*: ${{ github.actor }}\n*Repository*: ${{ github.repository }}\n*Run URL*: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}\" - }" $SLACK_WEBHOOK_URL + curl -X POST -H 'Content-type: application/json' --data "{\"text\": \"❌ MicroK8s deployment failed on ${{ matrix.os }} (${{ matrix.microk8s }}) - <${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|View logs>\"}" $SLACK_WEBHOOK_URL \ No newline at end of file