From 15178bca3f60fdab8313fcc861ad3351853f842d Mon Sep 17 00:00:00 2001
From: Keith Hall <kingkeith+github@gmail.com>
Date: Wed, 3 Jan 2024 16:34:18 +0200
Subject: [PATCH] fix changelog checker in CI to regex escape the submitter
 username

---
 .github/workflows/require-changelog-for-PRs.yml | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/.github/workflows/require-changelog-for-PRs.yml b/.github/workflows/require-changelog-for-PRs.yml
index 263fee22..1443e883 100644
--- a/.github/workflows/require-changelog-for-PRs.yml
+++ b/.github/workflows/require-changelog-for-PRs.yml
@@ -29,5 +29,15 @@ jobs:
           ADDED=$(git diff -U0 "origin/${PR_BASE}" HEAD -- CHANGELOG.md | grep -P '^\+[^\+].+$')
           echo "Added lines in CHANGELOG.md:"
           echo "$ADDED"
+
+          escape_regex_meta_chars() {
+            # https://stackoverflow.com/a/16951928/4473405
+            sed 's/[][\.|$(){}?+*^]/\\&/g' <<< "$*"
+          }
+
+          double_escape_slash_for_bash() {
+            sed 's/\\/\\\\/g' <<< "$*"
+          }
+
           echo "Grepping for PR info:"
-          grep "#${PR_NUMBER}\\b.*@${PR_SUBMITTER}\\b" <<< "$ADDED"
+          grep "#${PR_NUMBER}\\b.*[(]@$(quote ${PR_SUBMITTER})[)]" <<< "$ADDED"