mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2025-10-16 12:05:38 +00:00
When using a workflow as a callable workflow, the job status check functions do not take the called workflow into account. This has caused some failures to be incorrectly reported as successful. This adds an input to the Slack notifications workflow for when the `workflow_call` event is used. See #53363. git-svn-id: https://develop.svn.wordpress.org/trunk@52002 602fd350-edb4-49c9-b593-d223f7449a82
101 lines
3.3 KiB
YAML
101 lines
3.3 KiB
YAML
name: JavaScript Tests
|
|
|
|
on:
|
|
# JavaScript testing was introduced in WordPress 3.8.
|
|
push:
|
|
branches:
|
|
- master
|
|
- trunk
|
|
- '3.[89]'
|
|
- '[4-9].[0-9]'
|
|
tags:
|
|
- '3.[89]*'
|
|
- '[4-9].[0-9]*'
|
|
pull_request:
|
|
branches:
|
|
- master
|
|
- trunk
|
|
- '3.[89]'
|
|
- '[4-9].[0-9]'
|
|
paths:
|
|
# Any change to a JavaScript file should run tests.
|
|
- '**.js'
|
|
# These files configure NPM. Changes could affect the outcome.
|
|
- 'package*.json'
|
|
# This file configures ESLint. Changes could affect the outcome.
|
|
- '.eslintignore'
|
|
# This file configures JSHint. Changes could affect the outcome.
|
|
- '.jshintrc'
|
|
# Any change to the QUnit directory should run tests.
|
|
- 'tests/qunit/**'
|
|
# Changes to workflow files should always verify all workflows are successful.
|
|
- '.github/workflows/*.yml'
|
|
workflow_dispatch:
|
|
|
|
# Cancels all previous workflow runs for pull requests that have not completed.
|
|
concurrency:
|
|
# The concurrency group contains the workflow name and the branch name for pull requests
|
|
# or the commit hash for any other events.
|
|
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
# Runs the QUnit tests for WordPress.
|
|
#
|
|
# Performs the following steps:
|
|
# - Checks out the repository.
|
|
# - Logs debug information about the runner container.
|
|
# - Installs NodeJS 14.
|
|
# - Logs updated debug information.
|
|
# _ Installs NPM dependencies using install-changed to hash the `package.json` file.
|
|
# - Run the WordPress QUnit tests.
|
|
# - Ensures version-controlled files are not modified or deleted.
|
|
test-js:
|
|
name: QUnit Tests
|
|
runs-on: ubuntu-latest
|
|
if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }}
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4
|
|
|
|
- name: Log debug information
|
|
run: |
|
|
npm --version
|
|
node --version
|
|
git --version
|
|
svn --version
|
|
|
|
- name: Install NodeJS
|
|
uses: actions/setup-node@38d90ce44d5275ad62cc48384b3d8a58c500bb5f # v2.2.2
|
|
with:
|
|
node-version: 14
|
|
cache: npm
|
|
|
|
- name: Log debug information
|
|
run: |
|
|
npm --version
|
|
node --version
|
|
|
|
- name: Install Dependencies
|
|
run: npm ci
|
|
|
|
- name: Run QUnit tests
|
|
run: npm run grunt qunit:compiled
|
|
|
|
- name: Ensure version-controlled files are not modified or deleted
|
|
run: git diff --exit-code
|
|
|
|
slack-notifications:
|
|
name: Slack Notifications
|
|
uses: WordPress/wordpress-develop/.github/workflows/slack-notifications.yml@master
|
|
needs: [ test-js ]
|
|
if: ${{ github.repository == 'WordPress/wordpress-develop' && github.event_name != 'pull_request' && always() }}
|
|
with:
|
|
calling_status: ${{ needs.test-js.result == 'success' && 'success' || needs.test-js.result == 'cancelled' && 'cancelled' || 'failure' }}
|
|
secrets:
|
|
SLACK_GHA_SUCCESS_WEBHOOK: ${{ secrets.SLACK_GHA_SUCCESS_WEBHOOK }}
|
|
SLACK_GHA_CANCELLED_WEBHOOK: ${{ secrets.SLACK_GHA_CANCELLED_WEBHOOK }}
|
|
SLACK_GHA_FIXED_WEBHOOK: ${{ secrets.SLACK_GHA_FIXED_WEBHOOK }}
|
|
SLACK_GHA_FAILURE_WEBHOOK: ${{ secrets.SLACK_GHA_FAILURE_WEBHOOK }}
|