Skip to content

Commit 55e20cf

Browse files
committed
Merge branch 'trunk' into html-api/improve-active-element-reconstruction
2 parents 06287d1 + ea3327a commit 55e20cf

File tree

1,532 files changed

+108065
-26804
lines changed

Some content is hidden

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

1,532 files changed

+108065
-26804
lines changed

.devcontainer/devcontainer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
"username": "wordpress"
1212
},
1313
"ghcr.io/devcontainers/features/node:1": {
14-
"version": "16"
14+
"version": "20"
1515
},
1616
"ghcr.io/devcontainers/features/docker-in-docker:2": {},
1717
"ghcr.io/devcontainers/features/git:1": {}

.env

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,15 @@ LOCAL_DB_TYPE=mysql
4646
##
4747
# The database version to use.
4848
#
49-
# Defaults to 5.7 with the assumption that LOCAL_DB_TYPE is set to `mysql` above.
49+
# Defaults to 8.0 with the assumption that LOCAL_DB_TYPE is set to `mysql` above.
5050
#
51-
# When using `mysql`, see https://hub.docker.com/r/amd64/mysql for valid versions.
52-
# When using `mariadb`, see https://hub.docker.com/r/amd64/mariadb for valid versions.
51+
# When using `mysql`, see https://hub.docker.com/_/mysql for valid versions.
52+
# When using `mariadb`, see https://hub.docker.com/_/mariadb for valid versions.
5353
##
54-
LOCAL_DB_VERSION=5.7
54+
LOCAL_DB_VERSION=8.0
55+
56+
# Whether or not to enable multisite.
57+
LOCAL_MULTISITE=false
5558

5659
# The debug settings to add to `wp-config.php`.
5760
LOCAL_WP_DEBUG=true
@@ -60,6 +63,7 @@ LOCAL_WP_DEBUG_DISPLAY=true
6063
LOCAL_SCRIPT_DEBUG=true
6164
LOCAL_WP_ENVIRONMENT_TYPE=local
6265
LOCAL_WP_DEVELOPMENT_MODE=core
66+
LOCAL_WP_TESTS_DOMAIN=example.org
6367

6468
# The URL to use when running e2e tests.
6569
WP_BASE_URL=http://localhost:${LOCAL_PORT}

.github/workflows/coding-standards.yml

Lines changed: 3 additions & 114 deletions
Original file line numberDiff line numberDiff line change
@@ -45,132 +45,21 @@ concurrency:
4545
permissions: {}
4646

4747
jobs:
48-
# Runs PHP coding standards checks.
49-
#
50-
# Violations are reported inline with annotations.
51-
#
52-
# Performs the following steps:
53-
# - Checks out the repository.
54-
# - Sets up PHP.
55-
# - Configures caching for PHPCS scans.
56-
# - Installs Composer dependencies.
57-
# - Make Composer packages available globally.
58-
# - Runs PHPCS on the full codebase with warnings suppressed.
59-
# - Generate a report for displaying issues as pull request annotations.
60-
# - Runs PHPCS on the `tests` directory without warnings suppressed.
61-
# - Generate a report for displaying `test` directory issues as pull request annotations.
62-
# - Ensures version-controlled files are not modified or deleted.
48+
# Runs the PHP coding standards checks.
6349
phpcs:
6450
name: PHP coding standards
65-
runs-on: ubuntu-latest
51+
uses: WordPress/wordpress-develop/.github/workflows/reusable-coding-standards-php.yml@trunk
6652
permissions:
6753
contents: read
68-
timeout-minutes: 20
6954
if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }}
7055

71-
steps:
72-
- name: Checkout repository
73-
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
74-
with:
75-
show-progress: ${{ runner.debug == '1' && 'true' || 'false' }}
76-
77-
- name: Set up PHP
78-
uses: shivammathur/setup-php@e6f75134d35752277f093989e72e140eaa222f35 # v2.28.0
79-
with:
80-
php-version: 'latest'
81-
coverage: none
82-
tools: cs2pr
83-
84-
# This date is used to ensure that the PHPCS cache is cleared at least once every week.
85-
# http://man7.org/linux/man-pages/man1/date.1.html
86-
- name: "Get last Monday's date"
87-
id: get-date
88-
run: echo "date=$(/bin/date -u --date='last Mon' "+%F")" >> $GITHUB_OUTPUT
89-
90-
- name: Cache PHPCS scan cache
91-
uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84 # v3.3.2
92-
with:
93-
path: |
94-
.cache/phpcs-src.json
95-
.cache/phpcs-tests.json
96-
key: ${{ runner.os }}-date-${{ steps.get-date.outputs.date }}-phpcs-cache-${{ hashFiles('**/composer.json', 'phpcs.xml.dist') }}
97-
98-
# Since Composer dependencies are installed using `composer update` and no lock file is in version control,
99-
# passing a custom cache suffix ensures that the cache is flushed at least once per week.
100-
- name: Install Composer dependencies
101-
uses: ramsey/composer-install@83af392bf5f031813d25e6fe4cd626cdba9a2df6 # v2.2.0
102-
with:
103-
custom-cache-suffix: ${{ steps.get-date.outputs.date }}
104-
105-
- name: Make Composer packages available globally
106-
run: echo "${PWD}/vendor/bin" >> $GITHUB_PATH
107-
108-
- name: Run PHPCS on all Core files
109-
id: phpcs-core
110-
run: phpcs -n --report-full --cache=./.cache/phpcs-src.json --report-checkstyle=./.cache/phpcs-report.xml
111-
112-
- name: Show PHPCS results in PR
113-
if: ${{ always() && steps.phpcs-core.outcome == 'failure' }}
114-
run: cs2pr ./.cache/phpcs-report.xml
115-
116-
- name: Check test suite files for warnings
117-
id: phpcs-tests
118-
run: phpcs tests --report-full --cache=./.cache/phpcs-tests.json --report-checkstyle=./.cache/phpcs-tests-report.xml
119-
120-
- name: Show test suite scan results in PR
121-
if: ${{ always() && steps.phpcs-tests.outcome == 'failure' }}
122-
run: cs2pr ./.cache/phpcs-tests-report.xml
123-
124-
- name: Ensure version-controlled files are not modified during the tests
125-
run: git diff --exit-code
126-
12756
# Runs the JavaScript coding standards checks.
128-
#
129-
# JSHint violations are not currently reported inline with annotations.
130-
#
131-
# Performs the following steps:
132-
# - Checks out the repository.
133-
# - Sets up Node.js.
134-
# - Logs debug information about the GitHub Action runner.
135-
# - Installs npm dependencies.
136-
# - Run the WordPress JSHint checks.
137-
# - Ensures version-controlled files are not modified or deleted.
13857
jshint:
13958
name: JavaScript coding standards
140-
runs-on: ubuntu-latest
59+
uses: WordPress/wordpress-develop/.github/workflows/reusable-coding-standards-javascript.yml@trunk
14160
permissions:
14261
contents: read
143-
timeout-minutes: 20
14462
if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }}
145-
env:
146-
PUPPETEER_SKIP_DOWNLOAD: ${{ true }}
147-
148-
steps:
149-
- name: Checkout repository
150-
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
151-
with:
152-
show-progress: ${{ runner.debug == '1' && 'true' || 'false' }}
153-
154-
- name: Set up Node.js
155-
uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4.0.0
156-
with:
157-
node-version-file: '.nvmrc'
158-
cache: npm
159-
160-
- name: Log debug information
161-
run: |
162-
npm --version
163-
node --version
164-
git --version
165-
166-
- name: Install npm Dependencies
167-
run: npm ci
168-
169-
- name: Run JSHint
170-
run: npm run grunt jshint
171-
172-
- name: Ensure version-controlled files are not modified or deleted
173-
run: git diff --exit-code
17463

17564
slack-notifications:
17665
name: Slack Notifications

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

Lines changed: 4 additions & 92 deletions
Original file line numberDiff line numberDiff line change
@@ -36,106 +36,18 @@ env:
3636

3737
jobs:
3838
# Runs the end-to-end test suite.
39-
#
40-
# Performs the following steps:
41-
# - Sets environment variables.
42-
# - Checks out the repository.
43-
# - Sets up Node.js.
44-
# - Logs debug information about the GitHub Action runner.
45-
# - Installs npm dependencies.
46-
# - Install Playwright browsers.
47-
# - Builds WordPress to run from the `build` directory.
48-
# - Starts the WordPress Docker container.
49-
# - Logs the running Docker containers.
50-
# - Logs Docker debug information (about both the Docker installation within the runner and the WordPress container).
51-
# - Install WordPress within the Docker container.
52-
# - Install Gutenberg.
53-
# - Run the E2E tests.
54-
# - Ensures version-controlled files are not modified or deleted.
5539
e2e-tests:
56-
name: E2E Tests with SCRIPT_DEBUG ${{ matrix.LOCAL_SCRIPT_DEBUG && 'enabled' || 'disabled' }}
57-
runs-on: ubuntu-latest
40+
name: Test with SCRIPT_DEBUG ${{ matrix.LOCAL_SCRIPT_DEBUG && 'enabled' || 'disabled' }}
41+
uses: WordPress/wordpress-develop/.github/workflows/reusable-end-to-end-tests.yml@trunk
5842
permissions:
5943
contents: read
60-
timeout-minutes: 20
6144
if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }}
6245
strategy:
6346
fail-fast: false
6447
matrix:
6548
LOCAL_SCRIPT_DEBUG: [ true, false ]
66-
67-
steps:
68-
- name: Configure environment variables
69-
run: |
70-
echo "PHP_FPM_UID=$(id -u)" >> $GITHUB_ENV
71-
echo "PHP_FPM_GID=$(id -g)" >> $GITHUB_ENV
72-
73-
- name: Checkout repository
74-
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
75-
with:
76-
show-progress: ${{ runner.debug == '1' && 'true' || 'false' }}
77-
78-
- name: Set up Node.js
79-
uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4.0.0
80-
with:
81-
node-version-file: '.nvmrc'
82-
cache: npm
83-
84-
- name: Log debug information
85-
run: |
86-
npm --version
87-
node --version
88-
curl --version
89-
git --version
90-
locale -a
91-
92-
- name: Install npm Dependencies
93-
run: npm ci
94-
95-
- name: Install Playwright browsers
96-
run: npx playwright install --with-deps
97-
98-
- name: Build WordPress
99-
run: npm run build
100-
101-
- name: Start Docker environment
102-
run: |
103-
npm run env:start
104-
105-
- name: Log running Docker containers
106-
run: docker ps -a
107-
108-
- name: Docker debug information
109-
run: |
110-
docker -v
111-
docker-compose -v
112-
docker-compose run --rm mysql mysql --version
113-
docker-compose run --rm php php --version
114-
docker-compose run --rm php php -m
115-
docker-compose run --rm php php -i
116-
docker-compose run --rm php locale -a
117-
118-
- name: Install WordPress
119-
env:
120-
LOCAL_SCRIPT_DEBUG: ${{ matrix.LOCAL_SCRIPT_DEBUG }}
121-
run: npm run env:install
122-
123-
- name: Install Gutenberg
124-
run: npm run env:cli -- plugin install gutenberg --path=/var/www/${{ env.LOCAL_DIR }}
125-
126-
- name: Run E2E tests
127-
run: npm run test:e2e
128-
129-
- name: Archive debug artifacts (screenshots, HTML snapshots)
130-
uses: actions/upload-artifact@c7d193f32edcb7bfad88892161225aeda64e9392 # v4.0.0
131-
if: always()
132-
with:
133-
name: failures-artifacts${{ matrix.LOCAL_SCRIPT_DEBUG && '-SCRIPT_DEBUG' || '' }}-${{ github.run_id }}
134-
path: artifacts
135-
if-no-files-found: ignore
136-
137-
- name: Ensure version-controlled files are not modified or deleted
138-
run: git diff --exit-code
49+
with:
50+
LOCAL_SCRIPT_DEBUG: ${{ matrix.LOCAL_SCRIPT_DEBUG }}
13951

14052
slack-notifications:
14153
name: Slack Notifications

.github/workflows/install-testing.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ jobs:
141141
142142
steps:
143143
- name: Set up PHP ${{ matrix.php }}
144-
uses: shivammathur/setup-php@e6f75134d35752277f093989e72e140eaa222f35 # v2.28.0
144+
uses: shivammathur/setup-php@a4e22b60bbb9c1021113f2860347b0759f66fe5d # v2.30.0
145145
with:
146146
php-version: '${{ matrix.php }}'
147147
coverage: none

.github/workflows/javascript-tests.yml

Lines changed: 2 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -43,50 +43,14 @@ concurrency:
4343
permissions: {}
4444

4545
jobs:
46-
# Runs the QUnit tests for WordPress.
47-
#
48-
# Performs the following steps:
49-
# - Checks out the repository.
50-
# - Sets up Node.js.
51-
# - Logs debug information about the GitHub Action runner.
52-
# - Installs npm dependencies.
53-
# - Run the WordPress QUnit tests.
54-
# - Ensures version-controlled files are not modified or deleted.
46+
# Runs the WordPress Core JavaScript tests.
5547
test-js:
5648
name: QUnit Tests
57-
runs-on: ubuntu-latest
49+
uses: WordPress/wordpress-develop/.github/workflows/reusable-javascript-tests.yml@trunk
5850
permissions:
5951
contents: read
60-
timeout-minutes: 20
6152
if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }}
6253

63-
steps:
64-
- name: Checkout repository
65-
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
66-
with:
67-
show-progress: ${{ runner.debug == '1' && 'true' || 'false' }}
68-
69-
- name: Set up Node.js
70-
uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4.0.0
71-
with:
72-
node-version-file: '.nvmrc'
73-
cache: npm
74-
75-
- name: Log debug information
76-
run: |
77-
npm --version
78-
node --version
79-
git --version
80-
81-
- name: Install npm Dependencies
82-
run: npm ci
83-
84-
- name: Run QUnit tests
85-
run: npm run grunt qunit:compiled
86-
87-
- name: Ensure version-controlled files are not modified or deleted
88-
run: git diff --exit-code
89-
9054
slack-notifications:
9155
name: Slack Notifications
9256
uses: WordPress/wordpress-develop/.github/workflows/slack-notifications.yml@trunk

0 commit comments

Comments
 (0)