Skip to content

Commit ec12d75

Browse files
Merge branch 'trunk' into backport-finalize-endpoint
2 parents ba6d05d + 876044b commit ec12d75

112 files changed

Lines changed: 4061 additions & 1626 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/workflows/install-testing.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,9 +101,9 @@ jobs:
101101
- db-version: '9.4'
102102
# MySQL 9.0+ will not work on PHP 7.2 & 7.3. See https://core.trac.wordpress.org/ticket/61218.
103103
- php: '7.2'
104-
db-version: '9.5'
104+
db-version: '9.6'
105105
- php: '7.3'
106-
db-version: '9.5'
106+
db-version: '9.6'
107107

108108
services:
109109
database:
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
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+
# This file configures TypeScript. Changes could affect the outcome.
25+
- 'tsconfig.json'
26+
# This directory contains TypeScript definitions. Changes could affect the outcome.
27+
- 'typings/**'
28+
# Confirm any changes to relevant workflow files.
29+
- '.github/workflows/javascript-type-checking.yml'
30+
- '.github/workflows/reusable-javascript-type-checking-v1.yml'
31+
workflow_dispatch:
32+
33+
# Cancels all previous workflow runs for pull requests that have not completed.
34+
concurrency:
35+
# The concurrency group contains the workflow name and the branch name for pull requests
36+
# or the commit hash for any other events.
37+
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
38+
cancel-in-progress: true
39+
40+
# Disable permissions for all available scopes by default.
41+
# Any needed permissions should be configured at the job level.
42+
permissions: {}
43+
44+
jobs:
45+
# Runs JavaScript type checking.
46+
typecheck:
47+
name: JavaScript type checking
48+
uses: ./.github/workflows/reusable-javascript-type-checking-v1.yml
49+
permissions:
50+
contents: read
51+
if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }}
52+
53+
slack-notifications:
54+
name: Slack Notifications
55+
uses: ./.github/workflows/slack-notifications.yml
56+
permissions:
57+
actions: read
58+
contents: read
59+
needs: [ typecheck ]
60+
if: ${{ github.repository == 'WordPress/wordpress-develop' && github.event_name != 'pull_request' && always() }}
61+
with:
62+
calling_status: ${{ contains( needs.*.result, 'cancelled' ) && 'cancelled' || contains( needs.*.result, 'failure' ) && 'failure' || 'success' }}
63+
secrets:
64+
SLACK_GHA_SUCCESS_WEBHOOK: ${{ secrets.SLACK_GHA_SUCCESS_WEBHOOK }}
65+
SLACK_GHA_CANCELLED_WEBHOOK: ${{ secrets.SLACK_GHA_CANCELLED_WEBHOOK }}
66+
SLACK_GHA_FIXED_WEBHOOK: ${{ secrets.SLACK_GHA_FIXED_WEBHOOK }}
67+
SLACK_GHA_FAILURE_WEBHOOK: ${{ secrets.SLACK_GHA_FAILURE_WEBHOOK }}
68+
69+
failed-workflow:
70+
name: Failed workflow tasks
71+
runs-on: ubuntu-24.04
72+
permissions:
73+
actions: write
74+
needs: [ slack-notifications ]
75+
if: |
76+
always() &&
77+
github.repository == 'WordPress/wordpress-develop' &&
78+
github.event_name != 'pull_request' &&
79+
github.run_attempt < 2 &&
80+
(
81+
contains( needs.*.result, 'cancelled' ) ||
82+
contains( needs.*.result, 'failure' )
83+
)
84+
85+
steps:
86+
- name: Dispatch workflow run
87+
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
88+
with:
89+
retries: 2
90+
retry-exempt-status-codes: 418
91+
script: |
92+
github.rest.actions.createWorkflowDispatch({
93+
owner: context.repo.owner,
94+
repo: context.repo.repo,
95+
workflow_id: 'failed-workflow.yml',
96+
ref: 'trunk',
97+
inputs: {
98+
run_id: `${context.runId}`,
99+
}
100+
});

.github/workflows/phpstan-static-analysis.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ on:
2424
- 'tests/phpstan/baseline.php'
2525
# Confirm any changes to relevant workflow files.
2626
- '.github/workflows/phpstan-static-analysis.yml'
27-
- '.github/workflows/reusable-phpstan-static-analysis.yml'
27+
- '.github/workflows/reusable-phpstan-static-analysis-v1.yml'
2828
workflow_dispatch:
2929

3030
# Cancels all previous workflow runs for pull requests that have not completed.
@@ -42,10 +42,10 @@ jobs:
4242
# Runs PHPStan Static Analysis.
4343
phpstan:
4444
name: PHP static analysis
45-
uses: ./.github/workflows/reusable-phpstan-static-analysis.yml
45+
uses: ./.github/workflows/reusable-phpstan-static-analysis-v1.yml
4646
permissions:
4747
contents: read
48-
if: ${{ github.repository == 'WordPress/wordpress-develop' || ( github.event_name == 'pull_request' && github.actor != 'dependabot[bot]' ) }}
48+
if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }}
4949

5050
slack-notifications:
5151
name: Slack Notifications
@@ -81,7 +81,7 @@ jobs:
8181
8282
steps:
8383
- name: Dispatch workflow run
84-
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
84+
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
8585
with:
8686
retries: 2
8787
retry-exempt-status-codes: 418

.github/workflows/phpunit-tests.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -203,17 +203,17 @@ jobs:
203203
os: [ ubuntu-24.04 ]
204204
php: [ '7.4', '8.0', '8.1', '8.2', '8.3', '8.4', '8.5' ]
205205
db-type: [ 'mysql', 'mariadb' ]
206-
db-version: [ '9.5', '12.0' ]
206+
db-version: [ '9.6', '12.1' ]
207207
multisite: [ false, true ]
208208
memcached: [ false ]
209209
db-innovation: [ true ]
210210

211211
exclude:
212212
# Exclude version combinations that don't exist.
213213
- db-type: 'mariadb'
214-
db-version: '9.5'
214+
db-version: '9.6'
215215
- db-type: 'mysql'
216-
db-version: '12.0'
216+
db-version: '12.1'
217217
with:
218218
os: ${{ matrix.os }}
219219
php: ${{ matrix.php }}
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
##
2+
# A reusable workflow that runs JavaScript Type Checking.
3+
##
4+
name: JavaScript Type Checking
5+
6+
on:
7+
workflow_call:
8+
9+
# Disable permissions for all available scopes by default.
10+
# Any needed permissions should be configured at the job level.
11+
permissions: {}
12+
13+
jobs:
14+
# Runs JavaScript type checking.
15+
#
16+
# Violations are reported inline with annotations.
17+
#
18+
# Performs the following steps:
19+
# - Checks out the repository.
20+
# - Sets up Node.js.
21+
# - Logs debug information.
22+
# - Installs npm dependencies.
23+
# - Configures caching for TypeScript build info.
24+
# - Runs JavaScript type checking.
25+
# - Saves the TypeScript build info.
26+
# - Ensures version-controlled files are not modified or deleted.
27+
typecheck:
28+
name: Run JavaScript type checking
29+
runs-on: ubuntu-24.04
30+
permissions:
31+
contents: read
32+
timeout-minutes: 10
33+
34+
steps:
35+
- name: Checkout repository
36+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
37+
with:
38+
show-progress: ${{ runner.debug == '1' && 'true' || 'false' }}
39+
persist-credentials: false
40+
41+
- name: Set up Node.js
42+
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
43+
with:
44+
node-version-file: '.nvmrc'
45+
cache: npm
46+
47+
- name: Log debug information
48+
run: |
49+
npm --version
50+
node --version
51+
52+
- name: Install npm dependencies
53+
run: npm ci --ignore-scripts
54+
55+
- name: Cache TypeScript build info
56+
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
57+
with:
58+
path: |
59+
*.tsbuildinfo
60+
key: "ts-build-info-${{ github.run_id }}"
61+
restore-keys: |
62+
ts-build-info-
63+
64+
- name: Run JavaScript type checking
65+
run: npm run typecheck:js
66+
67+
- name: "Save result cache"
68+
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
69+
if: ${{ !cancelled() }}
70+
with:
71+
path: |
72+
*.tsbuildinfo
73+
key: "ts-build-info-${{ github.run_id }}"
74+
75+
- name: Ensure version-controlled files are not modified or deleted
76+
run: git diff --exit-code

.github/workflows/reusable-phpstan-static-analysis.yml renamed to .github/workflows/reusable-phpstan-static-analysis-v1.yml

File renamed without changes.

.github/workflows/upgrade-testing.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ jobs:
7070
os: [ 'ubuntu-24.04' ]
7171
php: [ '7.4', '8.0', '8.1', '8.2', '8.3', '8.4', '8.5' ]
7272
db-type: [ 'mysql' ]
73-
db-version: [ '5.7', '8.0', '8.4', '9.5' ]
73+
db-version: [ '5.7', '8.0', '8.4', '9.6' ]
7474
wp: [ '6.7', '6.8' ]
7575
multisite: [ false, true ]
7676
with:
@@ -179,7 +179,7 @@ jobs:
179179
os: [ 'ubuntu-24.04' ]
180180
php: [ '7.4' ]
181181
db-type: [ 'mysql' ]
182-
db-version: [ '5.7', '8.0', '8.4', '9.5' ]
182+
db-version: [ '5.7', '8.0', '8.4', '9.6' ]
183183
wp: [ '4.7' ]
184184
multisite: [ false, true ]
185185
with:

.version-support-mysql.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
{
22
"7-0": [
3+
"9.6",
34
"9.5",
45
"9.4",
56
"9.3",

0 commit comments

Comments
 (0)