Skip to content

Commit

Permalink
ci: migrate from zuul to webdriver.io
Browse files Browse the repository at this point in the history
zuul is now archived [1] and does not support the new W3C WebDriver
protocol, since it relies on the wd package [2] under the hood, which
uses the (now deprecated) JSON Wire Protocol.

We will now use the webdriver.io test framework, which allows to run
our tests in local and on Sauce Labs (cross-browser and mobile tests).
This allows us to run our tests on latest versions of Android and iOS,
since Sauce Labs only supports the W3C WebDriver protocol for these
platforms ([3]).

[1]: https://github.com/defunctzombie/zuul
[2]: https://github.com/admc/wd
[3]: https://docs.saucelabs.com/dev/w3c-webdriver-capabilities/
  • Loading branch information
darrachequesne committed Nov 17, 2022
1 parent e891289 commit d882822
Show file tree
Hide file tree
Showing 20 changed files with 13,890 additions and 21,747 deletions.
38 changes: 25 additions & 13 deletions .github/workflows/ci.yml
Expand Up @@ -6,40 +6,52 @@ on:
schedule:
- cron: '0 0 * * 0'

permissions:
contents: read

jobs:
test-node:
runs-on: ubuntu-latest
timeout-minutes: 10

strategy:
matrix:
node-version: [14, 16]

steps:
- uses: actions/checkout@v3
- name: Checkout repository
uses: actions/checkout@v3

- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- run: npm ci
- run: npm test
env:
CI: true

- name: Install dependencies
run: npm ci

- name: Run tests
run: npm test

test-browser:
runs-on: ubuntu-latest
timeout-minutes: 10

steps:
- uses: actions/checkout@v3
- name: Use Node.js
- name: Checkout repository
uses: actions/checkout@v3

- name: Use Node.js 16
uses: actions/setup-node@v3
with:
node-version: '10.x'
- run: npm ci
- run: npm test
node-version: 16

- name: Install dependencies
run: npm ci

- name: Run tests
run: npm test
env:
CI: true
BROWSERS: 1
NGROK_AUTH_TOKEN: ${{ secrets.NGROK_AUTH_TOKEN }}
SAUCE_USERNAME: ${{ secrets.SAUCE_USERNAME }}
SAUCE_ACCESS_KEY: ${{ secrets.SAUCE_ACCESS_KEY }}
timeout-minutes: 20
3 changes: 3 additions & 0 deletions babel.config.js
@@ -0,0 +1,3 @@
module.exports = {
presets: [["@babel/preset-env"]],
};

0 comments on commit d882822

Please sign in to comment.