Skip to content

Commit 33c83c0

Browse files
committed
Build/Test Tools: Make use of new reusable workflows for 5.3.
This updates the 5.3 branch to utilize the new reusable workflows in trunk introduced in [58165]. This also includes backports for a some additional improvements and bug fixes that are necessary for the local development environment to continue working long term: - The image and platform properties for the mysql container have been updated to always prefer `amd64` containers (#60822). - `macos-13` is now pinned for MacOS jobs instead of `macos-latest` (#61340). - Migrating to Docker Compose V2 (#60901). - Removing the version property from docker-compose.yml (#59416). - Improvements to how artifacts and comments for Playground testing are generated. - Removing SVN related commands causing failures (#61216). - Updating the `actions/github-scripts` action to the latest version. - Cache the results of `PHP_CodeSniffer` runs (#49783). - Move the Memcached container into the Docker Compose config (#55700). - Improvements to the `healthcheck` command for the `mysql` container (#58867). - Skip some tests when not in the primary branch (#50401). Merges [49264], [51673], [52179], [53552], [53895], [56464], [57918], [58157], [57124], [57125], [57249] to the 5.3 branch. Props johnbillion, joemcgill, swissspidy, thelovekesh, narenin, mukesh27, JeffPaul, peterwilsoncc, zieladam, ockham, SergeyBiryukov, jorbin, Clorith, afragen, jrf. See #49783, #58867, #61340, #60822, #61216, #60901, #61101, #59416, #59805, #61213. git-svn-id: https://develop.svn.wordpress.org/branches/5.3@58624 602fd350-edb4-49c9-b593-d223f7449a82
1 parent 21b9269 commit 33c83c0

File tree

15 files changed

+294
-599
lines changed

15 files changed

+294
-599
lines changed

.cache/.gitkeep

Whitespace-only changes.

.github/workflows/coding-standards.yml

Lines changed: 19 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -40,112 +40,36 @@ concurrency:
4040
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
4141
cancel-in-progress: true
4242

43+
# Disable permissions for all available scopes by default.
44+
# Any needed permissions should be configured at the job level.
45+
permissions: {}
46+
4347
jobs:
4448
# Runs PHP coding standards checks.
45-
#
46-
# Violations are reported inline with annotations.
47-
#
48-
# Performs the following steps:
49-
# - Checks out the repository.
50-
# - Sets up PHP.
51-
# - Logs debug information.
52-
# - Installs Composer dependencies (use cache if possible).
53-
# - Make Composer packages available globally.
54-
# - Logs PHP_CodeSniffer debug information.
55-
# - Runs PHPCS on the full codebase with warnings suppressed.
56-
# - Runs PHPCS on the `tests` directory without warnings suppressed.
5749
phpcs:
5850
name: PHP coding standards
59-
runs-on: ubuntu-latest
60-
timeout-minutes: 20
51+
uses: WordPress/wordpress-develop/.github/workflows/reusable-coding-standards-php.yml@trunk
52+
permissions:
53+
contents: read
6154
if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }}
62-
63-
steps:
64-
- name: Checkout repository
65-
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0
66-
67-
- name: Set up PHP
68-
uses: shivammathur/setup-php@d30ad8b1843ace22e6698ab99bbafaa747b6bd0d # v2.24.0
69-
with:
70-
php-version: '7.3'
71-
coverage: none
72-
tools: composer, cs2pr
73-
74-
- name: Log debug information
75-
run: |
76-
php --version
77-
composer --version
78-
79-
- name: Install Composer dependencies
80-
uses: ramsey/composer-install@83af392bf5f031813d25e6fe4cd626cdba9a2df6 # v2.2.0
81-
with:
82-
composer-options: "--no-progress --no-ansi"
83-
84-
- name: Make Composer packages available globally
85-
run: echo "${PWD}/vendor/bin" >> $GITHUB_PATH
86-
87-
- name: Log PHPCS debug information
88-
run: phpcs -i
89-
90-
- name: Run PHPCBF on all Core files
91-
run: phpcbf
92-
93-
- name: Run PHPCS on all Core files
94-
run: phpcs -q -n --report=checkstyle | cs2pr
95-
96-
- name: Check test suite files for warnings
97-
run: phpcs tests -q --report=checkstyle | cs2pr
55+
with:
56+
php-version: '7.3'
57+
old-branch: true
9858

9959
# Runs the JavaScript coding standards checks.
100-
#
101-
# JSHint violations are not currently reported inline with annotations.
102-
#
103-
# Performs the following steps:
104-
# - Checks out the repository.
105-
# - Logs debug information about the GitHub Action runner.
106-
# - Installs Node.js.
107-
# - Logs updated debug information.
108-
# _ Installs npm dependencies.
109-
# - Run the WordPress JSHint checks.
11060
jshint:
11161
name: JavaScript coding standards
112-
runs-on: ubuntu-latest
113-
timeout-minutes: 20
62+
uses: WordPress/wordpress-develop/.github/workflows/reusable-coding-standards-javascript.yml@trunk
63+
permissions:
64+
contents: read
11465
if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }}
115-
env:
116-
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: ${{ true }}
117-
118-
steps:
119-
- name: Checkout repository
120-
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0
121-
122-
- name: Log debug information
123-
run: |
124-
npm --version
125-
node --version
126-
git --version
127-
svn --version
128-
129-
- name: Install Node.js
130-
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0
131-
with:
132-
node-version-file: '.nvmrc'
133-
cache: npm
134-
135-
- name: Log debug information
136-
run: |
137-
npm --version
138-
node --version
139-
140-
- name: Install Dependencies
141-
run: npm ci
142-
143-
- name: Run JSHint
144-
run: npm run grunt jshint
14566

14667
slack-notifications:
14768
name: Slack Notifications
14869
uses: WordPress/wordpress-develop/.github/workflows/slack-notifications.yml@trunk
70+
permissions:
71+
actions: read
72+
contents: read
14973
needs: [ phpcs, jshint ]
15074
if: ${{ github.repository == 'WordPress/wordpress-develop' && github.event_name != 'pull_request' && always() }}
15175
with:
@@ -159,6 +83,8 @@ jobs:
15983
failed-workflow:
16084
name: Failed workflow tasks
16185
runs-on: ubuntu-latest
86+
permissions:
87+
actions: write
16288
needs: [ phpcs, jshint, slack-notifications ]
16389
if: |
16490
always() &&
@@ -172,7 +98,7 @@ jobs:
17298
17399
steps:
174100
- name: Dispatch workflow run
175-
uses: actions/github-script@98814c53be79b1d30f795b907e553d8679345975 # v6.4.0
101+
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
176102
with:
177103
retries: 2
178104
retry-exempt-status-codes: 418

.github/workflows/javascript-tests.yml

Lines changed: 13 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -38,53 +38,25 @@ concurrency:
3838
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
3939
cancel-in-progress: true
4040

41+
# Disable permissions for all available scopes by default.
42+
# Any needed permissions should be configured at the job level.
43+
permissions: {}
44+
4145
jobs:
4246
# Runs the QUnit tests for WordPress.
43-
#
44-
# Performs the following steps:
45-
# - Checks out the repository.
46-
# - Logs debug information about the GitHub Action runner.
47-
# - Installs Node.js.
48-
# - Logs updated debug information.
49-
# _ Installs npm dependencies.
50-
# - Run the WordPress QUnit tests.
5147
test-js:
5248
name: QUnit Tests
53-
runs-on: ubuntu-latest
54-
timeout-minutes: 20
49+
uses: WordPress/wordpress-develop/.github/workflows/reusable-javascript-tests.yml@trunk
50+
permissions:
51+
contents: read
5552
if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }}
5653

57-
steps:
58-
- name: Checkout repository
59-
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0
60-
61-
- name: Log debug information
62-
run: |
63-
npm --version
64-
node --version
65-
git --version
66-
svn --version
67-
68-
- name: Set up Node.js
69-
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0
70-
with:
71-
node-version-file: '.nvmrc'
72-
cache: npm
73-
74-
- name: Log debug information
75-
run: |
76-
npm --version
77-
node --version
78-
79-
- name: Install Dependencies
80-
run: npm ci
81-
82-
- name: Run QUnit tests
83-
run: npm run grunt qunit:compiled
84-
8554
slack-notifications:
8655
name: Slack Notifications
8756
uses: WordPress/wordpress-develop/.github/workflows/slack-notifications.yml@trunk
57+
permissions:
58+
actions: read
59+
contents: read
8860
needs: [ test-js ]
8961
if: ${{ github.repository == 'WordPress/wordpress-develop' && github.event_name != 'pull_request' && always() }}
9062
with:
@@ -98,6 +70,8 @@ jobs:
9870
failed-workflow:
9971
name: Failed workflow tasks
10072
runs-on: ubuntu-latest
73+
permissions:
74+
actions: write
10175
needs: [ test-js, slack-notifications ]
10276
if: |
10377
always() &&
@@ -110,7 +84,7 @@ jobs:
11084
11185
steps:
11286
- name: Dispatch workflow run
113-
uses: actions/github-script@98814c53be79b1d30f795b907e553d8679345975 # v6.4.0
87+
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
11488
with:
11589
retries: 2
11690
retry-exempt-status-codes: 418

0 commit comments

Comments
 (0)