fixes #76: wdio async api #154
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Browser Tests | |
on: | |
push: | |
branches: [master] | |
pull_request: | |
branches: [master] | |
jobs: | |
### | |
# Wait for Netlify Deploy Preview to build and deploy | |
### | |
netlify: | |
runs-on: ubuntu-16.04 | |
timeout-minutes: 10 | |
outputs: | |
url: ${{ steps.netlify.outputs.url }} | |
steps: | |
- uses: probablyup/wait-for-netlify-action@3.2.0 | |
id: netlify | |
with: | |
site_id: "844b606a-25da-425c-9eb4-f2f362f9a9bc" | |
max_timeout: 300 | |
env: | |
NETLIFY_TOKEN: ${{secrets.NETLIFY_TOKEN}} | |
### | |
# Cypress Chrome tests | |
### | |
cypress-chrome: | |
runs-on: ubuntu-16.04 | |
timeout-minutes: 15 | |
needs: netlify | |
container: | |
image: cypress/browsers:node12.14.1-chrome83-ff77 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
# Run all Cypress tests | |
- name: Tests on Chrome | |
uses: cypress-io/github-action@v2 | |
with: | |
# Substitute Netlify Deploy Preview URL to test | |
config: baseUrl=${{ needs.netlify.outputs.url }} | |
browser: chrome | |
working-directory: e2e | |
# Upload artifacts | |
- uses: actions/upload-artifact@v1 | |
if: failure() | |
with: | |
name: cypress-chrome-screenshots | |
path: e2e/cypress/screenshots | |
- uses: actions/upload-artifact@v1 | |
if: failure() | |
with: | |
name: cypress-chrome-videos | |
path: e2e/cypress/videos | |
### | |
# Cypress Microsoft Edge tests | |
### | |
cypress-edge: | |
runs-on: windows-latest | |
timeout-minutes: 20 | |
needs: netlify | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- uses: cypress-io/github-action@v2 | |
with: | |
config: baseUrl=${{ needs.netlify.outputs.url }} | |
browser: edge | |
working-directory: e2e | |
- uses: actions/upload-artifact@v1 | |
if: failure() | |
with: | |
name: cypress-edge-screenshots | |
path: e2e/cypress/screenshots | |
- uses: actions/upload-artifact@v1 | |
if: failure() | |
with: | |
name: cypress-edge-videos | |
path: e2e/cypress/videos | |
### | |
# Cypress Firefox tests | |
### | |
cypress-firefox: | |
runs-on: ubuntu-16.04 | |
timeout-minutes: 15 | |
needs: netlify | |
container: | |
image: cypress/browsers:node12.14.1-chrome83-ff77 | |
options: --user 1001 --shm-size=2g | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- uses: cypress-io/github-action@v2 | |
with: | |
config: baseUrl=${{ needs.netlify.outputs.url }} | |
browser: firefox | |
working-directory: e2e | |
- uses: actions/upload-artifact@v1 | |
if: failure() | |
with: | |
name: cypress-firefox-screenshots | |
path: e2e/cypress/screenshots | |
- uses: actions/upload-artifact@v1 | |
if: failure() | |
with: | |
name: cypress-firefox-videos | |
path: e2e/cypress/videos | |
### | |
# WebdriverIO Chrome tests | |
### | |
wdio-chrome: | |
runs-on: ubuntu-latest | |
needs: netlify | |
container: | |
image: ianwalter/puppeteer:v4.0.0 | |
timeout-minutes: 10 | |
defaults: | |
run: | |
working-directory: e2e | |
steps: | |
- uses: actions/checkout@v2 | |
- run: npm ci | |
- run: npm run wdio | |
env: | |
WDIO_BASE_URL: ${{ needs.netlify.outputs.url }} | |
- uses: actions/upload-artifact@v1 | |
if: failure() | |
with: | |
name: wdio-logs | |
path: e2e/wdio/logs | |
- uses: actions/upload-artifact@v1 | |
if: failure() | |
with: | |
name: wdio-screenshots | |
path: e2e/wdio/screenshots | |
### | |
# WebdriverIO BrowserStack tests | |
## | |
wdio-browserstack: | |
runs-on: ubuntu-latest | |
needs: netlify | |
container: | |
image: ianwalter/puppeteer:v4.0.0 | |
timeout-minutes: 10 | |
defaults: | |
run: | |
working-directory: e2e | |
steps: | |
- uses: actions/checkout@v2 | |
- run: npm ci | |
- run: npm run wdio:bs | |
env: | |
WDIO_BASE_URL: ${{ needs.netlify.outputs.url }} | |
BROWSERSTACK_USERNAME: ${{ secrets.BROWSERSTACK_USERNAME }} | |
BROWSERSTACK_ACCESS_KEY: ${{ secrets.BROWSERSTACK_ACCESS_KEY }} |