From 368112eac6584b8142ca38c37354d80d6b5c6417 Mon Sep 17 00:00:00 2001 From: Luke Curley Date: Fri, 9 Oct 2026 12:30:18 -0700 Subject: [PATCH] fix(ci): rename Release C++ so alert.yml's workflow_run filter parses GitHub reads workflow_run.workflows entries as globs, where + is a quantifier, so "Release C++" made alert.yml invalid. Every watched run since #4079 spawned a startup failure (and an email) instead of an alert. check-coverage now rejects glob characters in watched names. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/alert.yml | 2 +- .github/workflows/nightly.yml | 2 +- .github/workflows/release-cpp.yml | 2 +- sh/gh/alert.sh | 8 ++++++++ 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/.github/workflows/alert.yml b/.github/workflows/alert.yml index b822dfebae..78c616c693 100644 --- a/.github/workflows/alert.yml +++ b/.github/workflows/alert.yml @@ -44,7 +44,7 @@ on: - Platform - Quest - release-brew - - Release C++ + - Release Cpp - Release Dart - Release Dart FFI - Release Go diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index d0c080c1fb..df96ff12ef 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -385,7 +385,7 @@ jobs: contents: write release-cpp: - name: Release C++ + name: Release Cpp uses: ./.github/workflows/release-cpp.yml permissions: contents: write diff --git a/.github/workflows/release-cpp.yml b/.github/workflows/release-cpp.yml index 4d34c99a10..f75d88d542 100644 --- a/.github/workflows/release-cpp.yml +++ b/.github/workflows/release-cpp.yml @@ -1,4 +1,4 @@ -name: Release C++ +name: Release Cpp # Builds the moq C++ package (cpp/moq) for every target and publishes one archive per # target to a cpp-v GitHub release. The vcpkg and Conan packages fetch these. diff --git a/sh/gh/alert.sh b/sh/gh/alert.sh index ee95b2d7e3..5d4e812bf1 100755 --- a/sh/gh/alert.sh +++ b/sh/gh/alert.sh @@ -155,6 +155,14 @@ if (!Array.isArray(list)) { console.error("alert.sh: alert.yml has no on.workflow_run.workflows list"); process.exit(2); } +// GitHub reads each entry as a glob, so a literal name like "C++" is an invalid +// pattern and GitHub refuses to load alert.yml at all: every watched run then +// spawns a startup failure instead of an alert. Name workflows without these. +const glob = list.filter((name) => /[*?+\[\]!]/.test(name)); +if (glob.length) { + console.error("alert.sh: glob characters in alert.yml workflow names: " + glob.join(", ")); + process.exit(2); +} if (list.length) console.log(list.join("\n")); ' }