Skip to content

Commit 37580bf

Browse files
committed
Build/Test Tools: Make use of new reusable workflows for 4.9.
This updates the 4.9 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. - Improvements to the `healthcheck` command for the `mysql` container (#58867). Merges [51673], [53552], [56464], [57918], [58157], [57124], [57125], [57249] to the 4.9 branch. Props johnbillion, joemcgill, swissspidy, thelovekesh, narenin, mukesh27, JeffPaul, peterwilsoncc, zieladam, ockham, SergeyBiryukov, jorbin, Clorith, afragen, jrf. See #58867, #61340, #60822, #61216, #60901, #61101, #59416, #59805, #61213. git-svn-id: https://develop.svn.wordpress.org/branches/4.9@58636 602fd350-edb4-49c9-b593-d223f7449a82
1 parent d454d4e commit 37580bf

File tree

10 files changed

+246
-578
lines changed

10 files changed

+246
-578
lines changed

.github/workflows/coding-standards.yml

Lines changed: 13 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -40,57 +40,25 @@ 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 the JavaScript coding standards checks.
45-
#
46-
# JSHint violations are not currently reported inline with annotations.
47-
#
48-
# Performs the following steps:
49-
# - Checks out the repository.
50-
# - Logs debug information about the GitHub Action runner.
51-
# - Installs NodeJS.
52-
# - Logs updated debug information.
53-
# _ Installs npm dependencies.
54-
# - Run the WordPress JSHint checks.
5549
jshint:
5650
name: JavaScript coding standards
57-
runs-on: ubuntu-latest
58-
timeout-minutes: 20
51+
uses: WordPress/wordpress-develop/.github/workflows/reusable-coding-standards-javascript.yml@trunk
52+
permissions:
53+
contents: read
5954
if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }}
60-
env:
61-
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: ${{ true }}
62-
63-
steps:
64-
- name: Checkout repository
65-
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0
66-
67-
- name: Log debug information
68-
run: |
69-
npm --version
70-
node --version
71-
git --version
72-
svn --version
73-
74-
- name: Set up Node.js
75-
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0
76-
with:
77-
node-version-file: '.nvmrc'
78-
cache: npm
79-
80-
- name: Log debug information
81-
run: |
82-
npm --version
83-
node --version
84-
85-
- name: Install Dependencies
86-
run: npm ci
87-
88-
- name: Run JSHint
89-
run: npm run grunt jshint
9055

9156
slack-notifications:
9257
name: Slack Notifications
9358
uses: WordPress/wordpress-develop/.github/workflows/slack-notifications.yml@trunk
59+
permissions:
60+
actions: read
61+
contents: read
9462
needs: [ jshint ]
9563
if: ${{ github.repository == 'WordPress/wordpress-develop' && github.event_name != 'pull_request' && always() }}
9664
with:
@@ -104,6 +72,8 @@ jobs:
10472
failed-workflow:
10573
name: Failed workflow tasks
10674
runs-on: ubuntu-latest
75+
permissions:
76+
actions: write
10777
needs: [ jshint, slack-notifications ]
10878
if: |
10979
always() &&
@@ -116,7 +86,7 @@ jobs:
11686
11787
steps:
11888
- name: Dispatch workflow run
119-
uses: actions/github-script@98814c53be79b1d30f795b907e553d8679345975 # v6.4.0
89+
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
12090
with:
12191
retries: 2
12292
retry-exempt-status-codes: 418

.github/workflows/javascript-tests.yml

Lines changed: 18 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -38,57 +38,29 @@ 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:
42-
# 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 NodeJS.
48-
# - Logs updated debug information.
49-
# _ Installs npm dependencies.
50-
# - Run the WordPress QUnit tests.
46+
# Runs the WordPress Core JavaScript 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:
91-
calling_status: ${{ needs.test-js.result == 'success' && 'success' || needs.test-js.result == 'cancelled' && 'cancelled' || 'failure' }}
63+
calling_status: ${{ contains( needs.*.result, 'cancelled' ) && 'cancelled' || contains( needs.*.result, 'failure' ) && 'failure' || 'success' }}
9264
secrets:
9365
SLACK_GHA_SUCCESS_WEBHOOK: ${{ secrets.SLACK_GHA_SUCCESS_WEBHOOK }}
9466
SLACK_GHA_CANCELLED_WEBHOOK: ${{ secrets.SLACK_GHA_CANCELLED_WEBHOOK }}
@@ -98,19 +70,22 @@ jobs:
9870
failed-workflow:
9971
name: Failed workflow tasks
10072
runs-on: ubuntu-latest
101-
needs: [ test-js, slack-notifications ]
73+
permissions:
74+
actions: write
75+
needs: [ slack-notifications ]
10276
if: |
10377
always() &&
10478
github.repository == 'WordPress/wordpress-develop' &&
10579
github.event_name != 'pull_request' &&
10680
github.run_attempt < 2 &&
10781
(
108-
needs.test-js.result == 'cancelled' || needs.test-js.result == 'failure'
82+
contains( needs.*.result, 'cancelled' ) ||
83+
contains( needs.*.result, 'failure' )
10984
)
11085
11186
steps:
11287
- name: Dispatch workflow run
113-
uses: actions/github-script@98814c53be79b1d30f795b907e553d8679345975 # v6.4.0
88+
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
11489
with:
11590
retries: 2
11691
retry-exempt-status-codes: 418

0 commit comments

Comments
 (0)