Skip to content
Permalink
Browse files

test: run all tests on arm linux platforms (#19318)

* test: run all tests on arm platforms

* Use Ubuntu 18.04 for arm64 CI
  • Loading branch information...
jkleinsc authored and codebytere committed Jul 19, 2019
1 parent dc30b86 commit e389fa75eace59e6e05d3b2275dbe4dd54dda594
Showing with 13 additions and 24 deletions.
  1. +4 −2 Dockerfile.arm64v8
  2. +2 −2 script/spec-runner.js
  3. +6 −17 vsts-arm-test-steps.yml
  4. +1 −3 vsts-arm64v8.yml
@@ -1,4 +1,4 @@
FROM arm64v8/ubuntu:16.04
FROM arm64v8/ubuntu:18.04

RUN groupadd --gid 1000 builduser \
&& useradd --uid 1000 --gid builduser --shell /bin/bash --create-home builduser
@@ -41,7 +41,6 @@ RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
nano \
python-setuptools \
python-pip \
python-dbusmock \
sudo \
unzip \
wget \
@@ -56,6 +55,9 @@ RUN curl -sL https://deb.nodesource.com/setup_10.x | bash - \
# crcmod is required by gsutil, which is used for filling the gclient git cache
RUN pip install -U crcmod

# dbusmock is needed for Electron tests
RUN pip install python-dbusmock

ADD tools/xvfb-init.sh /etc/init.d/xvfb
RUN chmod a+x /etc/init.d/xvfb

@@ -150,8 +150,8 @@ async function installSpecModules () {
cwd: path.resolve(__dirname, '../spec'),
stdio: 'inherit'
})
if (status !== 0) {
throw new Error('Failed to npm install in the spec folder')
if (status !== 0 && !process.env.IGNORE_YARN_INSTALL_ERROR) {
throw new Error('Failed to yarn install in the spec folder')
}
}

@@ -53,46 +53,35 @@ steps:
env:
CIRCLE_TOKEN: $(CIRCLECI_TOKEN)


- bash: |
cd src
export npm_config_nodedir=$PWD/out/Default/gen/node_headers
cd electron/spec
node ../script/yarn.js install --frozen-lockfile
displayName: Install test modules

- bash: |
sh -e /etc/init.d/xvfb start
displayName: Setup for headless testing
env:
DISPLAY: ":99.0"

- bash: |
cd src
./out/Default/electron electron/spec --ci --enable-logging
cd src
export ELECTRON_OUT_DIR=Default
(cd electron && node script/yarn test -- --ci --enable-logging)
displayName: 'Run Electron tests'
timeoutInMinutes: 10
timeoutInMinutes: 20
env:
ELECTRON_DISABLE_SANDBOX: 1
ELECTRON_DISABLE_SECURITY_WARNINGS: 1
IGNORE_YARN_INSTALL_ERROR: 1
ELECTRON_TEST_RESULTS_DIR: junit

- bash: |
cd src
python electron/script/verify-ffmpeg.py --source-root "$PWD" --build-dir out/Default --ffmpeg-path out/ffmpeg
displayName: Verify non proprietary ffmpeg
timeoutInMinutes: 5
env:
ELECTRON_DISABLE_SANDBOX: 1

- bash: |
cd src
echo Verify cross arch snapshot
python electron/script/verify-mksnapshot.py --source-root "$PWD" --build-dir out/Default --snapshot-files-dir $PWD/out/Default/cross-arch-snapshots
displayName: Verify cross arch snapshot
timeoutInMinutes: 5
env:
ELECTRON_DISABLE_SANDBOX: 1
condition: and(succeeded(), eq(variables['RUN_NATIVE_MKSNAPSHOT'], 'true'))

- task: PublishTestResults@2
displayName: 'Publish Test Results'
@@ -1,10 +1,8 @@
resources:
containers:
- container: arm64v8-test-container
image: electronbuilds/arm64v8:0.0.4
image: electronbuilds/arm64v8:0.0.5
options: --shm-size 128m
env:
RUN_NATIVE_MKSNAPSHOT: true

jobs:
- job: Test_Arm64

0 comments on commit e389fa7

Please sign in to comment.
You can’t perform that action at this time.