Commit 84c6adf364 for woocommerce
commit 84c6adf364fdfa9fd9adbda654d6566aa89b3c8e
Author: Alba Rincón <albarin@users.noreply.github.com>
Date: Mon Jan 12 09:02:12 2026 +0100
Run CIs on release PRs using Blacksmith runners (#62556)
* Run CIs on release PRs using Blacksmith runners
* Add release comment to all PR bodies
* Run blacksmith runner when PR is created by woocommercebot
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 2bc277f081..4056e0c0b3 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -44,7 +44,7 @@ jobs:
identify-jobs-to-run:
name: 'Analyze changes'
if: ${{ !cancelled() && github.event_name == 'pull_request' }}
- runs-on: ubuntu-latest
+ runs-on: ${{ ( github.event_name == 'pull_request' && github.repository == 'woocommerce/woocommerce' && github.event.pull_request.user.login == 'woocommercebot' && 'blacksmith-2vcpu-ubuntu-2404' ) || 'ubuntu-latest' }}
outputs:
needs-code-validation: ${{ steps.target-changes.outputs.needs-code-validation }}
needs-changelog-validation: ${{ steps.target-changes.outputs.needs-changelog-validation }}
@@ -72,7 +72,7 @@ jobs:
name: 'Build Project Jobs'
if: ${{ !cancelled() }}
needs: 'identify-jobs-to-run'
- runs-on: ubuntu-latest
+ runs-on: ${{ ( github.event_name == 'pull_request' && github.repository == 'woocommerce/woocommerce' && github.event.pull_request.user.login == 'woocommercebot' && 'blacksmith-2vcpu-ubuntu-2404' ) || 'ubuntu-latest' }}
outputs:
lint-jobs: ${{ steps.project-jobs.outputs.lint-jobs }}
test-jobs: ${{ steps.project-jobs.outputs.test-jobs }}
@@ -121,7 +121,7 @@ jobs:
project-lint-jobs:
name: "Lint - ${{ matrix.projectName }} ${{ ( matrix.optional && ' (optional)' ) || '' }}"
- runs-on: ubuntu-latest
+ runs-on: ${{ ( github.event_name == 'pull_request' && github.repository == 'woocommerce/woocommerce' && github.event.pull_request.user.login == 'woocommercebot' && 'blacksmith-2vcpu-ubuntu-2404' ) || 'ubuntu-latest' }}
needs: [ 'identify-jobs-to-run', 'project-jobs' ]
if: ${{ !cancelled() && github.event_name == 'pull_request' && needs.identify-jobs-to-run.outputs.needs-code-validation == 'true' && needs.project-jobs.outputs.lint-jobs != '[]' }}
strategy:
@@ -149,7 +149,7 @@ jobs:
project-test-jobs:
name: '${{ matrix.name }}'
- runs-on: ubuntu-latest
+ runs-on: ${{ ( github.event_name == 'pull_request' && github.repository == 'woocommerce/woocommerce' && github.event.pull_request.user.login == 'woocommercebot' && 'blacksmith-2vcpu-ubuntu-2404' ) || 'ubuntu-latest' }}
needs: 'project-jobs'
if: ${{ !cancelled() && ( github.event_name != 'pull_request' || needs.identify-jobs-to-run.outputs.needs-code-validation == 'true' ) && needs.project-jobs.outputs.test-jobs != '[]' }}
env: ${{ matrix.testEnv.envVars }}
@@ -295,7 +295,7 @@ jobs:
# using a job that runs after all the others and either passes or fails based
# on the results of the other jobs in the workflow.
name: 'Evaluate Project Job Statuses'
- runs-on: ubuntu-latest
+ runs-on: ${{ ( github.event_name == 'pull_request' && github.repository == 'woocommerce/woocommerce' && github.event.pull_request.user.login == 'woocommercebot' && 'blacksmith-2vcpu-ubuntu-2404' ) || 'ubuntu-latest' }}
needs: [ 'project-jobs', 'project-lint-jobs', 'project-test-jobs', 'validate-changelog', 'validate-markdown', 'validate-syncpack' ]
# This job must run for all trigger types (not just PRs) so that alert-on-failure can access its outputs
if: ${{ !cancelled() }}
@@ -327,7 +327,7 @@ jobs:
alert-on-failure:
name: 'Report results on Slack'
- runs-on: ubuntu-latest
+ runs-on: ${{ ( github.event_name == 'pull_request' && github.repository == 'woocommerce/woocommerce' && github.event.pull_request.user.login == 'woocommercebot' && 'blacksmith-2vcpu-ubuntu-2404' ) || 'ubuntu-latest' }}
needs: ['project-jobs', 'project-lint-jobs', 'project-test-jobs', 'evaluate-project-jobs']
if: ${{ !cancelled() && github.event_name != 'pull_request' && github.repository == 'woocommerce/woocommerce' }}
env:
@@ -381,7 +381,7 @@ jobs:
max-parallel: 1
matrix:
report: ${{ fromJSON( needs.project-jobs.outputs.report-jobs ) }}
- runs-on: ubuntu-latest
+ runs-on: ${{ ( github.event_name == 'pull_request' && github.repository == 'woocommerce/woocommerce' && github.event.pull_request.user.login == 'woocommercebot' && 'blacksmith-2vcpu-ubuntu-2404' ) || 'ubuntu-latest' }}
env:
ARTIFACT_NAME: ${{ matrix.report }}-attempt-${{ github.run_attempt }}
@@ -462,7 +462,7 @@ jobs:
name: 'Validate dependencies version'
if: ${{ !cancelled() && github.event_name == 'pull_request' && needs.identify-jobs-to-run.outputs.needs-syncpack-validation == 'true' }}
needs: [ 'identify-jobs-to-run' ]
- runs-on: ubuntu-latest
+ runs-on: ${{ ( github.event_name == 'pull_request' && github.repository == 'woocommerce/woocommerce' && github.event.pull_request.user.login == 'woocommercebot' && 'blacksmith-2vcpu-ubuntu-2404' ) || 'ubuntu-latest' }}
permissions:
contents: read
@@ -499,7 +499,7 @@ jobs:
! contains( github.event.pull_request.body, '[x] This Pull Request does not require a changelog' )
}}
needs: [ 'identify-jobs-to-run' ]
- runs-on: ubuntu-latest
+ runs-on: ${{ ( github.event_name == 'pull_request' && github.repository == 'woocommerce/woocommerce' && github.event.pull_request.user.login == 'woocommercebot' && 'blacksmith-2vcpu-ubuntu-2404' ) || 'ubuntu-latest' }}
permissions:
contents: read
@@ -532,7 +532,7 @@ jobs:
name: 'Validate markdown'
if: ${{ !cancelled() && github.event_name == 'pull_request' && github.event.pull_request.base.ref == 'trunk' && needs.identify-jobs-to-run.outputs.needs-markdown-validation == 'true' }}
needs: [ 'identify-jobs-to-run' ]
- runs-on: ubuntu-latest
+ runs-on: ${{ ( github.event_name == 'pull_request' && github.repository == 'woocommerce/woocommerce' && github.event.pull_request.user.login == 'woocommercebot' && 'blacksmith-2vcpu-ubuntu-2404' ) || 'ubuntu-latest' }}
permissions:
contents: read