Skip to content

Commit 859231e

Browse files
Merge branch 'WordPress:trunk' into fix/62046-test-approach
2 parents dcb4c4a + 5b01d24 commit 859231e

File tree

61 files changed

+2069
-343
lines changed

Some content is hidden

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

61 files changed

+2069
-343
lines changed

.github/workflows/install-testing.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,11 +90,13 @@ jobs:
9090
db-version: '8.4'
9191
- php: '7.3'
9292
db-version: '8.4'
93+
# Only test the latest innovation release.
94+
- db-version: '9.0'
9395
# MySQL 9.0+ will not work on PHP 7.2 & 7.3. See https://core.trac.wordpress.org/ticket/61218.
9496
- php: '7.2'
95-
db-version: '9.0'
97+
db-version: '9.1'
9698
- php: '7.3'
97-
db-version: '9.0'
99+
db-version: '9.1'
98100

99101
services:
100102
database:

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,11 +90,13 @@ jobs:
9090
exclude:
9191
# MySQL containers <= 5.5 do not exist or fail to start properly.
9292
- db-version: '5.5'
93+
# Only test the latest innovation release.
94+
- db-version: '9.0'
9395
# MySQL 9.0+ will not work on PHP 7.2 & 7.3. See https://core.trac.wordpress.org/ticket/61218.
9496
- php: '7.2'
95-
db-version: '9.0'
97+
db-version: '9.1'
9698
- php: '7.3'
97-
db-version: '9.0'
99+
db-version: '9.1'
98100

99101
with:
100102
os: ${{ matrix.os }}

.github/workflows/performance.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ permissions: {}
3232
jobs:
3333
# Runs the performance test suite.
3434
performance:
35-
name: Performance tests ${{ matrix.memcached && '(with memcached)' || '' }}
35+
name: ${{ matrix.multisite && 'Multisite' || 'Single site' }}
3636
uses: WordPress/wordpress-develop/.github/workflows/reusable-performance.yml@trunk
3737
permissions:
3838
contents: read
@@ -41,8 +41,10 @@ jobs:
4141
fail-fast: false
4242
matrix:
4343
memcached: [ true, false ]
44+
multisite: [ true, false ]
4445
with:
4546
memcached: ${{ matrix.memcached }}
47+
multisite: ${{ matrix.multisite }}
4648
secrets:
4749
CODEVITALS_PROJECT_TOKEN: ${{ secrets.CODEVITALS_PROJECT_TOKEN }}
4850

.github/workflows/phpunit-tests.yml

Lines changed: 54 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ jobs:
4747
os: [ ubuntu-latest ]
4848
php: [ '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4' ]
4949
db-type: [ 'mysql' ]
50-
db-version: [ '5.7', '8.0', '8.4', '9.0' ]
50+
db-version: [ '5.7', '8.0', '8.4' ]
5151
tests-domain: [ 'example.org' ]
5252
multisite: [ false, true ]
5353
memcached: [ false ]
@@ -91,14 +91,6 @@ jobs:
9191
multisite: false
9292
memcached: false
9393
report: true
94-
95-
exclude:
96-
# MySQL 9.0+ will not work on PHP 7.2 & 7.3. See https://core.trac.wordpress.org/ticket/61218.
97-
- php: '7.2'
98-
db-version: '9.0'
99-
- php: '7.3'
100-
db-version: '9.0'
101-
10294
with:
10395
os: ${{ matrix.os }}
10496
php: ${{ matrix.php }}
@@ -126,7 +118,7 @@ jobs:
126118
os: [ ubuntu-latest ]
127119
php: [ '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4' ]
128120
db-type: [ 'mariadb' ]
129-
db-version: [ '10.4', '10.6', '10.11', '11.2' ]
121+
db-version: [ '5.5', '10.3', '10.4', '10.5', '10.6', '10.11', '11.4' ]
130122
multisite: [ false, true ]
131123
memcached: [ false ]
132124

@@ -135,13 +127,13 @@ jobs:
135127
- os: ubuntu-latest
136128
php: '8.3'
137129
db-type: 'mariadb'
138-
db-version: '11.2'
130+
db-version: '11.4'
139131
multisite: false
140132
memcached: true
141133
- os: ubuntu-latest
142134
php: '8.3'
143135
db-type: 'mariadb'
144-
db-version: '11.2'
136+
db-version: '11.4'
145137
multisite: true
146138
memcached: true
147139
with:
@@ -154,6 +146,55 @@ jobs:
154146
phpunit-config: ${{ matrix.multisite && 'tests/phpunit/multisite.xml' || 'phpunit.xml.dist' }}
155147
report: ${{ matrix.report || false }}
156148

149+
#
150+
# Creates PHPUnit test jobs to test MariaDB and MySQL innovation releases.
151+
#
152+
# Though innovation releases are deemed "production grade" and never receive LTS status, they include new features
153+
# and updates that will be included in the next LTS version.
154+
#
155+
# Because upstream support for innovation releases gets dropped when a new one is released, only the most recent
156+
# innovation version is tested.
157+
#
158+
test-innovation-releases:
159+
name: PHP ${{ matrix.php }}
160+
uses: WordPress/wordpress-develop/.github/workflows/reusable-phpunit-tests-v3.yml@trunk
161+
permissions:
162+
contents: read
163+
secrets: inherit
164+
if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }}
165+
strategy:
166+
fail-fast: false
167+
matrix:
168+
os: [ ubuntu-latest ]
169+
php: [ '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4' ]
170+
db-type: [ 'mysql', 'mariadb' ]
171+
db-version: [ '9.1', '11.6' ]
172+
multisite: [ false, true ]
173+
memcached: [ false ]
174+
db-innovation: [ true ]
175+
176+
exclude:
177+
# MySQL 9.0+ will not work on PHP <= 7.3 because mysql_native_password was removed. See https://core.trac.wordpress.org/ticket/61218.
178+
- php: '7.2'
179+
db-version: '9.1'
180+
- php: '7.3'
181+
db-version: '9.1'
182+
# Exclude version combinations that don't exist.
183+
- db-type: 'mariadb'
184+
db-version: '9.1'
185+
- db-type: 'mysql'
186+
db-version: '11.6'
187+
with:
188+
os: ${{ matrix.os }}
189+
php: ${{ matrix.php }}
190+
db-type: ${{ matrix.db-type }}
191+
db-version: ${{ matrix.db-version }}
192+
db-innovation: ${{ matrix.db-innovation }}
193+
multisite: ${{ matrix.multisite }}
194+
memcached: ${{ matrix.memcached }}
195+
phpunit-config: ${{ matrix.multisite && 'tests/phpunit/multisite.xml' || 'phpunit.xml.dist' }}
196+
report: ${{ matrix.report || false }}
197+
157198
#
158199
# Runs specific individual test groups.
159200
#
@@ -183,7 +224,7 @@ jobs:
183224
permissions:
184225
actions: read
185226
contents: read
186-
needs: [ test-with-mysql, test-with-mariadb, specific-test-groups ]
227+
needs: [ test-with-mysql, test-with-mariadb, test-innovation-releases, specific-test-groups ]
187228
if: ${{ github.repository == 'WordPress/wordpress-develop' && github.event_name != 'pull_request' && always() }}
188229
with:
189230
calling_status: ${{ contains( needs.*.result, 'cancelled' ) && 'cancelled' || contains( needs.*.result, 'failure' ) && 'failure' || 'success' }}

.github/workflows/reusable-performance.yml

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
##
22
# A reusable workflow that runs the performance test suite.
33
##
4-
name: Performance Tests
4+
name: Run performance Tests
55

66
on:
77
workflow_call:
@@ -26,6 +26,11 @@ on:
2626
required: false
2727
type: 'boolean'
2828
default: false
29+
multisite:
30+
description: 'Whether to use Multisite.'
31+
required: false
32+
type: 'boolean'
33+
default: false
2934
secrets:
3035
CODEVITALS_PROJECT_TOKEN:
3136
description: 'The authorization token for https://www.codevitals.run/project/wordpress.'
@@ -53,6 +58,7 @@ env:
5358

5459
LOCAL_PHP_MEMCACHED: ${{ inputs.memcached }}
5560
LOCAL_PHP: ${{ inputs.php-version }}${{ 'latest' != inputs.php-version && '-fpm' || '' }}
61+
LOCAL_MULTISITE: ${{ inputs.multisite }}
5662

5763
jobs:
5864
# Performs the following steps:
@@ -65,9 +71,11 @@ jobs:
6571
# - Install Playwright browsers.
6672
# - Build WordPress.
6773
# - Start Docker environment.
74+
# - Install object cache drop-in.
6875
# - Log running Docker containers.
6976
# - Docker debug information.
7077
# - Install WordPress.
78+
# - Enable themes on Multisite.
7179
# - Install WordPress Importer plugin.
7280
# - Import mock data.
7381
# - Deactivate WordPress Importer plugin.
@@ -98,7 +106,7 @@ jobs:
98106
# - Publish performance results.
99107
# - Ensure version-controlled files are not modified or deleted.
100108
performance:
101-
name: Run tests
109+
name: ${{ inputs.multisite && 'Multisite' || 'Single site' }} / ${{ inputs.memcached && 'Memcached' || 'Default' }}
102110
runs-on: ubuntu-latest
103111
permissions:
104112
contents: read
@@ -166,6 +174,14 @@ jobs:
166174
- name: Install WordPress
167175
run: npm run env:install
168176

177+
- name: Enable themes on Multisite
178+
if: ${{ inputs.multisite }}
179+
run: |
180+
npm run env:cli -- theme enable twentytwentyone --network --path=/var/www/${{ env.LOCAL_DIR }}
181+
npm run env:cli -- theme enable twentytwentythree --network --path=/var/www/${{ env.LOCAL_DIR }}
182+
npm run env:cli -- theme enable twentytwentyfour --network --path=/var/www/${{ env.LOCAL_DIR }}
183+
npm run env:cli -- theme enable twentytwentyfive --network --path=/var/www/${{ env.LOCAL_DIR }}
184+
169185
- name: Install WordPress Importer plugin
170186
run: npm run env:cli -- plugin install wordpress-importer --activate --path=/var/www/${{ env.LOCAL_DIR }}
171187

@@ -290,7 +306,7 @@ jobs:
290306
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
291307
if: always()
292308
with:
293-
name: performance-artifacts${{ inputs.memcached && '-memcached' || '' }}-${{ github.run_id }}
309+
name: performance-artifacts${{ inputs.multisite && '-multisite' || '' }}${{ inputs.memcached && '-memcached' || '' }}-${{ github.run_id }}
294310
path: artifacts
295311
if-no-files-found: ignore
296312
include-hidden-files: true
@@ -303,7 +319,7 @@ jobs:
303319

304320
- name: Set the base sha
305321
# Only needed when publishing results.
306-
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/trunk' && ! inputs.memcached }}
322+
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/trunk' && ! inputs.memcached && ! inputs.multisite }}
307323
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
308324
id: base-sha
309325
with:
@@ -314,21 +330,15 @@ jobs:
314330
315331
- name: Set commit details
316332
# Only needed when publishing results.
317-
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/trunk' && ! inputs.memcached }}
318-
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
319-
id: commit-timestamp
320-
with:
321-
github-token: ${{ secrets.GITHUB_TOKEN }}
322-
script: |
323-
const commit_details = await github.rest.git.getCommit({ owner: context.repo.owner, repo: context.repo.repo, commit_sha: context.sha });
324-
return parseInt((new Date( commit_details.data.author.date ).getTime() / 1000).toFixed(0))
333+
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/trunk' && ! inputs.memcached && ! inputs.multisite }}
334+
# Write to an environment variable to have the output available in later steps of the job.
335+
run: echo "COMMITTED_AT=$(git show -s $GITHUB_SHA --format='%cI')" >> $GITHUB_ENV
325336

326337
- name: Publish performance results
327338
# Only publish results on pushes to trunk.
328-
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/trunk' && ! inputs.memcached }}
339+
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/trunk' && ! inputs.memcached && ! inputs.multisite }}
329340
env:
330341
BASE_SHA: ${{ steps.base-sha.outputs.result }}
331-
COMMITTED_AT: ${{ steps.commit-timestamp.outputs.result }}
332342
CODEVITALS_PROJECT_TOKEN: ${{ secrets.CODEVITALS_PROJECT_TOKEN }}
333343
HOST_NAME: "www.codevitals.run"
334344
run: |

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

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,11 @@ on:
2727
required: false
2828
type: 'string'
2929
default: '8.4'
30+
db-innovation:
31+
description: 'Whether a database software innovation release is being tested.'
32+
required: false
33+
type: 'boolean'
34+
default: false
3035
multisite:
3136
description: 'Whether to run tests as multisite'
3237
required: false
@@ -105,7 +110,7 @@ jobs:
105110
# - Checks out the WordPress Test reporter repository.
106111
# - Submit the test results to the WordPress.org host test results.
107112
phpunit-tests:
108-
name: ${{ inputs.phpunit-test-groups && format( '{0} / ', inputs.phpunit-test-groups ) || '' }}PHP ${{ inputs.php }} ${{ ! inputs.phpunit-test-groups && ! inputs.coverage-report && '/ ' || 'with ' }}${{ 'mariadb' == inputs.db-type && 'MariaDB' || 'MySQL' }} ${{ inputs.db-version }}${{ inputs.multisite && ' multisite' || '' }}${{ inputs.memcached && ' with memcached' || '' }}${{ inputs.report && ' (test reporting enabled)' || '' }} ${{ 'example.org' != inputs.tests-domain && inputs.tests-domain || '' }}
113+
name: ${{ inputs.phpunit-test-groups && format( '{0} / ', inputs.phpunit-test-groups ) || '' }}PHP ${{ inputs.php }} ${{ ! inputs.phpunit-test-groups && ! inputs.coverage-report && '/ ' || 'with ' }}${{ 'mariadb' == inputs.db-type && 'MariaDB' || 'MySQL' }} ${{ inputs.db-version }}${{ inputs.multisite && ' multisite' || '' }}${{ inputs.db-innovation && ' (innovation release)' || '' }}${{ inputs.memcached && ' with memcached' || '' }}${{ inputs.report && ' (test reporting enabled)' || '' }} ${{ 'example.org' != inputs.tests-domain && inputs.tests-domain || '' }}
109114
runs-on: ${{ inputs.os }}
110115
timeout-minutes: ${{ inputs.coverage-report && 120 || 20 }}
111116

.version-support-mysql.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
{
22
"6-8": [
3+
"9.1",
34
"9.0",
45
"8.4",
56
"8.0",

src/wp-admin/css/about.css

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -454,7 +454,12 @@
454454
}
455455

456456
.about__section a.button.button-hero {
457+
padding-top: 1.1875rem;
458+
padding-bottom: 1.1875rem;
457459
font-size: 1.5rem;
460+
line-height: 1.4;
461+
white-space: normal;
462+
text-wrap: pretty;
458463
}
459464

460465
.about__container ul {

src/wp-admin/network/settings.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -405,7 +405,7 @@
405405
<tr>
406406
<th scope="row"><?php _e( 'Site upload space' ); ?></th>
407407
<td>
408-
<label><input type="checkbox" id="upload_space_check_disabled" name="upload_space_check_disabled" value="0"<?php checked( (bool) get_site_option( 'upload_space_check_disabled' ), false ); ?>/>
408+
<label><input type="checkbox" id="upload_space_check_disabled" name="upload_space_check_disabled" value="0"<?php checked( (bool) get_site_option( 'upload_space_check_disabled' ), false ); ?> />
409409
<?php
410410
printf(
411411
/* translators: %s: Number of megabytes to limit uploads to. */

src/wp-admin/options-discussion.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@
9090
<ul>
9191
<li>
9292
<label for="close_comments_days_old"><?php _e( 'Close comments when post is how many days old' ); ?></label>
93-
<input name="close_comments_days_old" type="number" step="1" min="0" id="close_comments_days_old" value="<?php echo esc_attr( get_option( 'close_comments_days_old' ) ); ?>" class="small-text"/>
93+
<input name="close_comments_days_old" type="number" step="1" min="0" id="close_comments_days_old" value="<?php echo esc_attr( get_option( 'close_comments_days_old' ) ); ?>" class="small-text" />
9494
</li>
9595
</ul>
9696

0 commit comments

Comments
 (0)