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 15, 2022
1 parent a9758da commit 194a9b7
Show file tree
Hide file tree
Showing 11 changed files with 9,661 additions and 13,244 deletions.
35 changes: 23 additions & 12 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,40 +6,51 @@ 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
node-version: 16

- name: Install dependencies
run: npm ci

- 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
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
module.exports = {
presets: [["@babel/preset-env"]],
};
Loading

0 comments on commit 194a9b7

Please sign in to comment.