From 229bda30abadc4344f036d71d3130e647be2f27c Mon Sep 17 00:00:00 2001 From: Brent Shaffer Date: Tue, 26 Aug 2025 15:22:08 -0700 Subject: [PATCH 1/2] feat(ci): add release check for "next release" labels --- .github/workflows/release-checks.yaml | 36 +++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 .github/workflows/release-checks.yaml diff --git a/.github/workflows/release-checks.yaml b/.github/workflows/release-checks.yaml new file mode 100644 index 000000000..21356d776 --- /dev/null +++ b/.github/workflows/release-checks.yaml @@ -0,0 +1,36 @@ +name: Release Checks +on: + pull_request: + types: [opened, synchronize, reopened] + branches: ['main'] +permissions: + contents: read +jobs: + next-release-label-check: + name: Check for "next release" labels + runs-on: ubuntu-latest + if: github.event.pull_request.user.login == 'release-please[bot]' + steps: + - name: Check for "next release" label + uses: actions/github-script@v6 + with: + script: | + const { data: pulls } = await github.rest.pulls.list({ + owner: context.repo.owner, + repo: context.repo.repo, + state: 'open', + }); + + // check for open PRs which contain the 'next release' label + const openPRs = pulls.filter(pr => + pr.labels.some(label => label.name === 'next release') + ).map(pr => ` - #${pr.number}: ${pr.title}`); + + if (openPRs.length > 0) { + const errorMessage = 'Found "next release" label on the following open pull requests:\n' + + openPRs.join('\n') + + '\nPlease merge them before release.'; + core.setFailed(errorMessage); + } else { + console.log('No "next release" label found on any open pull requests!'); + } From fcac28363093fa76e8ee1416c4138436cc591759 Mon Sep 17 00:00:00 2001 From: Brent Shaffer Date: Wed, 27 Aug 2025 14:00:47 -0700 Subject: [PATCH 2/2] Update release-checks.yaml --- .github/workflows/release-checks.yaml | 32 +++++---------------------- 1 file changed, 5 insertions(+), 27 deletions(-) diff --git a/.github/workflows/release-checks.yaml b/.github/workflows/release-checks.yaml index 21356d776..e0375ffd5 100644 --- a/.github/workflows/release-checks.yaml +++ b/.github/workflows/release-checks.yaml @@ -6,31 +6,9 @@ on: permissions: contents: read jobs: - next-release-label-check: - name: Check for "next release" labels - runs-on: ubuntu-latest - if: github.event.pull_request.user.login == 'release-please[bot]' - steps: - - name: Check for "next release" label - uses: actions/github-script@v6 + next-release-label-check: + name: Check for "next release" label + uses: GoogleCloudPlatform/php-tools/.github/workflows/release-checks.yml@main + if: github.event.pull_request.user.login == 'release-please[bot]' with: - script: | - const { data: pulls } = await github.rest.pulls.list({ - owner: context.repo.owner, - repo: context.repo.repo, - state: 'open', - }); - - // check for open PRs which contain the 'next release' label - const openPRs = pulls.filter(pr => - pr.labels.some(label => label.name === 'next release') - ).map(pr => ` - #${pr.number}: ${pr.title}`); - - if (openPRs.length > 0) { - const errorMessage = 'Found "next release" label on the following open pull requests:\n' - + openPRs.join('\n') - + '\nPlease merge them before release.'; - core.setFailed(errorMessage); - } else { - console.log('No "next release" label found on any open pull requests!'); - } + next-release-label-check: false