From d2829f4e44b33a1a5c5168752b56466e6f5199f0 Mon Sep 17 00:00:00 2001 From: ciotlosm Date: Sat, 11 Jul 2026 15:28:12 +0300 Subject: [PATCH] chore(workflows): skip deploy when release bot pushes to main The n3ary release bot opens release/calver-* PRs on every PR merge to main. The PR auto-merges and lands a version-only commit on main; the push event then fires with github.actor = n3ary-release-bot[bot]. deploy-production.yml triggers on push: branches: [main] (with paths-ignore for CHANGELOG.md). It was not filtered to skip the bot, so it ran on every release bump. The bump commit is a no-op (just package.json#version), so re-deploying is wasteful. Add a job-level guard: skip when github.actor == "n3ary-release-bot[bot]". Manual workflow_dispatch still works (actor != bot). The release bot itself never pushes anything other than a version bump, so this is safe. Refs: n3ary/standards#22 --- .github/workflows/deploy-pwa.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/deploy-pwa.yml b/.github/workflows/deploy-pwa.yml index 726d1cd3..97ae7f9b 100644 --- a/.github/workflows/deploy-pwa.yml +++ b/.github/workflows/deploy-pwa.yml @@ -32,6 +32,13 @@ permissions: jobs: deploy: + # Skip deploy when the release bot (n3ary-release-bot) is the actor. + # The bot's release/calver-* PRs land on main as a squash merge; the + # `push` event fires with `github.actor = n3ary-release-bot[bot]`. + # Deploying a version-only commit would re-run a deploy whose + # artefact is byte-identical to the previous one. The release bot + # bumps `package.json#version`; nothing else changes. + if: github.actor != 'n3ary-release-bot[bot]' runs-on: ubuntu-latest steps: