57 lines
2.1 KiB
YAML
57 lines
2.1 KiB
YAML
name: Browser Tests
|
|
|
|
# **What it does**: This runs our browser tests on pull requests.
|
|
# **Why we have it**: This is the only way we currently test our browser JavaScript.
|
|
# **Who does it impact**: Docs engineering, open-source engineering contributors.
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
push:
|
|
branches:
|
|
- main
|
|
pull_request:
|
|
|
|
jobs:
|
|
see_if_should_skip:
|
|
continue-on-error: true
|
|
runs-on: ubuntu-latest
|
|
# Map a step output to a job output
|
|
outputs:
|
|
should_skip: ${{ steps.skip_check.outputs.should_skip }}
|
|
steps:
|
|
- id: skip_check
|
|
uses: fkirc/skip-duplicate-actions@36feb0d8d062137530c2e00bd278d138fe191289
|
|
with:
|
|
cancel_others: 'false'
|
|
github_token: ${{ github.token }}
|
|
paths: '[".github/workflows/browser-test.yml","assets/**", "content/**", "data/**", "includes/**", "javascripts/**", "jest-puppeteer.config.js", "jest.config.js", "layouts/**", "lib/**", "middleware/**", "package-lock.json", "package.json", "server.js", "translations/**", "webpack.config.js"]'
|
|
build:
|
|
needs: see_if_should_skip
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
# Each of these ifs needs to be repeated at each step to make sure the required check still runs
|
|
# Even if if doesn't do anything
|
|
- if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' }}
|
|
name: Checkout
|
|
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
|
|
|
|
- if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' }}
|
|
name: Setup Node
|
|
uses: actions/setup-node@c46424eee26de4078d34105d3de3cc4992202b1e
|
|
with:
|
|
node-version: 14.x
|
|
|
|
- if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' }}
|
|
name: Install
|
|
uses: rachmari/puppeteer-container@6d56d6e132a3df76cf60bc290a4282f7fbaed05e
|
|
timeout-minutes: 5
|
|
with:
|
|
args: npm ci
|
|
|
|
- if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' }}
|
|
name: Test
|
|
timeout-minutes: 10
|
|
uses: rachmari/puppeteer-container@6d56d6e132a3df76cf60bc290a4282f7fbaed05e
|
|
with:
|
|
args: npm run browser-test
|