Skip to content

Commit 4c25726

Browse files
committed
Build/Test Tools: Make use of new reusable workflows for 5.2.
This updates the 5.2 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.2 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.2@58625 602fd350-edb4-49c9-b593-d223f7449a82
1 parent 2b4c505 commit 4c25726

File tree

14 files changed

+296
-591
lines changed

14 files changed

+296
-591
lines changed

.cache/.gitkeep

Whitespace-only changes.

.github/workflows/coding-standards.yml

Lines changed: 19 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -40,106 +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
55+
with:
56+
php-version: '7.3'
57+
old-branch: true
9258

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

14067
slack-notifications:
14168
name: Slack Notifications
14269
uses: WordPress/wordpress-develop/.github/workflows/slack-notifications.yml@trunk
70+
permissions:
71+
actions: read
72+
contents: read
14373
needs: [ phpcs, jshint ]
14474
if: ${{ github.repository == 'WordPress/wordpress-develop' && github.event_name != 'pull_request' && always() }}
14575
with:
@@ -153,6 +83,8 @@ jobs:
15383
failed-workflow:
15484
name: Failed workflow tasks
15585
runs-on: ubuntu-latest
86+
permissions:
87+
actions: write
15688
needs: [ phpcs, jshint, slack-notifications ]
15789
if: |
15890
always() &&
@@ -166,7 +98,7 @@ jobs:
16698
16799
steps:
168100
- name: Dispatch workflow run
169-
uses: actions/github-script@98814c53be79b1d30f795b907e553d8679345975 # v6.4.0
101+
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
170102
with:
171103
retries: 2
172104
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)