From 7859f5976f1e4569b27317e22e0378ea0d8359cf Mon Sep 17 00:00:00 2001
From: Damien Lachaume <135982616+dlachaume@users.noreply.github.com>
Date: Mon, 30 Jun 2025 19:10:32 +0200
Subject: [PATCH] ci: use `dawidd6/action-send-mail@v3` with Mailgun as SMTP
provider instead of Sendgrid
---
.../scripts/notify-nightly-failure.js | 38 -------------------
.github/workflows/test-notify-on-failure.yml | 31 ++++++++++-----
2 files changed, 21 insertions(+), 48 deletions(-)
delete mode 100644 .github/workflows/scripts/notify-nightly-failure.js
diff --git a/.github/workflows/scripts/notify-nightly-failure.js b/.github/workflows/scripts/notify-nightly-failure.js
deleted file mode 100644
index 53e47c4fcb7..00000000000
--- a/.github/workflows/scripts/notify-nightly-failure.js
+++ /dev/null
@@ -1,38 +0,0 @@
-#! /usr/bin/env node
-
-const sgMail = require("@sendgrid/mail");
-sgMail.setApiKey(process.env.SENDGRID_API_KEY);
-
-const msg = {
- to: `${process.env.SENDGRID_MAIL_TO}`,
- from: `${process.env.SENDGRID_MAIL_FROM}`,
- subject: "🚨 Nightly Workflow Failed",
- text: `
- Nightly Trigger workflow has failed, see details:
-
- - Workflow: ${process.env.GITHUB_WORKFLOW}
- - Repository: ${process.env.GITHUB_REPOSITORY}
- - Run Number: ${process.env.GITHUB_RUN_NUMBER}
- - Logs: ${process.env.GITHUB_SERVER_URL}/${process.env.GITHUB_REPOSITORY}/actions/runs/${process.env.GITHUB_RUN_ID}
- `,
- html: `
-
Nightly Trigger workflow has failed, see details:
-
- - Workflow : ${process.env.GITHUB_WORKFLOW}
- - Repository : ${process.env.GITHUB_REPOSITORY}
- - Run Number : #${process.env.GITHUB_RUN_NUMBER}
- - Logs : Check logs
-
- `,
-};
-
-sgMail
- .send(msg)
- .then(() => {
- console.log("Mail sent successfully");
- console.log("Message details:", msg);
- })
- .catch((error) => {
- console.error("Error sending email:", error);
- process.exit(1);
- });
diff --git a/.github/workflows/test-notify-on-failure.yml b/.github/workflows/test-notify-on-failure.yml
index 236bfb1503e..7fb3ccdf7ca 100644
--- a/.github/workflows/test-notify-on-failure.yml
+++ b/.github/workflows/test-notify-on-failure.yml
@@ -11,15 +11,26 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4
- - name: Make script executable
- shell: bash
+ - name: Write HTML body to file
run: |
- chmod +x ./.github/workflows/scripts/notify-nightly-failure.js
+ cat > ./email-body.html <Nightly Trigger workflow has failed, see details:
+
+ - Workflow : ${{ github.workflow }}
+ - Repository : ${{ github.repository }}
+ - Run Number : #${{ github.run_number }}
+ - Logs : Check logs
+
+ EOF
- - name: Send failure notification by email
- uses: peter-evans/sendgrid-action@v1
- env:
- SENDGRID_API_KEY: ${{ secrets.SENDGRID_API_KEY }}
- SCRIPT_FILEPATH: ./.github/workflows/scripts/notify-nightly-failure.js
- SENDGRID_MAIL_FROM: ${{ secrets.CI_NOTIFICATION_EMAIL_FROM }}
- SENDGRID_MAIL_TO: ${{ secrets.CI_NOTIFICATION_EMAIL_TO }}
+ - name: Send failure notification via Mailgun
+ uses: dawidd6/action-send-mail@v6
+ with:
+ server_address: ${{ vars.CI_NOTIFICATION_SMTP_SERVER }}
+ server_port: ${{ vars.CI_NOTIFICATION_SMTP_PORT }}
+ username: ${{ secrets.CI_NOTIFICATION_SMTP_LOGIN }}
+ password: ${{ secrets.CI_NOTIFICATION_SMTP_PASSWORD }}
+ subject: "🚨 Nightly Workflow Failed"
+ to: ${{ secrets.CI_NOTIFICATION_EMAIL_TO }}
+ from: ${{ secrets.CI_NOTIFICATION_EMAIL_FROM }}
+ html_body: file://email-body.html