Commit aa530837812 for woocommerce
commit aa5308378124f891ed07d230085787ff11e11e97
Author: Vlad Olaru <vlad.olaru@automattic.com>
Date: Mon Sep 21 18:38:59 2026 +0300
[dev] Trigger the PHPUnit, Jest, Blocks E2E and PayPal CI jobs on the test inputs they read (#68879)
* ci(woocommerce): Trigger PHPUnit, Blocks E2E, PayPal and core E2E jobs on the inputs their tests read
The plugin's PHPUnit jobs list `**/*.php` and `onlyForDependencies: []`,
so a PR touching only `client/blocks/assets/js/**/block.json` (copied
into place by `copy-blocks-json.sh` before PHPUnit runs, and read by
eight block-render tests) or the copy/run-phpunit scripts themselves
starts no PHPUnit job. The two Blocks E2E jobs list `src/Blocks/**/*.php`
but not `src/StoreApi/**/*.php`, though 24 retained Blocks E2E specs
drive the Store API. The PayPal E2E job lists its own gateway paths and
spec directory but not `tests/e2e/fixtures/paypal-fixtures.ts`, which
the one PayPal spec imports its `test` object from.
Add the block.json glob and the two helper scripts to the five PHPUnit
jobs that list `**/*.php` or `phpunit.xml`, add `src/StoreApi/**/*.php`
to the two Store-API-adjacent Blocks E2E jobs, and add the PayPal
fixture to the PayPal E2E job's changes list. Confirmed with the
existing `sim.js` job simulator (audit evidence) before and after this
change; every job now starts.
`packages/php/email-editor` lives outside `plugins/woocommerce/` (a
composer path repository, not a nested workspace project), so it is
left untouched here.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
* ci(blocks): Trigger the JavaScript job on block.json and .jsx test files
The block-library "JavaScript" job's changes globs cover
`{js,ts,tsx,scss}` under `assets/**` and `packages/**`, so a PR that
edits only a `block.json` manifest (four Jest tests import it and
compare registration against it) or a `.jsx` test file (12 of them
exist under client/blocks, including with-reviews.jsx) starts no Jest
job.
Add `jsx` and `json` to both extension globs so the job triggers on
both file kinds.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
---------
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
diff --git a/plugins/woocommerce/changelog/dev-ci-trigger-globs-for-test-inputs b/plugins/woocommerce/changelog/dev-ci-trigger-globs-for-test-inputs
new file mode 100644
index 00000000000..c55d6660616
--- /dev/null
+++ b/plugins/woocommerce/changelog/dev-ci-trigger-globs-for-test-inputs
@@ -0,0 +1,4 @@
+Significance: patch
+Type: dev
+
+Trigger the PHPUnit, Jest, Blocks E2E and PayPal CI jobs on the test inputs they read
diff --git a/plugins/woocommerce/client/blocks/changelog/dev-ci-trigger-globs-for-test-inputs b/plugins/woocommerce/client/blocks/changelog/dev-ci-trigger-globs-for-test-inputs
new file mode 100644
index 00000000000..c59d5cdba1c
--- /dev/null
+++ b/plugins/woocommerce/client/blocks/changelog/dev-ci-trigger-globs-for-test-inputs
@@ -0,0 +1,4 @@
+Significance: patch
+Type: dev
+
+Trigger the JavaScript CI job on block.json manifests and .jsx test files
diff --git a/plugins/woocommerce/client/blocks/package.json b/plugins/woocommerce/client/blocks/package.json
index 2b7804c097b..85b43c81cb3 100644
--- a/plugins/woocommerce/client/blocks/package.json
+++ b/plugins/woocommerce/client/blocks/package.json
@@ -308,8 +308,8 @@
"webpack.config.js",
"babel.config.js",
"tsconfig.json",
- "assets/**/*.{js,ts,tsx,scss}",
- "packages/**/*.{js,ts,tsx,scss}",
+ "assets/**/*.{js,jsx,ts,tsx,scss,json}",
+ "packages/**/*.{js,jsx,ts,tsx,scss,json}",
"tests/js/**/*.{js,ts,tsx,scss,json}",
"tests/integration/**/*.{js,ts,tsx,scss,json}",
"tests/utils/**/*.{js,ts,tsx,scss,json}"
diff --git a/plugins/woocommerce/package.json b/plugins/woocommerce/package.json
index c4310edd034..2552005f687 100644
--- a/plugins/woocommerce/package.json
+++ b/plugins/woocommerce/package.json
@@ -161,7 +161,10 @@
"composer.lock",
"**/*.php",
".wp-env.test.json",
- "phpunit.xml"
+ "phpunit.xml",
+ "client/blocks/assets/js/**/block.json",
+ "client/blocks/bin/copy-blocks-json.sh",
+ "tests/php/bin/run-phpunit.sh"
],
"testEnv": {
"start": "env:test --debug",
@@ -190,7 +193,10 @@
"composer.lock",
"**/*.php",
".wp-env.test.json",
- "phpunit.xml"
+ "phpunit.xml",
+ "client/blocks/assets/js/**/block.json",
+ "client/blocks/bin/copy-blocks-json.sh",
+ "tests/php/bin/run-phpunit.sh"
],
"testEnv": {
"start": "env:test --debug",
@@ -219,7 +225,10 @@
"composer.lock",
"**/*.php",
".wp-env.test.json",
- "phpunit.xml"
+ "phpunit.xml",
+ "client/blocks/assets/js/**/block.json",
+ "client/blocks/bin/copy-blocks-json.sh",
+ "tests/php/bin/run-phpunit.sh"
],
"testEnv": {
"start": "env:test --debug",
@@ -245,7 +254,10 @@
"tests/legacy/**",
"tests/php/**",
"tests/unit-tests/**",
- "phpunit.xml"
+ "phpunit.xml",
+ "client/blocks/assets/js/**/block.json",
+ "client/blocks/bin/copy-blocks-json.sh",
+ "tests/php/bin/run-phpunit.sh"
],
"testEnv": {
"start": "env:test --debug",
@@ -819,7 +831,10 @@
"composer.lock",
"**/*.php",
".wp-env.test.json",
- "phpunit.xml"
+ "phpunit.xml",
+ "client/blocks/assets/js/**/block.json",
+ "client/blocks/bin/copy-blocks-json.sh",
+ "tests/php/bin/run-phpunit.sh"
],
"testEnv": {
"start": "env:test --debug",
@@ -974,6 +989,7 @@
"patterns/**/*.php",
"includes/**/*.php",
"src/Blocks/**/*.php",
+ "src/StoreApi/**/*.php",
"templates/**/*.php",
"templates/**/*.html",
"sample-data/sample_products.xml",
@@ -1104,6 +1120,7 @@
"patterns/**/*.php",
"includes/**/*.php",
"src/Blocks/**/*.php",
+ "src/StoreApi/**/*.php",
"src/Internal/Features/BlockEditorUnifiedAssets.php",
"templates/**/*.php",
"templates/**/*.html",
@@ -1277,7 +1294,8 @@
"changes": [
"includes/gateways/paypal/**/*.php",
"src/Gateways/PayPal/**/*.php",
- "tests/e2e/tests/paypal/**"
+ "tests/e2e/tests/paypal/**",
+ "tests/e2e/fixtures/paypal-fixtures.ts"
],
"events": [
"pull_request",