From 6123f5de248160e06bbeb51062fa1032aa3bb967 Mon Sep 17 00:00:00 2001 From: DaneEvans Date: Sat, 6 Sep 2025 16:26:38 +1000 Subject: [PATCH] repo: update label check so it doesn't need help (#2995) --- .github/workflows/pr_enforce_labels.yml | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pr_enforce_labels.yml b/.github/workflows/pr_enforce_labels.yml index bd4072304..ce382f21d 100644 --- a/.github/workflows/pr_enforce_labels.yml +++ b/.github/workflows/pr_enforce_labels.yml @@ -16,10 +16,17 @@ jobs: uses: actions/github-script@v8 with: script: | - const labels = context.payload.pull_request.labels.map(label => label.name); + // Always fetch the latest labels from the GitHub API to avoid stale context + const prNumber = context.payload.pull_request.number; + const { data: pr } = await github.rest.pulls.get({ + owner: context.repo.owner, + repo: context.repo.repo, + pull_number: prNumber, + }); + const latestLabels = pr.labels.map(label => label.name); const requiredLabels = ['bugfix', 'enhancement', 'automation', 'dependencies', 'repo', 'release']; - const hasRequiredLabel = labels.some(label => requiredLabels.includes(label)); - console.log(labels); + const hasRequiredLabel = latestLabels.some(label => requiredLabels.includes(label)); + console.log('Latest labels:', latestLabels); if (!hasRequiredLabel) { core.setFailed(`PR must have at least one of the following labels before it can be merged: ${requiredLabels.join(', ')}.`); } \ No newline at end of file