@@ -2,19 +2,10 @@ name: Electron Integration Tests
22
33on :
44 push :
5- branches : [ main ]
6- paths :
7- - ' products/jbrowse-desktop/**'
8- - ' packages/app-core/**'
9- - ' packages/core/**'
10- - ' .github/workflows/electron-tests.yml'
11- pull_request :
12- branches : [ main ]
13- paths :
14- - ' products/jbrowse-desktop/**'
15- - ' packages/app-core/**'
16- - ' packages/core/**'
17- - ' .github/workflows/electron-tests.yml'
5+ branches :
6+ - ' *'
7+ tags :
8+ - ' *'
189
1910# Allow one concurrent deployment
2011concurrency :
@@ -24,190 +15,190 @@ concurrency:
2415jobs :
2516 electron-tests :
2617 runs-on : ubuntu-latest
27-
18+
2819 strategy :
2920 matrix :
3021 node-version : [18.x]
31-
22+
3223 steps :
33- - name : Checkout repository
34- uses : actions/checkout@v4
35- with :
36- fetch-depth : 0
37-
38- - name : Use Node.js ${{ matrix.node-version }}
39- uses : actions/setup-node@v4
40- with :
41- node-version : ${{ matrix.node-version }}
42- cache : ' yarn'
43-
44- - name : Install system dependencies
45- run : |
46- sudo apt-get update
47- sudo apt-get install -y \
48- xvfb \
49- libnss3-dev \
50- libatk-bridge2.0-dev \
51- libdrm2 \
52- libxkbcommon-dev \
53- libxss1 \
54- libasound2-dev \
55- libgtk-3-dev \
56- libgbm-dev \
57- libxrandr2 \
58- libasound2 \
59- libpangocairo-1.0-0 \
60- libatk1.0-0 \
61- libcairo-gobject2 \
62- libgtk-3-0 \
63- libgdk-pixbuf2.0-0
64-
65- - name : Install dependencies
66- run : yarn install --frozen-lockfile
67-
68- - name : Build core packages
69- run : yarn build
70-
71- - name : Build desktop app
72- run : |
73- cd products/jbrowse-desktop
74- yarn build
75-
76- - name : Install desktop dependencies
77- run : |
78- cd products/jbrowse-desktop
79- yarn install --frozen-lockfile
80-
81- - name : Run integration tests
82- run : |
83- cd products/jbrowse-desktop
84- yarn test:integration:ci
85- env :
86- CI : true
87- NODE_ENV : test
88- ELECTRON_ENABLE_LOGGING : false
89- ELECTRON_DISABLE_SECURITY_WARNINGS : true
90-
91- - name : Upload test results
92- if : always()
93- uses : actions/upload-artifact@v4
94- with :
95- name : electron-test-results
96- path : |
97- products/jbrowse-desktop/wdio-logs/
98- products/jbrowse-desktop/test-results/
99- retention-days : 30
100-
101- - name : Upload screenshots on failure
102- if : failure()
103- uses : actions/upload-artifact@v4
104- with :
105- name : electron-test-screenshots
106- path : |
107- products/jbrowse-desktop/screenshots/
108- products/jbrowse-desktop/wdio-logs/
109- retention-days : 7
24+ - name : Checkout repository
25+ uses : actions/checkout@v4
26+ with :
27+ fetch-depth : 0
28+
29+ - name : Use Node.js ${{ matrix.node-version }}
30+ uses : actions/setup-node@v4
31+ with :
32+ node-version : ${{ matrix.node-version }}
33+ cache : ' yarn'
34+
35+ - name : Install system dependencies
36+ run : |
37+ sudo apt-get update
38+ sudo apt-get install -y \
39+ xvfb \
40+ libnss3-dev \
41+ libatk-bridge2.0-dev \
42+ libdrm2 \
43+ libxkbcommon-dev \
44+ libxss1 \
45+ libasound2-dev \
46+ libgtk-3-dev \
47+ libgbm-dev \
48+ libxrandr2 \
49+ libasound2 \
50+ libpangocairo-1.0-0 \
51+ libatk1.0-0 \
52+ libcairo-gobject2 \
53+ libgtk-3-0 \
54+ libgdk-pixbuf2.0-0
55+
56+ - name : Install dependencies
57+ run : yarn install --frozen-lockfile
58+
59+ - name : Build core packages
60+ run : yarn build
61+
62+ - name : Build desktop app
63+ run : |
64+ cd products/jbrowse-desktop
65+ yarn build
66+
67+ - name : Install desktop dependencies
68+ run : |
69+ cd products/jbrowse-desktop
70+ yarn install --frozen-lockfile
71+
72+ - name : Run integration tests
73+ run : |
74+ cd products/jbrowse-desktop
75+ yarn test:integration:ci
76+ env :
77+ CI : true
78+ NODE_ENV : test
79+ ELECTRON_ENABLE_LOGGING : false
80+ ELECTRON_DISABLE_SECURITY_WARNINGS : true
81+
82+ - name : Upload test results
83+ if : always()
84+ uses : actions/upload-artifact@v4
85+ with :
86+ name : electron-test-results
87+ path : |
88+ products/jbrowse-desktop/wdio-logs/
89+ products/jbrowse-desktop/test-results/
90+ retention-days : 30
91+
92+ - name : Upload screenshots on failure
93+ if : failure()
94+ uses : actions/upload-artifact@v4
95+ with :
96+ name : electron-test-screenshots
97+ path : |
98+ products/jbrowse-desktop/screenshots/
99+ products/jbrowse-desktop/wdio-logs/
100+ retention-days : 7
110101
111102 electron-tests-windows :
112103 runs-on : windows-latest
113-
104+
114105 steps :
115- - name : Checkout repository
116- uses : actions/checkout@v4
117- with :
118- fetch-depth : 0
119-
120- - name : Use Node.js 18.x
121- uses : actions/setup-node@v4
122- with :
123- node-version : 18.x
124- cache : ' yarn'
125-
126- - name : Install dependencies
127- run : yarn install --frozen-lockfile
128-
129- - name : Build core packages
130- run : yarn build
131-
132- - name : Build desktop app
133- run : |
134- cd products/jbrowse-desktop
135- yarn build
136-
137- - name : Install desktop dependencies
138- run : |
139- cd products/jbrowse-desktop
140- yarn install --frozen-lockfile
141-
142- - name : Run integration tests
143- run : |
144- cd products/jbrowse-desktop
145- yarn test:integration
146- env :
147- CI : true
148- NODE_ENV : test
149- ELECTRON_ENABLE_LOGGING : false
150- ELECTRON_DISABLE_SECURITY_WARNINGS : true
151-
152- - name : Upload test results
153- if : always()
154- uses : actions/upload-artifact@v4
155- with :
156- name : electron-test-results-windows
157- path : |
158- products/jbrowse-desktop/wdio-logs/
159- products/jbrowse-desktop/test-results/
160- products/jbrowse-desktop/screenshots/
161- retention-days : 30
106+ - name : Checkout repository
107+ uses : actions/checkout@v4
108+ with :
109+ fetch-depth : 0
110+
111+ - name : Use Node.js 18.x
112+ uses : actions/setup-node@v4
113+ with :
114+ node-version : 18.x
115+ cache : ' yarn'
116+
117+ - name : Install dependencies
118+ run : yarn install --frozen-lockfile
119+
120+ - name : Build core packages
121+ run : yarn build
122+
123+ - name : Build desktop app
124+ run : |
125+ cd products/jbrowse-desktop
126+ yarn build
127+
128+ - name : Install desktop dependencies
129+ run : |
130+ cd products/jbrowse-desktop
131+ yarn install --frozen-lockfile
132+
133+ - name : Run integration tests
134+ run : |
135+ cd products/jbrowse-desktop
136+ yarn test:integration
137+ env :
138+ CI : true
139+ NODE_ENV : test
140+ ELECTRON_ENABLE_LOGGING : false
141+ ELECTRON_DISABLE_SECURITY_WARNINGS : true
142+
143+ - name : Upload test results
144+ if : always()
145+ uses : actions/upload-artifact@v4
146+ with :
147+ name : electron-test-results-windows
148+ path : |
149+ products/jbrowse-desktop/wdio-logs/
150+ products/jbrowse-desktop/test-results/
151+ products/jbrowse-desktop/screenshots/
152+ retention-days : 30
162153
163154 electron-tests-macos :
164155 runs-on : macos-latest
165-
156+
166157 steps :
167- - name : Checkout repository
168- uses : actions/checkout@v4
169- with :
170- fetch-depth : 0
171-
172- - name : Use Node.js 18.x
173- uses : actions/setup-node@v4
174- with :
175- node-version : 18.x
176- cache : ' yarn'
177-
178- - name : Install dependencies
179- run : yarn install --frozen-lockfile
180-
181- - name : Build core packages
182- run : yarn build
183-
184- - name : Build desktop app
185- run : |
186- cd products/jbrowse-desktop
187- yarn build
188-
189- - name : Install desktop dependencies
190- run : |
191- cd products/jbrowse-desktop
192- yarn install --frozen-lockfile
193-
194- - name : Run integration tests
195- run : |
196- cd products/jbrowse-desktop
197- yarn test:integration
198- env :
199- CI : true
200- NODE_ENV : test
201- ELECTRON_ENABLE_LOGGING : false
202- ELECTRON_DISABLE_SECURITY_WARNINGS : true
203-
204- - name : Upload test results
205- if : always()
206- uses : actions/upload-artifact@v4
207- with :
208- name : electron-test-results-macos
209- path : |
210- products/jbrowse-desktop/wdio-logs/
211- products/jbrowse-desktop/test-results/
212- products/jbrowse-desktop/screenshots/
213- retention-days : 30
158+ - name : Checkout repository
159+ uses : actions/checkout@v4
160+ with :
161+ fetch-depth : 0
162+
163+ - name : Use Node.js 18.x
164+ uses : actions/setup-node@v4
165+ with :
166+ node-version : 18.x
167+ cache : ' yarn'
168+
169+ - name : Install dependencies
170+ run : yarn install --frozen-lockfile
171+
172+ - name : Build core packages
173+ run : yarn build
174+
175+ - name : Build desktop app
176+ run : |
177+ cd products/jbrowse-desktop
178+ yarn build
179+
180+ - name : Install desktop dependencies
181+ run : |
182+ cd products/jbrowse-desktop
183+ yarn install --frozen-lockfile
184+
185+ - name : Run integration tests
186+ run : |
187+ cd products/jbrowse-desktop
188+ yarn test:integration
189+ env :
190+ CI : true
191+ NODE_ENV : test
192+ ELECTRON_ENABLE_LOGGING : false
193+ ELECTRON_DISABLE_SECURITY_WARNINGS : true
194+
195+ - name : Upload test results
196+ if : always()
197+ uses : actions/upload-artifact@v4
198+ with :
199+ name : electron-test-results-macos
200+ path : |
201+ products/jbrowse-desktop/wdio-logs/
202+ products/jbrowse-desktop/test-results/
203+ products/jbrowse-desktop/screenshots/
204+ retention-days : 30
0 commit comments