From b2b423d1fc8024fcf479d0c7c7a8735e14193fd5 Mon Sep 17 00:00:00 2001 From: "Jonathan D.A. Jewell" <6759885+hyperpolymath@users.noreply.github.com> Date: Fri, 4 Sep 2026 01:01:54 +0100 Subject: [PATCH] chore(ci): repoint push-email-notify to smtp-notify-action Replaces dawidd6/action-send-mail with hyperpolymath/smtp-notify-action v0.2.0 (ede1191ef6ff3ac02c4f4d9efdf837ee517e11d7) per the 2026-09-02 ruling; file is the rsr-template-repo canonical (dormant gating on vars.PUSH_EMAIL_ENABLED unchanged). regime=lock pristine=invalid fix-exit=1 post=valid repair changed=.github/workflows/actions.lock,.github/workflows/push-email-notify.yml, Co-Authored-By: Claude Fable 5.1 --- .github/workflows/actions.lock | 146 ++++++++++-------------- .github/workflows/push-email-notify.yml | 28 ++++- 2 files changed, 89 insertions(+), 85 deletions(-) diff --git a/.github/workflows/actions.lock b/.github/workflows/actions.lock index 2f15dfc..e0747d1 100644 --- a/.github/workflows/actions.lock +++ b/.github/workflows/actions.lock @@ -4,25 +4,25 @@ version: 'v0.0.2' workflows: '.github/workflows/boj-build.yml': - - 'actions/checkout@v4.1.7' + - 'actions/checkout@v7.0.1' '.github/workflows/casket-pages.yml': - - 'actions/cache@v4.3.0' - - 'actions/checkout@v4.1.1' - - 'actions/configure-pages@v5.0.0' - - 'actions/deploy-pages@v4.0.5' - - 'actions/upload-pages-artifact@v3.0.1' - - 'haskell-actions/setup@v2.7.5' + - 'actions/cache@v6.1.0' + - 'actions/checkout@v7.0.1' + - 'actions/configure-pages@v6.0.0' + - 'actions/deploy-pages@v5.0.0' + - 'actions/upload-pages-artifact@v5.0.0' + - 'haskell-actions/setup@v2.12.0' '.github/workflows/ci.yml': - - 'actions/checkout@v4.3.1' - - 'julia-actions/cache@v3.0.0' - - 'julia-actions/setup-julia@v2.7.0' + - 'actions/checkout@v7.0.1' + - 'julia-actions/cache@v3.3.0' + - 'julia-actions/setup-julia@v3.0.2' '.github/workflows/codeql.yml': - - 'actions/checkout@v6.0.2' - - 'github/codeql-action@v4.34.0' + - 'actions/checkout@v7.0.1' + - 'github/codeql-action@v4.37.8' '.github/workflows/dependabot-automerge.yml': - - 'dependabot/fetch-metadata@v2.2.0' + - 'dependabot/fetch-metadata@v3.1.0' '.github/workflows/dogfood-gate.yml': - - 'actions/checkout@v4.3.1' + - 'actions/checkout@v7.0.1' - 'hyperpolymath/a2ml-ecosystem@main' - 'hyperpolymath/k9-ecosystem@main' '.github/workflows/instant-sync.yml': @@ -30,87 +30,62 @@ workflows: '.github/workflows/label-triage.yml': [] '.github/workflows/labels.yml': [] '.github/workflows/push-email-notify.yml': - - 'dawidd6/action-send-mail@v3.12.0' + - 'hyperpolymath/smtp-notify-action@v0.2.0' '.github/workflows/release.yml': - - 'actions/checkout@v6.0.1' - - 'actions/upload-artifact@v4.6.2' - - 'softprops/action-gh-release@v2.5.0' + - 'actions/checkout@v7.0.1' + - 'actions/upload-artifact@v7.0.1' + - 'softprops/action-gh-release@v3.0.2' dependencies: - 'actions/cache@v4.3.0': - ref: 'v4.3.0' - commit: 'sha1-0057852bfaa89a56745cba8c7296529d2fc39830' + 'actions/cache@v6.1.0': + ref: 'v6.1.0' + commit: 'sha1-55cc8345863c7cc4c66a329aec7e433d2d1c52a9' owner_id: 44036562 repo_id: 215566462 - 'actions/checkout@v4.1.1': - ref: 'v4.1.1' - commit: 'sha1-b4ffde65f46336ab88eb53be808477a3936bae11' + 'actions/checkout@v7.0.1': + ref: 'v7.0.1' + commit: 'sha1-3d3c42e5aac5ba805825da76410c181273ba90b1' owner_id: 44036562 repo_id: 197814629 - 'actions/checkout@v4.1.7': - ref: 'v4.1.7' - commit: 'sha1-692973e3d937129bcbf40652eb9f2f61becf3332' - owner_id: 44036562 - repo_id: 197814629 - 'actions/checkout@v4.3.1': - ref: 'v4.3.1' - commit: 'sha1-34e114876b0b11c390a56381ad16ebd13914f8d5' - owner_id: 44036562 - repo_id: 197814629 - 'actions/checkout@v6.0.1': - ref: 'v6.0.1' - commit: 'sha1-8e8c483db84b4bee98b60c0593521ed34d9990e8' - owner_id: 44036562 - repo_id: 197814629 - 'actions/checkout@v6.0.2': - ref: 'v6.0.2' - commit: 'sha1-de0fac2e4500dabe0009e67214ff5f5447ce83dd' - owner_id: 44036562 - repo_id: 197814629 - 'actions/configure-pages@v5.0.0': - ref: 'v5.0.0' - commit: 'sha1-983d7736d9b0ae728b81ab479565c72886d7745b' + 'actions/configure-pages@v6.0.0': + ref: 'v6.0.0' + commit: 'sha1-45bfe0192ca1faeb007ade9deae92b16b8254a0d' owner_id: 44036562 repo_id: 513659658 - 'actions/deploy-pages@v4.0.5': - ref: 'v4.0.5' - commit: 'sha1-d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e' + 'actions/deploy-pages@v5.0.0': + ref: 'v5.0.0' + commit: 'sha1-cd2ce8fcbc39b97be8ca5fce6e763baed58fa128' owner_id: 44036562 repo_id: 438112499 - 'actions/upload-artifact@v4': - ref: 'v4' - commit: 'sha1-ea165f8d65b6e75b540449e92b4886f43607fa02' + 'actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f': + ref: 'v7.0.0' + commit: 'sha1-bbbca2ddaa5d8feaa63e36b76fdaad77386f024f' owner_id: 44036562 repo_id: 192625955 - 'actions/upload-artifact@v4.6.2': - ref: 'v4.6.2' - commit: 'sha1-ea165f8d65b6e75b540449e92b4886f43607fa02' + 'actions/upload-artifact@v7.0.1': + ref: 'v7.0.1' + commit: 'sha1-043fb46d1a93c77aae656e7c1c64a875d1fc6a0a' owner_id: 44036562 repo_id: 192625955 - 'actions/upload-pages-artifact@v3.0.1': - ref: 'v3.0.1' - commit: 'sha1-56afc609e74202658d3ffba0e8f6dda462b719fa' + 'actions/upload-pages-artifact@v5.0.0': + ref: 'v5.0.0' + commit: 'sha1-fc324d3547104276b827a68afc52ff2a11cc49c9' owner_id: 44036562 repo_id: 496012378 uses: - - 'actions/upload-artifact@v4' - 'dawidd6/action-send-mail@v3.12.0': - ref: 'v3.12.0' - commit: 'sha1-6e502825a508b867ab2954ad6343b68787624c01' - owner_id: 9713907 - repo_id: 222439721 - 'dependabot/fetch-metadata@v2.2.0': - ref: 'v2.2.0' - commit: 'sha1-dbb049abf0d677abbd7f7eee0375145b417fdd34' + - 'actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f' + 'dependabot/fetch-metadata@v3.1.0': + ref: 'v3.1.0' + commit: 'sha1-25dd0e34f4fe68f24cc83900b1fe3fe149efef98' owner_id: 27347476 repo_id: 371068214 - 'github/codeql-action@v4.34.0': - ref: 'v4.34.0' - commit: 'sha1-c6f931105cb2c34c8f901cc885ba1e2e259cf745' + 'github/codeql-action@v4.37.8': + ref: 'v4.37.8' + commit: 'sha1-db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28' owner_id: 9919 repo_id: 259445878 - 'haskell-actions/setup@v2.7.5': - ref: 'v2.7.5' - commit: 'sha1-ec49483bfc012387b227434aba94f59a6ecd0900' + 'haskell-actions/setup@v2.12.0': + ref: 'v2.12.0' + commit: 'sha1-6037f33647c3f17758a2356c80fc4a53d7e0685d' owner_id: 75048950 repo_id: 623796603 'hyperpolymath/a2ml-ecosystem@main': @@ -123,14 +98,19 @@ dependencies: commit: 'sha1-89f3c2702f4f650a92aa7411502f38da06abd562' owner_id: 6759885 repo_id: 1275650185 - 'julia-actions/cache@v3.0.0': - ref: 'v3.0.0' - commit: 'sha1-e33b4bfa0ea7cd9caedd7cb82b0e36956ef40285' + 'hyperpolymath/smtp-notify-action@v0.2.0': + ref: 'v0.2.0' + commit: 'sha1-ede1191ef6ff3ac02c4f4d9efdf837ee517e11d7' + owner_id: 6759885 + repo_id: 1352485172 + 'julia-actions/cache@v3.3.0': + ref: 'v3.3.0' + commit: 'sha1-a7bed9df697e5d7309d68afe7542a87621a8b6c8' owner_id: 53965732 repo_id: 441908600 - 'julia-actions/setup-julia@v2.7.0': - ref: 'v2.7.0' - commit: 'sha1-4c0cb0fce8556fdb04a90347310e5db8b1f98fb9' + 'julia-actions/setup-julia@v3.0.2': + ref: 'v3.0.2' + commit: 'sha1-fa02766e078afaaf09b14210362cee14137e6a32' owner_id: 53965732 repo_id: 202020219 'peter-evans/repository-dispatch@v4.0.1': @@ -138,8 +118,8 @@ dependencies: commit: 'sha1-28959ce8df70de7be546dd1250a005dd32156697' owner_id: 18365890 repo_id: 220359305 - 'softprops/action-gh-release@v2.5.0': - ref: 'v2.5.0' - commit: 'sha1-a06a81a03ee405af7f2048a818ed3f03bbf83c7b' + 'softprops/action-gh-release@v3.0.2': + ref: 'v3.0.2' + commit: 'sha1-3d0d9888cb7fd7b750713d6e236d1fcb99157228' owner_id: 2242 repo_id: 204253808 diff --git a/.github/workflows/push-email-notify.yml b/.github/workflows/push-email-notify.yml index fb48724..9e133d7 100644 --- a/.github/workflows/push-email-notify.yml +++ b/.github/workflows/push-email-notify.yml @@ -4,9 +4,32 @@ # PUSH_EMAIL_ENABLED=true (the single on/off switch). Addresses are pre-filled; # sending needs the org SMTP secrets (SMTP_HOST/PORT/USER/PASS). Inherited by # new repos from the template; placed on existing repos by the farm sweep. +# +# Re-landed after the 2026-07-20 notification-storm freeze (removed in +# 09f94c5), now on hyperpolymath/smtp-notify-action: Node-free, the SMTP +# session is Idris2-specified and machine-checked, the binary is Zig-built, +# byte-reproducible, and SHA-256-pinned inside the action itself. name: Push email notification on: - push: {} + push: + # Branch pushes only: tag and deletion payloads mislabel Branch:/head_commit. + branches: ['**'] +concurrency: + # Deliberately per-RUN, so no run is ever queued behind another and none is + # ever cancelled. Do NOT "tidy" this into a shared group such as + # ${{ github.workflow }}-${{ github.ref }}. GitHub's workflow-syntax docs: + # "By default, any existing pending job or workflow in the same concurrency + # group will be canceled and the new queued job or workflow will take its + # place." That happens regardless of cancel-in-progress, which governs only + # the RUNNING job. On this workflow it silently loses a notification email, + # with no error anywhere. Every run here reports a DISTINCT commit, so there + # is no redundant work for a concurrency limit to remove. + # The docs also offer `queue: max` (up to 100 pending); not used, because 100 + # is still a cap whereas a per-run group needs none. + # Verified with zizmor 1.30.0: deleting this block raises concurrency-limits; + # this form silences it exactly as a shared group would. + group: push-email-${{ github.run_id }} + cancel-in-progress: false permissions: contents: read jobs: @@ -14,9 +37,10 @@ jobs: name: Email on push if: ${{ vars.PUSH_EMAIL_ENABLED == 'true' }} runs-on: ubuntu-latest + timeout-minutes: 5 steps: - name: Send push notification email - uses: dawidd6/action-send-mail@v18 + uses: hyperpolymath/smtp-notify-action@v0.2.0 # NOSONAR — pin authority is actions.lock (sha1-ede1191ef6ff3ac02c4f4d9efdf837ee517e11d7) with: server_address: ${{ secrets.SMTP_HOST }} server_port: ${{ secrets.SMTP_PORT }}