Skip to content

Commit 62f2626

Browse files
committed
Merge branch 'trunk' into patch/63135
2 parents a8e6a29 + 6bc94ef commit 62f2626

File tree

86 files changed

+1410
-1017
lines changed

Some content is hidden

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

86 files changed

+1410
-1017
lines changed

.git-blame-ignore-revs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,3 +59,6 @@ a96fa164b00ed51c7c0481574834cff92ab9b1f0 # [60043]
5959
1aa6da693ad739b78752a55d154cd48cb757b90b # [60047]
6060
d44e1c2ce2dc638e89ed6a1d02b1cfadb8a15fe7 # [60048]
6161
a18719e7ea49ab7ac0091e076840cb7efdf51cc5 # [60049]
62+
63+
# 6.9 Coding Standards
64+
cbb6519119276ceba4279eaee73ab66294ebd820 # [60402]

.github/dependabot.yml

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,3 +127,65 @@ updates:
127127
- "lodash"
128128
- "moment"
129129
- "underscore"
130+
131+
# Monitor npm dependencies within default themes.
132+
- package-ecosystem: "npm"
133+
directory: "/src/wp-content/themes/twentytwentyone"
134+
schedule:
135+
interval: "weekly"
136+
open-pull-requests-limit: 20
137+
groups:
138+
twentytwentyone-sass-css:
139+
patterns:
140+
- "**browserslist*"
141+
- "autoprefixer"
142+
- "*css*"
143+
- "*sass*"
144+
- "!*stylelint*"
145+
twentytwentyone-eslint:
146+
patterns:
147+
- "**eslint*"
148+
twentytwentyone-stylelint:
149+
patterns:
150+
- "**stylelint*"
151+
twentytwentyone-miscellaneous:
152+
patterns:
153+
- "chokidar-cli"
154+
- "minimist"
155+
- "npm-run-all"
156+
157+
- package-ecosystem: "npm"
158+
directory: "/src/wp-content/themes/twentytwenty"
159+
schedule:
160+
interval: "weekly"
161+
open-pull-requests-limit: 20
162+
groups:
163+
twentytwenty-css:
164+
patterns:
165+
- "**browserslist*"
166+
- "autoprefixer"
167+
- "*css*"
168+
twentytwenty-stylelint:
169+
patterns:
170+
- "*stylelint*"
171+
twentytwenty-miscellaneous:
172+
patterns:
173+
- "concurrently"
174+
- "@wordpress/scripts"
175+
176+
- package-ecosystem: "npm"
177+
directory: "/src/wp-content/themes/twentynineteen"
178+
schedule:
179+
interval: "weekly"
180+
open-pull-requests-limit: 20
181+
groups:
182+
twentynineteen-css-sass:
183+
patterns:
184+
- "**browserslist*"
185+
- "autoprefixer"
186+
- "*css*"
187+
- "*sass*"
188+
twentynineteen-miscellaneous:
189+
patterns:
190+
- "chokidar-cli"
191+
- "npm-run-all"

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ on:
2626
- 'composer.*'
2727
# Confirm any changes to relevant workflow files.
2828
- '.github/workflows/check-built-files.yml'
29+
# Changes to the default themes should be handled by the themes workflows.
30+
- '!src/wp-content/themes/twenty**'
2931

3032
# Cancels all previous workflow runs for pull requests that have not completed.
3133
concurrency:

.github/workflows/commit-built-file-changes.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@ name: Commit Built File Changes (PRs)
33

44
on:
55
workflow_run:
6-
workflows: [ 'Check Built Files (PRs)' ]
6+
workflows:
7+
- 'Check Built Files (PRs)'
8+
- 'Test Default Themes & Create ZIPs'
79
types:
810
- completed
911

.github/workflows/phpunit-tests.yml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -129,8 +129,10 @@ jobs:
129129
# Creates a PHPUnit test job for each PHP/MariaDB combination.
130130
#
131131
# All LTS versions of MariaDB supported by WordPress with greater than 1% usage according to w.org/stats should be
132-
# tested. The exception to this rule is version 5.5. That release was intended as a drop-in replacement for MySQL.
133-
# Because the MySQL 5.5 Docker containers do not work, this ensures some level of MySQL 5.5 testing.
132+
# tested. The exceptions to this rule are the most recent LTS and version 5.5.
133+
#
134+
# The 5.5 release was intended as a drop-in replacement for MySQL. Because the MySQL 5.5 Docker containers do not
135+
# work, this ensures some level of MySQL 5.5 testing.
134136
#
135137
test-with-mariadb:
136138
name: PHP ${{ matrix.php }}
@@ -145,7 +147,7 @@ jobs:
145147
os: [ ubuntu-24.04 ]
146148
php: [ '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4' ]
147149
db-type: [ 'mariadb' ]
148-
db-version: [ '5.5', '10.3', '10.4', '10.5', '10.6', '10.11', '11.4' ]
150+
db-version: [ '5.5', '10.3', '10.4', '10.5', '10.6', '10.11', '11.4', '11.8' ]
149151
multisite: [ false, true ]
150152
memcached: [ false ]
151153

@@ -154,13 +156,13 @@ jobs:
154156
- os: ubuntu-24.04
155157
php: '8.3'
156158
db-type: 'mariadb'
157-
db-version: '11.4'
159+
db-version: '11.8'
158160
multisite: false
159161
memcached: true
160162
- os: ubuntu-24.04
161163
php: '8.3'
162164
db-type: 'mariadb'
163-
db-version: '11.4'
165+
db-version: '11.8'
164166
multisite: true
165167
memcached: true
166168
with:

.github/workflows/reusable-phpunit-tests-v1.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
#
44
# A reusable workflow that runs the PHPUnit test suite with the specified configuration.
55
#
6-
# This workflow is used by branches 4.1 through 5.1.
6+
# This workflow is used by branches 4.7 through 5.1.
77
##
88
name: Run PHPUnit tests
99

.github/workflows/test-and-zip-default-themes.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,32 @@ jobs:
148148
- name: Build theme
149149
run: npm run build
150150

151+
- name: Check for changes to versioned files
152+
id: built-file-check
153+
if: ${{ github.event_name == 'pull_request' }}
154+
run: |
155+
if git diff --quiet; then
156+
echo "uncommitted_changes=false" >> "$GITHUB_OUTPUT"
157+
else
158+
echo "uncommitted_changes=true" >> "$GITHUB_OUTPUT"
159+
fi
160+
161+
- name: Display changes to versioned files
162+
if: ${{ steps.built-file-check.outputs.uncommitted_changes == 'true' }}
163+
run: git diff
164+
165+
- name: Save diff to a file
166+
if: ${{ steps.built-file-check.outputs.uncommitted_changes == 'true' }}
167+
run: git diff > ./changes.diff
168+
169+
# Uploads the diff file as an artifact.
170+
- name: Upload diff file as artifact
171+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
172+
if: ${{ steps.built-file-check.outputs.uncommitted_changes == 'true' }}
173+
with:
174+
name: pr-built-file-changes
175+
path: src/wp-content/themes/${{ matrix.theme }}/changes.diff
176+
151177
- name: Ensure version-controlled files are not modified or deleted
152178
run: git diff --exit-code
153179

.github/workflows/test-old-branches.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ jobs:
4747
branch: [
4848
'6.8', '6.7', '6.6', '6.5', '6.4', '6.3', '6.2', '6.1','6.0',
4949
'5.9', '5.8', '5.7', '5.6', '5.5', '5.4', '5.3', '5.2', '5.1', '5.0',
50-
'4.9', '4.8', '4.7', '4.6', '4.5', '4.4', '4.3', '4.2', '4.1'
50+
'4.9', '4.8', '4.7'
5151
]
5252
include:
5353
# PHP Compatibility testing was introduced in 5.5.

.github/workflows/upgrade-testing.yml

Lines changed: 13 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -37,15 +37,15 @@ permissions: {}
3737
# Because the number of jobs spawned can quickly balloon out of control, the following methodology is applied when
3838
# building out the matrix below:
3939
#
40-
# - The last two releases of WordPress are tested against all PHP/MySQL LTS version combinations and the most recent
41-
# innovation release.
40+
# - The two most recent releases of WordPress are tested against all PHP/MySQL LTS version combinations and the
41+
# most recent innovation release.
4242
# - The next 6 oldest versions of WordPress are tested against both the oldest and newest releases of PHP currently
4343
# supported for both PHP 7 & 8 along with the oldest and newest MySQL LTS versions currently supported (no innovation
4444
# releases). At the current 3 releases per year pace, this accounts for 2 additional years worth of releases.
4545
# - Of the remaining versions of WordPress still receiving security updates, only test the ones where the database
4646
# version was updated since the previous major release.
4747
# - The oldest version of WordPress receiving security updates should always be tested against the same combinations as
48-
# detailed for the last two releases.
48+
# detailed for the two most recent releases.
4949

5050
# Notes about chosen MySQL versions:
5151
# - Only the most recent innovation release should be included in testing.
@@ -54,8 +54,8 @@ permissions: {}
5454
# - 5.6.x Docker containers are available and work, but 5.6 only accounts for ~2.3% of installs as of 12/6/2024.defaults:
5555
# - 5.7.x accounts for ~20% of installs, so this is used below instead.
5656
jobs:
57-
# Tests the full list of PHP/MySQL combinations for the last two versions of WordPress.
58-
upgrade-tests-last-two-releases:
57+
# Tests the full list of PHP/MySQL combinations for the two most recent versions of WordPress.
58+
upgrade-tests-recent-releases:
5959
name: ${{ matrix.wp }} to ${{ inputs.new-version && inputs.new-version || 'latest' }}
6060
uses: ./.github/workflows/reusable-upgrade-testing.yml
6161
if: ${{ github.repository == 'WordPress/wordpress-develop' || ( github.event_name == 'pull_request' && github.actor != 'dependabot[bot]' ) }}
@@ -89,7 +89,7 @@ jobs:
8989
new-version: ${{ inputs.new-version && inputs.new-version || 'latest' }}
9090
multisite: ${{ matrix.multisite }}
9191

92-
# Tests the remaining 6.x releases on the oldest and newest supported versions of PHP 7 & 8.
92+
# Tests 6.x releases where the WordPress database version changed on the oldest and newest supported versions of PHP 7 & 8.
9393
upgrade-tests-wp-6x-mysql:
9494
name: ${{ matrix.wp }} to ${{ inputs.new-version && inputs.new-version || 'latest' }}
9595
uses: ./.github/workflows/reusable-upgrade-testing.yml
@@ -101,7 +101,7 @@ jobs:
101101
php: [ '7.2', '7.4', '8.0', '8.4' ]
102102
db-type: [ 'mysql' ]
103103
db-version: [ '5.7', '8.4' ]
104-
wp: [ '6.0', '6.1', '6.2', '6.3', '6.4', '6.5', '6.6' ]
104+
wp: [ '6.0', '6.3', '6.4', '6.5' ]
105105
multisite: [ false, true ]
106106

107107
exclude:
@@ -172,67 +172,12 @@ jobs:
172172
new-version: ${{ inputs.new-version && inputs.new-version || 'latest' }}
173173
multisite: ${{ matrix.multisite }}
174174

175-
# Tests 4.x releases where the WordPress database version changed on the oldest and newest supported versions of PHP 7.
176-
#
177-
# The oldest version of WordPress receiving security updates should always be tested.
178-
upgrade-tests-wp-4x-php-7x-mysql:
179-
name: ${{ matrix.wp }} to ${{ inputs.new-version && inputs.new-version || 'latest' }}
180-
uses: ./.github/workflows/reusable-upgrade-testing.yml
181-
if: ${{ github.repository == 'WordPress/wordpress-develop' || ( github.event_name == 'pull_request' && github.actor != 'dependabot[bot]' ) }}
182-
strategy:
183-
fail-fast: false
184-
matrix:
185-
os: [ 'ubuntu-24.04' ]
186-
php: [ '7.2', '7.4' ]
187-
db-type: [ 'mysql' ]
188-
db-version: [ '5.7', '8.4' ]
189-
wp: [ '4.1', '4.2', '4.3', '4.4', '4.5', '4.6', '4.7' ]
190-
multisite: [ false, true ]
191-
192-
exclude:
193-
# The PHP <= 7.3/MySQL 8.4 jobs currently fail due to mysql_native_password being disabled by default. See https://core.trac.wordpress.org/ticket/61218.
194-
- php: '7.2'
195-
db-version: '8.4'
196-
with:
197-
os: ${{ matrix.os }}
198-
php: ${{ matrix.php }}
199-
db-type: ${{ matrix.db-type }}
200-
db-version: ${{ matrix.db-version }}
201-
wp: ${{ matrix.wp }}
202-
new-version: ${{ inputs.new-version && inputs.new-version || 'latest' }}
203-
multisite: ${{ matrix.multisite }}
204-
205-
# Tests 4.x releases where the WordPress database version changed on the oldest and newest supported versions of PHP 8.
206-
#
207-
# The oldest version of WordPress receiving security updates should always be tested.
175+
# The oldest version of WordPress receiving security updates should always be tested against
176+
# the widest possible list of PHP/MySQL combinations.
208177
#
209-
# WordPress 4.6-4.9 are excluded from PHP 8+ testing because of the following fatal errors:
178+
# WordPress 4.7 is excluded from PHP 8+ testing because of the following fatal errors:
210179
# - Use of __autoload().
211180
# - array/string offset with curly braces.
212-
upgrade-tests-wp-4x-php-8x-mysql:
213-
name: ${{ matrix.wp }} to ${{ inputs.new-version && inputs.new-version || 'latest' }}
214-
uses: ./.github/workflows/reusable-upgrade-testing.yml
215-
if: ${{ github.repository == 'WordPress/wordpress-develop' || ( github.event_name == 'pull_request' && github.actor != 'dependabot[bot]' ) }}
216-
strategy:
217-
fail-fast: false
218-
matrix:
219-
os: [ 'ubuntu-24.04' ]
220-
php: [ '8.0', '8.4' ]
221-
db-type: [ 'mysql' ]
222-
db-version: [ '5.7', '8.4' ]
223-
wp: [ '4.1', '4.2', '4.3', '4.4', '4.5' ]
224-
multisite: [ false, true ]
225-
with:
226-
os: ${{ matrix.os }}
227-
php: ${{ matrix.php }}
228-
db-type: ${{ matrix.db-type }}
229-
db-version: ${{ matrix.db-version }}
230-
wp: ${{ matrix.wp }}
231-
new-version: ${{ inputs.new-version && inputs.new-version || 'latest' }}
232-
multisite: ${{ matrix.multisite }}
233-
234-
# The oldest version of WordPress receiving security updates should always be tested against
235-
# the full list of PHP/MySQL combinations.
236181
upgrade-tests-oldest-wp-mysql:
237182
name: ${{ matrix.wp }} to ${{ inputs.new-version && inputs.new-version || 'latest' }}
238183
uses: ./.github/workflows/reusable-upgrade-testing.yml
@@ -241,10 +186,10 @@ jobs:
241186
fail-fast: false
242187
matrix:
243188
os: [ 'ubuntu-24.04' ]
244-
php: [ '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4' ]
189+
php: [ '7.2', '7.3', '7.4' ]
245190
db-type: [ 'mysql' ]
246191
db-version: [ '5.7', '8.0', '8.4', '9.3' ]
247-
wp: [ '4.1' ]
192+
wp: [ '4.7' ]
248193
multisite: [ false, true ]
249194

250195
exclude:
@@ -273,7 +218,7 @@ jobs:
273218
permissions:
274219
actions: read
275220
contents: read
276-
needs: [ upgrade-tests-last-two-releases, upgrade-tests-wp-6x-mysql, upgrade-tests-wp-5x-php-7x-mysql, upgrade-tests-wp-5x-php-8x-mysql, upgrade-tests-wp-4x-php-7x-mysql, upgrade-tests-wp-4x-php-8x-mysql, upgrade-tests-oldest-wp-mysql ]
221+
needs: [ upgrade-tests-recent-releases, upgrade-tests-wp-6x-mysql, upgrade-tests-wp-5x-php-7x-mysql, upgrade-tests-wp-5x-php-8x-mysql, upgrade-tests-oldest-wp-mysql ]
277222
if: ${{ github.repository == 'WordPress/wordpress-develop' && github.event_name != 'pull_request' && always() }}
278223
with:
279224
calling_status: ${{ contains( needs.*.result, 'cancelled' ) && 'cancelled' || contains( needs.*.result, 'failure' ) && 'failure' || 'success' }}

.version-support-mysql.json

Lines changed: 0 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -182,47 +182,5 @@
182182
"5.5",
183183
"5.1",
184184
"5.0"
185-
],
186-
"4-6": [
187-
"5.7",
188-
"5.6",
189-
"5.5",
190-
"5.1",
191-
"5.0"
192-
],
193-
"4-5": [
194-
"5.7",
195-
"5.6",
196-
"5.5",
197-
"5.1",
198-
"5.0"
199-
],
200-
"4-4": [
201-
"5.7",
202-
"5.6",
203-
"5.5",
204-
"5.1",
205-
"5.0"
206-
],
207-
"4-3": [
208-
"5.7",
209-
"5.6",
210-
"5.5",
211-
"5.1",
212-
"5.0"
213-
],
214-
"4-2": [
215-
"5.7",
216-
"5.6",
217-
"5.5",
218-
"5.1",
219-
"5.0"
220-
],
221-
"4-1": [
222-
"5.7",
223-
"5.6",
224-
"5.5",
225-
"5.1",
226-
"5.0"
227185
]
228186
}

0 commit comments

Comments
 (0)