Skip to content

Commit 555c705

Browse files
authored
Merge branch 'trunk' into fix/kses-allow-background-color
2 parents 409cf7f + 8270db8 commit 555c705

1,255 files changed

Lines changed: 100673 additions & 19640 deletions

File tree

Some content is hidden

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

.github/pull_request_template.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,13 @@ Trac ticket: <!-- insert a link to the WordPress Trac ticket here -->
2323

2424
<!--
2525
You are free to use artificial intelligence (AI) tooling to contribute, but you must disclose what tooling you are using and to what extent a pull request has been authored by AI. It is your responsibility to review and take responsibility for what AI generates. See the WordPress AI Guidelines: <https://make.wordpress.org/ai/handbook/ai-guidelines/>.
26+
27+
Example disclosure:
28+
29+
AI assistance: Yes
30+
Tool(s): GitHub Copilot, ChatGPT
31+
Model(s): GPT-5.1
32+
Used for: Initial code skeleton and test suggestions; final implementation and tests were reviewed and edited by me.
2633
-->
2734

2835
---

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,14 @@ on:
2323
- '.nvmrc'
2424
- 'Gruntfile.js'
2525
- 'webpack.config.js'
26+
- 'tools/gutenberg/**'
27+
- 'tools/vendors/**'
2628
- 'tools/webpack/**'
2729
# These files configure Composer. Changes could affect the outcome.
2830
- 'composer.*'
2931
# Confirm any changes to relevant workflow files.
3032
- '.github/workflows/check-built-files.yml'
33+
- '.github/workflows/reusable-check-built-files.yml'
3134
# Changes to the default themes should be handled by the themes workflows.
3235
- '!src/wp-content/themes/twenty**'
3336

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

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -123,19 +123,20 @@ jobs:
123123
rm -f private-key.pem
124124
125125
- name: Checkout repository
126-
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
126+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
127127
if: ${{ steps.artifact-check.outputs.exists == 'true' }}
128128
with:
129129
repository: ${{ github.event.workflow_run.head_repository.full_name }}
130130
ref: ${{ github.event.workflow_run.head_branch }}
131131
path: 'pr-repo'
132132
show-progress: ${{ runner.debug == '1' && 'true' || 'false' }}
133133
token: ${{ env.ACCESS_TOKEN }}
134+
persist-credentials: true
134135

135136
- name: Apply patch
136137
if: ${{ steps.artifact-check.outputs.exists == 'true' }}
137138
working-directory: 'pr-repo'
138-
run: git apply ${{ github.workspace }}/changes.diff
139+
run: git apply "$GITHUB_WORKSPACE/changes.diff"
139140

140141
- name: Display changes to versioned files
141142
if: ${{ steps.artifact-check.outputs.exists == 'true' }}
@@ -149,7 +150,7 @@ jobs:
149150
GH_APP_ID: ${{ secrets.GH_PR_BUILT_FILES_APP_ID }}
150151
run: |
151152
git config user.name "wordpress-develop-pr-bot[bot]"
152-
git config user.email ${{ env.GH_APP_ID }}+wordpress-develop-pr-bot[bot]@users.noreply.github.com
153+
git config user.email "${GH_APP_ID}+wordpress-develop-pr-bot[bot]@users.noreply.github.com"
153154
154155
- name: Stage changes
155156
if: ${{ steps.artifact-check.outputs.exists == 'true' }}

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ on:
2828
- '.nvmrc'
2929
- 'Gruntfile.js'
3030
- 'webpack.config.js'
31+
- 'tools/gutenberg/**'
32+
- 'tools/vendors/**'
3133
- 'tools/webpack/**'
3234
# These files configure Composer. Changes could affect the outcome.
3335
- 'composer.*'
@@ -51,7 +53,7 @@ permissions: {}
5153

5254
env:
5355
LOCAL_DIR: build
54-
PUPPETEER_SKIP_DOWNLOAD: ${{ true }}
56+
PUPPETEER_SKIP_DOWNLOAD: true
5557

5658
jobs:
5759
# Runs the end-to-end test suite.

.github/workflows/install-testing.yml

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@ jobs:
4949
uses: ./.github/workflows/reusable-support-json-reader-v1.yml
5050
permissions:
5151
contents: read
52-
secrets: inherit
5352
if: ${{ github.repository == 'WordPress/wordpress-develop' }}
5453
with:
5554
wp-version: ${{ inputs.wp-version }}
@@ -88,22 +87,18 @@ jobs:
8887
- db-version: '5.0'
8988
- db-version: '5.1'
9089
- db-version: '5.5'
91-
# 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.
92-
- php: '7.2'
93-
db-version: '8.4'
94-
- php: '7.3'
95-
db-version: '8.4'
9690
# Only test the latest innovation release.
9791
- db-version: '9.0'
9892
- db-version: '9.1'
9993
- db-version: '9.2'
10094
- db-version: '9.3'
10195
- db-version: '9.4'
96+
- db-version: '9.5'
10297
# MySQL 9.0+ will not work on PHP 7.2 & 7.3. See https://core.trac.wordpress.org/ticket/61218.
10398
- php: '7.2'
104-
db-version: '9.5'
99+
db-version: '9.6'
105100
- php: '7.3'
106-
db-version: '9.5'
101+
db-version: '9.6'
107102

108103
services:
109104
database:
@@ -118,11 +113,11 @@ jobs:
118113
-e MYSQL_ROOT_PASSWORD="root"
119114
-e MYSQL_DATABASE="test_db"
120115
--entrypoint sh ${{ matrix.db-type }}:${{ matrix.db-version }}
121-
-c "exec docker-entrypoint.sh mysqld${{ matrix.db-type == 'mysql' && contains( fromJSON('["7.2", "7.3"]'), matrix.php ) && ' --default-authentication-plugin=mysql_native_password' || '' }}"
116+
-c "exec docker-entrypoint.sh mysqld${{ matrix.db-type == 'mysql' && contains( fromJSON('["5.4", "5.5", "5.6", "7.0", "7.1", "7.2", "7.3"]'), matrix.php ) && ( matrix.db-version == '8.4' && ' --mysql-native-password=ON --authentication-policy=mysql_native_password' || ' --default-authentication-plugin=mysql_native_password' ) || '' }}"
122117
123118
steps:
124119
- name: Set up PHP ${{ matrix.php }}
125-
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
120+
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f # 2.37.0
126121
with:
127122
php-version: '${{ matrix.php }}'
128123
coverage: none

.github/workflows/javascript-tests.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ on:
2626
- '.nvmrc'
2727
- 'Gruntfile.js'
2828
- 'webpack.config.js'
29+
- 'tools/gutenberg/**'
30+
- 'tools/vendors/**'
2931
- 'tools/webpack/**'
3032
# This file configures ESLint. Changes could affect the outcome.
3133
- '.eslintignore'
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
name: JavaScript Type Checking
2+
3+
on:
4+
# JavaScript type checking was introduced in 7.0.0.
5+
push:
6+
branches:
7+
- trunk
8+
- '[7-9].[0-9]'
9+
tags:
10+
- '[7-9].[0-9]'
11+
- '[7-9]+.[0-9].[0-9]+'
12+
pull_request:
13+
branches:
14+
- trunk
15+
- '[7-9].[0-9]'
16+
paths:
17+
# This workflow only scans JavaScript files.
18+
- '**.js'
19+
- '**.ts'
20+
- '**.tsx'
21+
# These files configure npm. Changes could affect the outcome.
22+
- 'package*.json'
23+
- '.nvmrc'
24+
- '.npmrc'
25+
# This file configures TypeScript. Changes could affect the outcome.
26+
- 'tsconfig.json'
27+
# This directory contains TypeScript definitions. Changes could affect the outcome.
28+
- 'typings/**'
29+
# Confirm any changes to relevant workflow files.
30+
- '.github/workflows/javascript-type-checking.yml'
31+
- '.github/workflows/reusable-javascript-type-checking-v1.yml'
32+
workflow_dispatch:
33+
34+
# Cancels all previous workflow runs for pull requests that have not completed.
35+
concurrency:
36+
# The concurrency group contains the workflow name and the branch name for pull requests
37+
# or the commit hash for any other events.
38+
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
39+
cancel-in-progress: true
40+
41+
# Disable permissions for all available scopes by default.
42+
# Any needed permissions should be configured at the job level.
43+
permissions: {}
44+
45+
jobs:
46+
# Runs JavaScript type checking.
47+
typecheck:
48+
name: JavaScript type checking
49+
uses: ./.github/workflows/reusable-javascript-type-checking-v1.yml
50+
permissions:
51+
contents: read
52+
if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }}
53+
54+
slack-notifications:
55+
name: Slack Notifications
56+
uses: ./.github/workflows/slack-notifications.yml
57+
permissions:
58+
actions: read
59+
contents: read
60+
needs: [ typecheck ]
61+
if: ${{ github.repository == 'WordPress/wordpress-develop' && github.event_name != 'pull_request' && always() }}
62+
with:
63+
calling_status: ${{ contains( needs.*.result, 'cancelled' ) && 'cancelled' || contains( needs.*.result, 'failure' ) && 'failure' || 'success' }}
64+
secrets:
65+
SLACK_GHA_SUCCESS_WEBHOOK: ${{ secrets.SLACK_GHA_SUCCESS_WEBHOOK }}
66+
SLACK_GHA_CANCELLED_WEBHOOK: ${{ secrets.SLACK_GHA_CANCELLED_WEBHOOK }}
67+
SLACK_GHA_FIXED_WEBHOOK: ${{ secrets.SLACK_GHA_FIXED_WEBHOOK }}
68+
SLACK_GHA_FAILURE_WEBHOOK: ${{ secrets.SLACK_GHA_FAILURE_WEBHOOK }}
69+
70+
failed-workflow:
71+
name: Failed workflow tasks
72+
runs-on: ubuntu-24.04
73+
permissions:
74+
actions: write
75+
needs: [ slack-notifications ]
76+
if: |
77+
always() &&
78+
github.repository == 'WordPress/wordpress-develop' &&
79+
github.event_name != 'pull_request' &&
80+
github.run_attempt < 2 &&
81+
(
82+
contains( needs.*.result, 'cancelled' ) ||
83+
contains( needs.*.result, 'failure' )
84+
)
85+
86+
steps:
87+
- name: Dispatch workflow run
88+
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
89+
with:
90+
retries: 2
91+
retry-exempt-status-codes: 418
92+
script: |
93+
github.rest.actions.createWorkflowDispatch({
94+
owner: context.repo.owner,
95+
repo: context.repo.repo,
96+
workflow_id: 'failed-workflow.yml',
97+
ref: 'trunk',
98+
inputs: {
99+
run_id: `${context.runId}`,
100+
}
101+
});

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ on:
1717
- 'package*.json'
1818
- 'Gruntfile.js'
1919
- 'webpack.config.js'
20+
- 'tools/gutenberg/**'
21+
- 'tools/vendors/**'
2022
- 'tools/webpack/**'
2123
- '.npmrc'
2224
- '.nvmrc'
@@ -77,7 +79,6 @@ jobs:
7779
uses: ./.github/workflows/reusable-support-json-reader-v1.yml
7880
permissions:
7981
contents: read
80-
secrets: inherit
8182
if: ${{ github.repository == 'WordPress/wordpress-develop' }}
8283
with:
8384
wp-version: ${{ github.event_name == 'pull_request' && github.base_ref || github.ref_name }}
@@ -106,6 +107,7 @@ jobs:
106107
- db-version: '9.2'
107108
- db-version: '9.3'
108109
- db-version: '9.4'
110+
- db-version: '9.5'
109111
# No PHP 8.5 + Memcached support yet.
110112
- php: '8.5'
111113
memcached: true

.github/workflows/performance.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ on:
2828
- '.nvmrc'
2929
- 'Gruntfile.js'
3030
- 'webpack.config.js'
31+
- 'tools/gutenberg/**'
32+
- 'tools/vendors/**'
3133
- 'tools/webpack/**'
3234
# These files configure Composer. Changes could affect the outcome.
3335
- 'composer.*'
Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
name: PHPStan Static Analysis
2+
3+
on:
4+
# PHPStan testing was introduced in 7.0.0.
5+
push:
6+
branches:
7+
- trunk
8+
- '[7-9].[0-9]'
9+
tags:
10+
- '[7-9].[0-9]'
11+
- '[7-9]+.[0-9].[0-9]+'
12+
pull_request:
13+
branches:
14+
- trunk
15+
- '[7-9].[0-9]'
16+
paths:
17+
# This workflow only scans PHP files.
18+
- '**.php'
19+
# These files configure Composer. Changes could affect the outcome.
20+
- 'composer.*'
21+
# These files configure PHPStan. Changes could affect the outcome.
22+
- 'phpstan.neon.dist'
23+
- 'tests/phpstan/base.neon'
24+
- 'tests/phpstan/baseline.php'
25+
# Confirm any changes to relevant workflow files.
26+
- '.github/workflows/phpstan-static-analysis.yml'
27+
- '.github/workflows/reusable-phpstan-static-analysis-v1.yml'
28+
workflow_dispatch:
29+
30+
# Cancels all previous workflow runs for pull requests that have not completed.
31+
concurrency:
32+
# The concurrency group contains the workflow name and the branch name for pull requests
33+
# or the commit hash for any other events.
34+
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
35+
cancel-in-progress: true
36+
37+
# Disable permissions for all available scopes by default.
38+
# Any needed permissions should be configured at the job level.
39+
permissions: {}
40+
41+
jobs:
42+
# Runs PHPStan Static Analysis.
43+
phpstan:
44+
name: PHP static analysis
45+
uses: ./.github/workflows/reusable-phpstan-static-analysis-v1.yml
46+
permissions:
47+
contents: read
48+
if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }}
49+
50+
slack-notifications:
51+
name: Slack Notifications
52+
uses: ./.github/workflows/slack-notifications.yml
53+
permissions:
54+
actions: read
55+
contents: read
56+
needs: [ phpstan ]
57+
if: ${{ github.repository == 'WordPress/wordpress-develop' && github.event_name != 'pull_request' && always() }}
58+
with:
59+
calling_status: ${{ contains( needs.*.result, 'cancelled' ) && 'cancelled' || contains( needs.*.result, 'failure' ) && 'failure' || 'success' }}
60+
secrets:
61+
SLACK_GHA_SUCCESS_WEBHOOK: ${{ secrets.SLACK_GHA_SUCCESS_WEBHOOK }}
62+
SLACK_GHA_CANCELLED_WEBHOOK: ${{ secrets.SLACK_GHA_CANCELLED_WEBHOOK }}
63+
SLACK_GHA_FIXED_WEBHOOK: ${{ secrets.SLACK_GHA_FIXED_WEBHOOK }}
64+
SLACK_GHA_FAILURE_WEBHOOK: ${{ secrets.SLACK_GHA_FAILURE_WEBHOOK }}
65+
66+
failed-workflow:
67+
name: Failed workflow tasks
68+
runs-on: ubuntu-24.04
69+
permissions:
70+
actions: write
71+
needs: [ slack-notifications ]
72+
if: |
73+
always() &&
74+
github.repository == 'WordPress/wordpress-develop' &&
75+
github.event_name != 'pull_request' &&
76+
github.run_attempt < 2 &&
77+
(
78+
contains( needs.*.result, 'cancelled' ) ||
79+
contains( needs.*.result, 'failure' )
80+
)
81+
82+
steps:
83+
- name: Dispatch workflow run
84+
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
85+
with:
86+
retries: 2
87+
retry-exempt-status-codes: 418
88+
script: |
89+
github.rest.actions.createWorkflowDispatch({
90+
owner: context.repo.owner,
91+
repo: context.repo.repo,
92+
workflow_id: 'failed-workflow.yml',
93+
ref: 'trunk',
94+
inputs: {
95+
run_id: `${context.runId}`,
96+
}
97+
});

0 commit comments

Comments
 (0)