From 34b2e2a78ada7359ad6a10c5af16e111b921f469 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D8=B4=D8=B1=D9=83=D8=A9=20=D8=AE=D8=A8=D9=8A=D8=B1=20?= =?UTF-8?q?=D8=A7=D9=84=D9=85=D8=AD=D8=AF=D9=88=D8=AF=D8=A9?= Date: Sat, 22 Nov 2025 01:11:02 +0200 Subject: [PATCH] Normalize PR and commit author names to lowercase Ensure PR and commit authors are checked in lowercase for authorization. --- .github/workflows/restrict-pr-authors.yaml | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/.github/workflows/restrict-pr-authors.yaml b/.github/workflows/restrict-pr-authors.yaml index f0eaad3d5..51a381dc8 100644 --- a/.github/workflows/restrict-pr-authors.yaml +++ b/.github/workflows/restrict-pr-authors.yaml @@ -40,24 +40,26 @@ jobs: with: github-token: ${{ secrets.PR_CLOSE_TOKEN }} script: | + // List of allowed users (all lowercase) const allowed = [ "expsa", "moutazmuhammad", "ronozoro", - "Abubaker-Altaib", + "abubaker-altaib", "altexp", "the5abir", "ahmadaking", "kchyounes19", "abdurrahman-saber" - ]; + ].map(u => u.toLowerCase()); const pr = context.payload.pull_request; - const prAuthor = pr.user.login; + const prAuthor = pr.user.login.toLowerCase(); const owner = context.repo.owner; const repo = context.repo.repo; core.info(`PR author: ${prAuthor}`); + core.info(`Allowed users: ${allowed.join(", ")}`); // Check PR author if (!allowed.includes(prAuthor)) { @@ -79,7 +81,11 @@ jobs: }); for (const commit of commitList.data) { - const commitAuthor = commit.author ? commit.author.login : null; + const commitAuthor = commit.author ? commit.author.login.toLowerCase() : null; + + if (!commit.author) { + core.warning(`Commit ${commit.sha} has no GitHub-linked author.`); + } if (commitAuthor && !allowed.includes(commitAuthor)) { core.error(`Unauthorized commit author: ${commitAuthor}. Closing PR...`);