Skip to content

Commit df2dabf

Browse files
committed
Merge branch 'trunk' into fix/last-updated
2 parents 238c41e + 197f0a7 commit df2dabf

File tree

183 files changed

+4153
-777
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

183 files changed

+4153
-777
lines changed

.github/workflows/check-built-files.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ on:
1919
- '**.sass'
2020
# These files configure npm and the task runner. Changes could affect the outcome.
2121
- 'package*.json'
22+
- '.npmrc'
23+
- '.nvmrc'
2224
- 'Gruntfile.js'
2325
- 'webpack.config.js'
2426
- 'tools/webpack/**'
@@ -46,3 +48,5 @@ jobs:
4648
# This prevents an unnecessary second run after changes are committed back because Dependabot always rebases and force pushes.
4749
if: ${{ github.repository == 'wordpress/wordpress-develop' && ( github.actor != 'dependabot[bot]' || github.event.commits < 2 ) }}
4850
uses: ./.github/workflows/reusable-check-built-files.yml
51+
permissions:
52+
contents: read

.github/workflows/coding-standards.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ on:
2323
- '**.php'
2424
# These files configure npm. Changes could affect the outcome.
2525
- 'package*.json'
26+
- '.npmrc'
27+
- '.nvmrc'
2628
# These files configure Composer. Changes could affect the outcome.
2729
- 'composer.*'
2830
# This file configures JSHint. Changes could affect the outcome.
@@ -48,15 +50,15 @@ permissions: {}
4850
jobs:
4951
# Runs the PHP coding standards checks.
5052
phpcs:
51-
name: PHP coding standards
53+
name: Coding standards
5254
uses: ./.github/workflows/reusable-coding-standards-php.yml
5355
permissions:
5456
contents: read
5557
if: ${{ github.repository == 'WordPress/wordpress-develop' || ( github.event_name == 'pull_request' && github.actor != 'dependabot[bot]' ) }}
5658

5759
# Runs the JavaScript coding standards checks.
5860
jshint:
59-
name: JavaScript coding standards
61+
name: Coding standards
6062
uses: ./.github/workflows/reusable-coding-standards-javascript.yml
6163
permissions:
6264
contents: read

.github/workflows/end-to-end-tests.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ on:
2424
- '**.php'
2525
# These files configure npm and the task runner. Changes could affect the outcome.
2626
- 'package*.json'
27+
- '.npmrc'
28+
- '.nvmrc'
2729
- 'Gruntfile.js'
2830
- 'webpack.config.js'
2931
- 'tools/webpack/**'
@@ -54,7 +56,7 @@ env:
5456
jobs:
5557
# Runs the end-to-end test suite.
5658
e2e-tests:
57-
name: Test with SCRIPT_DEBUG ${{ matrix.LOCAL_SCRIPT_DEBUG && 'enabled' || 'disabled' }}
59+
name: ${{ matrix.label }}
5860
uses: ./.github/workflows/reusable-end-to-end-tests.yml
5961
permissions:
6062
contents: read
@@ -63,6 +65,8 @@ jobs:
6365
fail-fast: false
6466
matrix:
6567
LOCAL_SCRIPT_DEBUG: [ true, false ]
68+
# A matrix value is needed in the 'name' directive for proper grouping in the GitHub UI.
69+
label: [ 'E2E Tests' ]
6670
with:
6771
LOCAL_SCRIPT_DEBUG: ${{ matrix.LOCAL_SCRIPT_DEBUG }}
6872

.github/workflows/install-testing.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ jobs:
4747
permissions:
4848
contents: read
4949
secrets: inherit
50-
if: ${{ github.repository == 'WordPress/wordpress-develop' || ( github.event_name == 'pull_request' && github.actor != 'dependabot[bot]' ) }}
50+
if: ${{ github.repository == 'WordPress/wordpress-develop' }}
5151
with:
5252
wp-version: ${{ inputs.wp-version }}
5353

@@ -63,7 +63,7 @@ jobs:
6363
permissions:
6464
contents: read
6565
runs-on: ${{ matrix.os }}
66-
if: ${{ github.repository == 'WordPress/wordpress-develop' || ( github.event_name == 'pull_request' && github.actor != 'dependabot[bot]' ) }}
66+
if: ${{ github.repository == 'WordPress/wordpress-develop' }}
6767
timeout-minutes: 10
6868
needs: [ build-test-matrix ]
6969
strategy:
@@ -94,11 +94,12 @@ jobs:
9494
- db-version: '9.0'
9595
- db-version: '9.1'
9696
- db-version: '9.2'
97+
- db-version: '9.3'
9798
# MySQL 9.0+ will not work on PHP 7.2 & 7.3. See https://core.trac.wordpress.org/ticket/61218.
9899
- php: '7.2'
99-
db-version: '9.3'
100+
db-version: '9.4'
100101
- php: '7.3'
101-
db-version: '9.3'
102+
db-version: '9.4'
102103

103104
services:
104105
database:

.github/workflows/javascript-tests.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ on:
2121
- '**.js'
2222
# These files configure npm and the task runner. Changes could affect the outcome.
2323
- 'package*.json'
24+
- '.npmrc'
25+
- '.nvmrc'
2426
- 'Gruntfile.js'
2527
- 'webpack.config.js'
2628
- 'tools/webpack/**'

.github/workflows/local-docker-environment.yml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ on:
1717
- 'Gruntfile.js'
1818
- 'webpack.config.js'
1919
- 'tools/webpack/**'
20+
- '.npmrc'
21+
- '.nvmrc'
2022
# These files configure Composer. Changes could affect the local environment.
2123
- 'composer.*'
2224
# These files define the versions to test.
@@ -41,6 +43,8 @@ on:
4143
- 'Gruntfile.js'
4244
- 'webpack.config.js'
4345
- 'tools/webpack/**'
46+
- '.npmrc'
47+
- '.nvmrc'
4448
# These files configure Composer. Changes could affect the local environment.
4549
- 'composer.*'
4650
# These files define the versions to test.
@@ -73,7 +77,7 @@ jobs:
7377
permissions:
7478
contents: read
7579
secrets: inherit
76-
if: ${{ github.repository == 'WordPress/wordpress-develop' || ( github.event_name == 'pull_request' && github.actor != 'dependabot[bot]' ) }}
80+
if: ${{ github.repository == 'WordPress/wordpress-develop' }}
7781
with:
7882
wp-version: ${{ github.event_name == 'pull_request' && github.base_ref || github.ref_name }}
7983

@@ -99,11 +103,12 @@ jobs:
99103
- db-version: '9.0'
100104
- db-version: '9.1'
101105
- db-version: '9.2'
106+
- db-version: '9.3'
102107
# MySQL 9.0+ will not work on PHP 7.2 & 7.3. See https://core.trac.wordpress.org/ticket/61218.
103108
- php: '7.2'
104-
db-version: '9.3'
109+
db-version: '9.4'
105110
- php: '7.3'
106-
db-version: '9.3'
111+
db-version: '9.4'
107112

108113
with:
109114
os: ${{ matrix.os }}

.github/workflows/performance.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ on:
2323
- '**.php'
2424
# These files configure npm and the task runner. Changes could affect the outcome.
2525
- 'package*.json'
26+
- '.npmrc'
27+
- '.nvmrc'
2628
- 'Gruntfile.js'
2729
- 'webpack.config.js'
2830
- 'tools/webpack/**'
@@ -52,7 +54,8 @@ jobs:
5254
name: Determine Matrix
5355
runs-on: ubuntu-24.04
5456
if: ${{ ( github.repository == 'WordPress/wordpress-develop' || ( github.event_name == 'pull_request' && github.actor != 'dependabot[bot]' ) ) && ! contains( github.event.before, '00000000' ) }}
55-
permissions: {}
57+
permissions:
58+
actions: read
5659
env:
5760
TARGET_SHA: ${{ github.event_name == 'pull_request' && github.event.pull_request.base.sha || github.event.before }}
5861
outputs:
@@ -118,6 +121,7 @@ jobs:
118121
matrix:
119122
memcached: [ true, false ]
120123
multisite: [ true, false ]
124+
# A matrix value is needed in the 'name' directive for proper grouping in the GitHub UI.
121125
label: [ Compare ]
122126
with:
123127
memcached: ${{ matrix.memcached }}

.github/workflows/phpunit-tests.yml

Lines changed: 79 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ on:
2525
- 'src/SECURITY.md'
2626
# These files configure npm and the task runner. Changes could affect the outcome.
2727
- 'package*.json'
28+
- '.npmrc'
29+
- '.nvmrc'
2830
- 'Gruntfile.js'
2931
# These files configure Composer. Changes could affect the outcome.
3032
- 'composer.*'
@@ -63,7 +65,7 @@ jobs:
6365
permissions:
6466
contents: read
6567
secrets: inherit
66-
if: ${{ github.repository == 'WordPress/wordpress-develop' || ( github.event_name == 'pull_request' && github.actor != 'dependabot[bot]' ) }}
68+
if: ${{ startsWith( github.repository, 'WordPress/' ) && ( github.repository == 'WordPress/wordpress-develop' || ( github.event_name == 'pull_request' && github.actor != 'dependabot[bot]' ) ) }}
6769
strategy:
6870
fail-fast: false
6971
matrix:
@@ -140,7 +142,7 @@ jobs:
140142
permissions:
141143
contents: read
142144
secrets: inherit
143-
if: ${{ github.repository == 'WordPress/wordpress-develop' || ( github.event_name == 'pull_request' && github.actor != 'dependabot[bot]' ) }}
145+
if: ${{ startsWith( github.repository, 'WordPress/' ) && ( github.repository == 'WordPress/wordpress-develop' || ( github.event_name == 'pull_request' && github.actor != 'dependabot[bot]' ) ) }}
144146
strategy:
145147
fail-fast: false
146148
matrix:
@@ -184,35 +186,32 @@ jobs:
184186
# Because upstream support for innovation releases is dropped when a new one is released (including security updates),
185187
# only the most recent innovation version is tested.
186188
#
189+
# MariaDB does not currently have a supported innovation release.
190+
#
187191
test-innovation-releases:
188192
name: PHP ${{ matrix.php }}
189193
uses: ./.github/workflows/reusable-phpunit-tests-v3.yml
190194
permissions:
191195
contents: read
192196
secrets: inherit
193-
if: ${{ github.repository == 'WordPress/wordpress-develop' || ( github.event_name == 'pull_request' && github.actor != 'dependabot[bot]' ) }}
197+
if: ${{ startsWith( github.repository, 'WordPress/' ) && ( github.repository == 'WordPress/wordpress-develop' || ( github.event_name == 'pull_request' && github.actor != 'dependabot[bot]' ) ) }}
194198
strategy:
195199
fail-fast: false
196200
matrix:
197201
os: [ ubuntu-24.04 ]
198202
php: [ '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4' ]
199-
db-type: [ 'mysql', 'mariadb' ]
200-
db-version: [ '9.3', '11.7' ]
203+
db-type: [ 'mysql' ]
204+
db-version: [ '9.4' ]
201205
multisite: [ false, true ]
202206
memcached: [ false ]
203207
db-innovation: [ true ]
204208

205209
exclude:
206210
# MySQL 9.0+ will not work on PHP <= 7.3 because mysql_native_password was removed. See https://core.trac.wordpress.org/ticket/61218.
207211
- php: '7.2'
208-
db-version: '9.3'
212+
db-version: '9.4'
209213
- php: '7.3'
210-
db-version: '9.3'
211-
# Exclude version combinations that don't exist.
212-
- db-type: 'mariadb'
213-
db-version: '9.3'
214-
- db-type: 'mysql'
215-
db-version: '11.7'
214+
db-version: '9.4'
216215
with:
217216
os: ${{ matrix.os }}
218217
php: ${{ matrix.php }}
@@ -225,37 +224,100 @@ jobs:
225224
report: ${{ false }}
226225

227226
#
228-
# Runs specific individual test groups.
227+
# Runs the HTML API test group.
228+
#
229+
# This test group runs separately due to the large number of tests that are skipped in this group while the
230+
# HTML API is being developed. The skipped tests would otherwise cloud the results of all other test groups.
229231
#
230232
# These tests are run against the most recent LTS version of MySQL.
231233
#
232-
specific-test-groups:
233-
name: ${{ matrix.phpunit-test-groups }}
234+
html-api-test-groups:
235+
name: ${{ matrix.label }}
234236
uses: ./.github/workflows/reusable-phpunit-tests-v3.yml
235237
permissions:
236238
contents: read
237239
secrets: inherit
238-
if: ${{ github.repository == 'WordPress/wordpress-develop' || ( github.event_name == 'pull_request' && github.actor != 'dependabot[bot]' ) }}
240+
if: ${{ startsWith( github.repository, 'WordPress/' ) && ( github.repository == 'WordPress/wordpress-develop' || ( github.event_name == 'pull_request' && github.actor != 'dependabot[bot]' ) ) }}
239241
strategy:
240242
fail-fast: false
241243
matrix:
242244
php: [ '7.2', '7.4', '8.0', '8.4' ]
243245
db-type: [ 'mysql' ]
244246
db-version: [ '8.4' ]
245247
phpunit-test-groups: [ 'html-api-html5lib-tests' ]
248+
# A matrix value is needed in the 'name' directive for proper grouping in the GitHub UI.
249+
label: [ 'HTML API' ]
246250
with:
247251
php: ${{ matrix.php }}
248252
db-type: ${{ matrix.db-type }}
249253
db-version: ${{ matrix.db-version }}
250254
phpunit-test-groups: ${{ matrix.phpunit-test-groups }}
251255

256+
#
257+
# Runs unit tests for forks.
258+
#
259+
# Because the majority of forks will belong to personal GitHub accounts (which are limited to just 20 concurrent jobs
260+
# at any given time), forks only run a small subset of test combinations. This allows contributors to open pull
261+
# requests back to their own forks for testing purposes without having to wait hours for workflow to complete.
262+
#
263+
limited-matrix-for-forks:
264+
name: PHP ${{ matrix.php }}
265+
uses: ./.github/workflows/reusable-phpunit-tests-v3.yml
266+
permissions:
267+
contents: read
268+
secrets: inherit
269+
if: ${{ ! startsWith( github.repository, 'WordPress/' ) && github.event_name == 'pull_request' && github.actor != 'dependabot[bot]' }}
270+
strategy:
271+
fail-fast: false
272+
matrix:
273+
php: [ '7.2', '8.4' ]
274+
db-version: [ '8.4', '11.8' ]
275+
db-type: [ 'mysql', 'mariadb' ]
276+
multisite: [ false ]
277+
278+
include:
279+
# Include one multisite job for each database type.
280+
- php: '8.4'
281+
db-version: '8.4'
282+
db-type: 'mysql'
283+
multisite: true
284+
- php: '8.4'
285+
db-version: '11.8'
286+
db-type: 'mariadb'
287+
multisite: true
288+
# Test with memcached.
289+
- php: '8.4'
290+
db-version: '8.4'
291+
db-type: 'mysql'
292+
multisite: true
293+
memcached: true
294+
# Run specific test groups once.
295+
- php: '8.4'
296+
db-version: '8.4'
297+
db-type: 'mysql'
298+
phpunit-test-groups: 'html-api-html5lib-tests'
299+
300+
exclude:
301+
# Exclude PHP versions that are not supported by the database versions.
302+
- db-type: 'mysql'
303+
db-version: '11.8'
304+
- db-type: 'mariadb'
305+
db-version: '8.4'
306+
307+
with:
308+
php: ${{ matrix.php }}
309+
db-version: ${{ matrix.db-version }}
310+
db-type: ${{ matrix.db-type }}
311+
memcached: ${{ matrix.memcached || false }}
312+
phpunit-test-groups: ${{ matrix.phpunit-test-groups || '' }}
313+
252314
slack-notifications:
253315
name: Slack Notifications
254316
uses: ./.github/workflows/slack-notifications.yml
255317
permissions:
256318
actions: read
257319
contents: read
258-
needs: [ test-with-mysql, test-with-mariadb, test-innovation-releases, specific-test-groups ]
320+
needs: [ test-with-mysql, test-with-mariadb, test-innovation-releases, html-api-test-groups, limited-matrix-for-forks ]
259321
if: ${{ github.repository == 'WordPress/wordpress-develop' && github.event_name != 'pull_request' && always() }}
260322
with:
261323
calling_status: ${{ contains( needs.*.result, 'cancelled' ) && 'cancelled' || contains( needs.*.result, 'failure' ) && 'failure' || 'success' }}

.github/workflows/reusable-check-built-files.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ jobs:
3333
name: Check and update built files
3434
runs-on: ubuntu-24.04
3535
timeout-minutes: 10
36+
permissions:
37+
contents: read
3638
steps:
3739
- name: Checkout repository
3840
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

.github/workflows/reusable-coding-standards-javascript.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
# - Run the WordPress JSHint checks.
2727
# - Ensures version-controlled files are not modified or deleted.
2828
jshint:
29-
name: Run coding standards checks
29+
name: JavaScript checks
3030
runs-on: ubuntu-24.04
3131
permissions:
3232
contents: read

0 commit comments

Comments
 (0)