Skip to content

Commit 40afc3f

Browse files
committed
Build/Test Tools: Use the Slack notifications workflow as a reusable one.
This backports several changesets that are required to remove the reliance on the `workflow_run` event for posting Slack notifications. The Slack notification workflow will now be called as a reusable one, which has several benefits (see [53591]). Several other minor GitHub Actions related updates are also being backported in this commit to maintain tooling consistency across branches that still receive security updates as a courtesy when necessary. Workflows that are not relevant to this branch that were mistakenly backported are also being deleted. Merges [50473], [50704], [50796], [50930], [51341], [51355], [51498], [51511], [51535], [51924], [51925], [51937], [52002], [52130], [52183], [52233], [53112], [53581], [53582], [53592] to the 5.0 branch. See #56095. git-svn-id: https://develop.svn.wordpress.org/branches/5.0@53608 602fd350-edb4-49c9-b593-d223f7449a82
1 parent 74c6a51 commit 40afc3f

File tree

7 files changed

+145
-357
lines changed

7 files changed

+145
-357
lines changed

.github/workflows/coding-standards.yml

Lines changed: 28 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ on:
55
# PHPCS checking was introduced in WordPress 5.1.
66
push:
77
branches:
8-
- master
98
- trunk
109
- '3.[89]'
1110
- '[4-9].[0-9]'
@@ -14,7 +13,6 @@ on:
1413
- '[4-9].[0-9]*'
1514
pull_request:
1615
branches:
17-
- master
1816
- trunk
1917
- '3.[89]'
2018
- '[4-9].[0-9]'
@@ -34,30 +32,36 @@ on:
3432
- '.github/workflows/*.yml'
3533
workflow_dispatch:
3634

35+
# Cancels all previous workflow runs for pull requests that have not completed.
36+
concurrency:
37+
# The concurrency group contains the workflow name and the branch name for pull requests
38+
# or the commit hash for any other events.
39+
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
40+
cancel-in-progress: true
41+
3742
jobs:
3843
# Runs the JavaScript coding standards checks.
3944
#
4045
# JSHint violations are not currently reported inline with annotations.
4146
#
4247
# Performs the following steps:
4348
# - Checks out the repository.
44-
# - Logs debug information about the runner container.
45-
# - Installs NodeJS 14.
46-
# - Sets up caching for NPM.
49+
# - Logs debug information about the GitHub Action runner.
50+
# - Installs NodeJS.
4751
# - Logs updated debug information.
48-
# _ Installs NPM dependencies using install-changed to hash the `package.json` file.
52+
# _ Installs NPM dependencies.
4953
# - Run the WordPress JSHint checks.
50-
# - todo: Configure Slack notifications for failing tests.
5154
jshint:
5255
name: JavaScript coding standards
5356
runs-on: ubuntu-latest
57+
timeout-minutes: 20
5458
if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }}
5559
env:
5660
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: ${{ true }}
5761

5862
steps:
5963
- name: Checkout repository
60-
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4
64+
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # v3.0.2
6165

6266
- name: Log debug information
6367
run: |
@@ -67,18 +71,10 @@ jobs:
6771
svn --version
6872
6973
- name: Install NodeJS
70-
uses: actions/setup-node@46071b5c7a2e0c34e49c3cb8a0e792e86e18d5ea # v2.1.5
71-
with:
72-
node-version: 14
73-
74-
- name: Cache NodeJS modules
75-
uses: actions/cache@26968a09c0ea4f3e233fdddbafd1166051a095f6 # v2.1.4
76-
env:
77-
cache-name: cache-node-modules
74+
uses: actions/setup-node@eeb10cff27034e7acf239c5d29f62154018672fd # v3.3.0
7875
with:
79-
# npm cache files are stored in `~/.npm` on Linux/macOS
80-
path: ~/.npm
81-
key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }}
76+
node-version-file: '.nvmrc'
77+
cache: npm
8278

8379
- name: Log debug information
8480
run: |
@@ -90,3 +86,16 @@ jobs:
9086

9187
- name: Run JSHint
9288
run: npm run grunt jshint
89+
90+
slack-notifications:
91+
name: Slack Notifications
92+
uses: WordPress/wordpress-develop/.github/workflows/slack-notifications.yml@trunk
93+
needs: [ jshint ]
94+
if: ${{ github.repository == 'WordPress/wordpress-develop' && github.event_name != 'pull_request' && always() }}
95+
with:
96+
calling_status: ${{ needs.phpcs.result == 'success' && needs.jshint.result == 'success' && 'success' || ( needs.phpcs.result == 'cancelled' || needs.jshint.result == 'cancelled' ) && 'cancelled' || 'failure' }}
97+
secrets:
98+
SLACK_GHA_SUCCESS_WEBHOOK: ${{ secrets.SLACK_GHA_SUCCESS_WEBHOOK }}
99+
SLACK_GHA_CANCELLED_WEBHOOK: ${{ secrets.SLACK_GHA_CANCELLED_WEBHOOK }}
100+
SLACK_GHA_FIXED_WEBHOOK: ${{ secrets.SLACK_GHA_FIXED_WEBHOOK }}
101+
SLACK_GHA_FAILURE_WEBHOOK: ${{ secrets.SLACK_GHA_FAILURE_WEBHOOK }}

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

Lines changed: 0 additions & 122 deletions
This file was deleted.

.github/workflows/javascript-tests.yml

Lines changed: 28 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ on:
44
# JavaScript testing was introduced in WordPress 3.8.
55
push:
66
branches:
7-
- master
87
- trunk
98
- '3.[89]'
109
- '[4-9].[0-9]'
@@ -13,7 +12,6 @@ on:
1312
- '[4-9].[0-9]*'
1413
pull_request:
1514
branches:
16-
- master
1715
- trunk
1816
- '3.[89]'
1917
- '[4-9].[0-9]'
@@ -32,31 +30,32 @@ on:
3230
- '.github/workflows/*.yml'
3331
workflow_dispatch:
3432

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+
3540
jobs:
3641
# Runs the QUnit tests for WordPress.
3742
#
3843
# Performs the following steps:
39-
# - Cancels all previous workflow runs for pull requests that have not completed.
4044
# - Checks out the repository.
41-
# - Logs debug information about the runner container.
42-
# - Installs NodeJS 14.
43-
# - Sets up caching for NPM.
45+
# - Logs debug information about the GitHub Action runner.
46+
# - Installs NodeJS.
4447
# - Logs updated debug information.
45-
# _ Installs NPM dependencies using install-changed to hash the `package.json` file.
48+
# _ Installs NPM dependencies.
4649
# - Run the WordPress QUnit tests.
47-
# - todo: Configure Slack notifications for failing tests.
4850
test-js:
4951
name: QUnit Tests
5052
runs-on: ubuntu-latest
53+
timeout-minutes: 20
5154
if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }}
5255

5356
steps:
54-
- name: Cancel previous runs of this workflow (pull requests only)
55-
if: ${{ github.event_name == 'pull_request' }}
56-
uses: styfle/cancel-workflow-action@3d86a7cc43670094ac248017207be0295edbc31d # v0.8.0
57-
5857
- name: Checkout repository
59-
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4
58+
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # v3.0.2
6059

6160
- name: Log debug information
6261
run: |
@@ -66,18 +65,10 @@ jobs:
6665
svn --version
6766
6867
- name: Install NodeJS
69-
uses: actions/setup-node@46071b5c7a2e0c34e49c3cb8a0e792e86e18d5ea # v2.1.5
68+
uses: actions/setup-node@eeb10cff27034e7acf239c5d29f62154018672fd # v3.3.0
7069
with:
71-
node-version: 14
72-
73-
- name: Cache NodeJS modules
74-
uses: actions/cache@26968a09c0ea4f3e233fdddbafd1166051a095f6 # v2.1.4
75-
env:
76-
cache-name: cache-node-modules
77-
with:
78-
# npm cache files are stored in `~/.npm` on Linux/macOS
79-
path: ~/.npm
80-
key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }}
70+
node-version-file: '.nvmrc'
71+
cache: npm
8172

8273
- name: Log debug information
8374
run: |
@@ -89,3 +80,16 @@ jobs:
8980

9081
- name: Run QUnit tests
9182
run: npm run grunt qunit:compiled
83+
84+
slack-notifications:
85+
name: Slack Notifications
86+
uses: WordPress/wordpress-develop/.github/workflows/slack-notifications.yml@trunk
87+
needs: [ test-js ]
88+
if: ${{ github.repository == 'WordPress/wordpress-develop' && github.event_name != 'pull_request' && always() }}
89+
with:
90+
calling_status: ${{ needs.test-js.result == 'success' && 'success' || needs.test-js.result == 'cancelled' && 'cancelled' || 'failure' }}
91+
secrets:
92+
SLACK_GHA_SUCCESS_WEBHOOK: ${{ secrets.SLACK_GHA_SUCCESS_WEBHOOK }}
93+
SLACK_GHA_CANCELLED_WEBHOOK: ${{ secrets.SLACK_GHA_CANCELLED_WEBHOOK }}
94+
SLACK_GHA_FIXED_WEBHOOK: ${{ secrets.SLACK_GHA_FIXED_WEBHOOK }}
95+
SLACK_GHA_FAILURE_WEBHOOK: ${{ secrets.SLACK_GHA_FAILURE_WEBHOOK }}

.github/workflows/php-compatibility.yml

Lines changed: 0 additions & 79 deletions
This file was deleted.

0 commit comments

Comments
 (0)