643754dc67
Because workflow results are reported for each commit, it’s important to let all runs against main and version branches to complete so that the checks are reported accurately. When considering and reviewing pull requests, the only workflow run that matters is the most recent. Props ocean90, helen. See #50401. git-svn-id: https://develop.svn.wordpress.org/trunk@49244 602fd350-edb4-49c9-b593-d223f7449a82
69 lines
1.8 KiB
YAML
69 lines
1.8 KiB
YAML
name: JavaScript Tests
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
- '*.*'
|
|
pull_request:
|
|
|
|
jobs:
|
|
# Runs the QUnit tests for WordPress.
|
|
#
|
|
# Performs the following steps:
|
|
# - Cancels all previous workflow runs for pull requests that have not completed.
|
|
# - Checks out the repository.
|
|
# - Logs debug information about the runner container.
|
|
# - Installs NodeJS 12 (todo: install the version of NPM specified in the `.nvmrc` file to support older branches)
|
|
# - Sets up caching for NPM.
|
|
# - Logs updated debug information.
|
|
# _ Installs NPM dependencies.
|
|
# - Run the WordPress QUnit tests.
|
|
# - todo: Configure Slack notifications for failing tests.
|
|
test-js:
|
|
name: QUnit Tests
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Cancel previous runs of this workflow (pull requests only)
|
|
if: ${{ github.event_name == 'pull_request' }}
|
|
uses: styfle/cancel-workflow-action@0.5.0
|
|
with:
|
|
access_token: ${{ github.token }}
|
|
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Log debug information
|
|
run: |
|
|
npm --version
|
|
node --version
|
|
git --version
|
|
svn --version
|
|
|
|
- name: Install NodeJS
|
|
uses: actions/setup-node@v1
|
|
with:
|
|
node-version: 12
|
|
|
|
- name: Cache NodeJS modules
|
|
uses: actions/cache@v2
|
|
env:
|
|
cache-name: cache-node-modules
|
|
with:
|
|
# npm cache files are stored in `~/.npm` on Linux/macOS
|
|
path: ~/.npm
|
|
key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-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
|