Skip to content

Commit c2c657c

Browse files
chore(ci): repoint push-email-notify to smtp-notify-action (#30)
1 parent ca3e86a commit c2c657c

2 files changed

Lines changed: 33 additions & 9 deletions

File tree

‎.github/workflows/actions.lock‎

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@ workflows:
77
'.github/workflows/hypatia-scan.yml': []
88
'.github/workflows/label-triage.yml': []
99
'.github/workflows/labels.yml': []
10-
'.github/workflows/secret-scanner.yml': []
1110
'.github/workflows/push-email-notify.yml':
12-
- 'dawidd6/action-send-mail@v3.12.0'
11+
- 'hyperpolymath/smtp-notify-action@v0.2.0'
12+
'.github/workflows/secret-scanner.yml': []
1313
dependencies:
14-
'dawidd6/action-send-mail@v3.12.0':
15-
ref: 'v3.12.0'
16-
commit: 'sha1-6e502825a508b867ab2954ad6343b68787624c01'
17-
owner_id: 9713907
18-
repo_id: 222439721
14+
'hyperpolymath/smtp-notify-action@v0.2.0':
15+
ref: 'v0.2.0'
16+
commit: 'sha1-ede1191ef6ff3ac02c4f4d9efdf837ee517e11d7'
17+
owner_id: 6759885
18+
repo_id: 1352485172

‎.github/workflows/push-email-notify.yml‎

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,43 @@
44
# PUSH_EMAIL_ENABLED=true (the single on/off switch). Addresses are pre-filled;
55
# sending needs the org SMTP secrets (SMTP_HOST/PORT/USER/PASS). Inherited by
66
# new repos from the template; placed on existing repos by the farm sweep.
7+
#
8+
# Re-landed after the 2026-07-20 notification-storm freeze (removed in
9+
# 09f94c5), now on hyperpolymath/smtp-notify-action: Node-free, the SMTP
10+
# session is Idris2-specified and machine-checked, the binary is Zig-built,
11+
# byte-reproducible, and SHA-256-pinned inside the action itself.
712
name: Push email notification
813
on:
9-
push: {}
14+
push:
15+
# Branch pushes only: tag and deletion payloads mislabel Branch:/head_commit.
16+
branches: ['**']
17+
concurrency:
18+
# Deliberately per-RUN, so no run is ever queued behind another and none is
19+
# ever cancelled. Do NOT "tidy" this into a shared group such as
20+
# ${{ github.workflow }}-${{ github.ref }}. GitHub's workflow-syntax docs:
21+
# "By default, any existing pending job or workflow in the same concurrency
22+
# group will be canceled and the new queued job or workflow will take its
23+
# place." That happens regardless of cancel-in-progress, which governs only
24+
# the RUNNING job. On this workflow it silently loses a notification email,
25+
# with no error anywhere. Every run here reports a DISTINCT commit, so there
26+
# is no redundant work for a concurrency limit to remove.
27+
# The docs also offer `queue: max` (up to 100 pending); not used, because 100
28+
# is still a cap whereas a per-run group needs none.
29+
# Verified with zizmor 1.30.0: deleting this block raises concurrency-limits;
30+
# this form silences it exactly as a shared group would.
31+
group: push-email-${{ github.run_id }}
32+
cancel-in-progress: false
1033
permissions:
1134
contents: read
1235
jobs:
1336
notify:
1437
name: Email on push
1538
if: ${{ vars.PUSH_EMAIL_ENABLED == 'true' }}
1639
runs-on: ubuntu-latest
40+
timeout-minutes: 5
1741
steps:
1842
- name: Send push notification email
19-
uses: dawidd6/action-send-mail@v3.12.0
43+
uses: hyperpolymath/smtp-notify-action@v0.2.0 # NOSONAR — pin authority is actions.lock (sha1-ede1191ef6ff3ac02c4f4d9efdf837ee517e11d7)
2044
with:
2145
server_address: ${{ secrets.SMTP_HOST }}
2246
server_port: ${{ secrets.SMTP_PORT }}

0 commit comments

Comments
 (0)