5858 else
5959 echo 'Skipping upload distribution because build is not for release'
6060 fi
61+ - run :
62+ name : Zip out directory
63+ command : |
64+ if [ "$ELECTRON_RELEASE" != "1" ]; then
65+ zip -r electron.zip out/D
66+ fi
67+ - persist_to_workspace :
68+ root : /home/builduser
69+ paths :
70+ - project/out
71+ - store_artifacts :
72+ path : electron.zip
73+ electron-linux-arm-test :
74+ machine : true
75+ steps :
76+ - attach_workspace :
77+ at : /tmp/workspace
78+ - checkout
79+ - run :
80+ name : Test in ARM docker container
81+ command : |
82+ if [ "$ELECTRON_RELEASE" != "1" ]; then
83+ docker run --rm --privileged multiarch/qemu-user-static:register --reset
84+ docker run -it \
85+ --mount type=bind,source=/tmp/workspace,target=/tmp/workspace \
86+ --rm electronbuilds/electronarm7:0.0.4 > version.txt
87+ cat version.txt
88+ if grep -q `script/get-version.py` version.txt; then
89+ echo "Versions match"
90+ else
91+ echo "Versions do not match"
92+ exit 1
93+ fi
94+ if grep -q "core dumped" version.txt; then
95+ echo "Core dump detected"
96+ exit 1
97+ fi
98+ else
99+ echo "Skipping test for release build"
100+ fi
61101 electron-linux-arm64 :
62102 docker :
63103 - image : electronbuilds/electron:0.0.4
@@ -115,6 +155,46 @@ jobs:
115155 else
116156 echo 'Skipping upload distribution because build is not for release'
117157 fi
158+ - run :
159+ name : Zip out directory
160+ command : |
161+ if [ "$ELECTRON_RELEASE" != "1" ]; then
162+ zip -r electron.zip out/D
163+ fi
164+ - persist_to_workspace :
165+ root : /home/builduser
166+ paths :
167+ - project/out
168+ - store_artifacts :
169+ path : electron.zip
170+ electron-linux-arm64-test :
171+ machine : true
172+ steps :
173+ - attach_workspace :
174+ at : /tmp/workspace
175+ - checkout
176+ - run :
177+ name : Test in ARM64 docker container
178+ command : |
179+ if [ "$ELECTRON_RELEASE" != "1" ]; then
180+ docker run --rm --privileged multiarch/qemu-user-static:register --reset
181+ docker run -it \
182+ --mount type=bind,source=/tmp/workspace,target=/tmp/workspace \
183+ --rm electronbuilds/electronarm64:0.0.5 > version.txt
184+ cat version.txt
185+ if grep -q `script/get-version.py` version.txt; then
186+ echo "Versions match"
187+ else
188+ echo "Versions do not match"
189+ exit 1
190+ fi
191+ if grep -q "core dumped" version.txt; then
192+ echo "Core dump detected"
193+ exit 1
194+ fi
195+ else
196+ echo "Skipping test for release build"
197+ fi
118198 electron-linux-ia32 :
119199 docker :
120200 - image : electronbuilds/electron:0.0.4
@@ -123,6 +203,9 @@ jobs:
123203 resource_class : xlarge
124204 steps :
125205 - checkout
206+ - run :
207+ name : Setup for headless testing
208+ command : sh -e /etc/init.d/xvfb start
126209 - run :
127210 name : Check for release
128211 command : |
@@ -172,6 +255,29 @@ jobs:
172255 else
173256 echo 'Skipping upload distribution because build is not for release'
174257 fi
258+ - run :
259+ name : Test
260+ environment :
261+ MOCHA_FILE : junit/test-results.xml
262+ MOCHA_REPORTER : mocha-junit-reporter
263+ command : |
264+ if [ "$ELECTRON_RELEASE" != "1" ]; then
265+ echo 'Testing Electron debug build'
266+ out/D/electron --version
267+ mkdir junit
268+ script/test.py --ci --rebuild_native_modules
269+ else
270+ echo 'Skipping testing on release build'
271+ fi
272+ - run :
273+ name : Verify FFmpeg
274+ command : |
275+ if [ "$ELECTRON_RELEASE" != "1" ]; then
276+ echo 'Verifying ffmpeg on debug build'
277+ script/verify-ffmpeg.py
278+ else
279+ echo 'Skipping verify ffmpeg on release build'
280+ fi
175281 electron-linux-mips64el :
176282 docker :
177283 - image : electronbuilds/electron:0.0.4
@@ -330,12 +436,18 @@ workflows:
330436 build-arm :
331437 jobs :
332438 - electron-linux-arm
439+ - electron-linux-arm-test :
440+ requires :
441+ - electron-linux-arm
333442 build-arm64 :
334443 jobs :
335444 - electron-linux-arm64
445+ - electron-linux-arm64-test :
446+ requires :
447+ - electron-linux-arm64
336448 build-ia32 :
337449 jobs :
338450 - electron-linux-ia32
339451 build-x64 :
340- jobs :
341- - electron-linux-x64
452+ jobs :
453+ - electron-linux-x64
0 commit comments