-
Notifications
You must be signed in to change notification settings - Fork 272
69 lines (67 loc) · 2.29 KB
/
Checks.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
name: PR Checks
on:
push:
branches:
- main
pull_request:
jobs:
'Checking':
runs-on: ${{ matrix.os }}
strategy:
matrix:
# Ubuntu is not ubuntu-latest as that is causing hangs in the CI
os: [macos-latest, ubuntu-20.04, windows-latest]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18
cache: 'npm'
- name: ' Startup ChromeDriver and Display in Ubuntu'
shell: bash
if: matrix.os == 'ubuntu-20.04'
run: |
export DISPLAY=:99
# TODO: need to download driver according to electron's version
wget --directory-prefix=/tmp https://chromedriver.storage.googleapis.com/100.0.4896.20/chromedriver_linux64.zip
unzip -d /tmp/chromedriver /tmp/chromedriver_linux64.zip
sudo chmod +x /tmp/chromedriver/chromedriver
/tmp/chromedriver/chromedriver &
sudo Xvfb -ac :99 -screen 0 1280x1024x24 > /dev/null 2>&1 &
- name: ' Install Dependencies'
shell: bash
run: |
npm install
- name: ' Lint'
shell: bash
run: |
npm run lint
- name: ' Tests'
shell: bash
env:
OS: ${{ matrix.os }}
run: |
if [[ $OS == 'ubuntu-20.04' ]]; then
# Avoid "failed to connect to the bus" errors on CI https://github.com/microsoft/WSL/issues/7915
export XDG_RUNTIME_DIR=/run/user/$(id -u)
sudo mkdir -p $XDG_RUNTIME_DIR
sudo chmod 700 $XDG_RUNTIME_DIR
sudo chown $(id -un):$(id -gn) $XDG_RUNTIME_DIR
export DBUS_SESSION_BUS_ADDRESS=unix:path=$XDG_RUNTIME_DIR/bus
# For ChromeDriver to work
export DISPLAY=':99'
fi
npm run test:jest
- name: ' Create COV_REPORT'
run: |
mkdir COV_REPORT
- name: ' Copy jest results'
run: |
cp coverage_jest/coverage-final.json COV_REPORT/coverage-final-jest.json
- name: ' CodeCov'
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: COV_REPORT/coverage-final-jest.json
name: codecov-${{ matrix.os }}
verbose: true