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

* test: run all tests on arm platforms

* Use Ubuntu 18.04 for arm64 CI
This commit is contained in:
John Kleinschmidt 2019-07-19 19:15:47 -04:00 committed by Shelley Vohr
parent dc30b86377
commit e389fa75ea
4 changed files with 13 additions and 24 deletions

View file

@ -1,4 +1,4 @@
FROM arm64v8/ubuntu:16.04 FROM arm64v8/ubuntu:18.04
RUN groupadd --gid 1000 builduser \ RUN groupadd --gid 1000 builduser \
&& useradd --uid 1000 --gid builduser --shell /bin/bash --create-home 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 \ nano \
python-setuptools \ python-setuptools \
python-pip \ python-pip \
python-dbusmock \
sudo \ sudo \
unzip \ unzip \
wget \ 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 # crcmod is required by gsutil, which is used for filling the gclient git cache
RUN pip install -U crcmod 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 ADD tools/xvfb-init.sh /etc/init.d/xvfb
RUN chmod a+x /etc/init.d/xvfb RUN chmod a+x /etc/init.d/xvfb

View file

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

View file

@ -53,14 +53,6 @@ steps:
env: env:
CIRCLE_TOKEN: $(CIRCLECI_TOKEN) 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: | - bash: |
sh -e /etc/init.d/xvfb start sh -e /etc/init.d/xvfb start
displayName: Setup for headless testing displayName: Setup for headless testing
@ -68,21 +60,21 @@ steps:
DISPLAY: ":99.0" DISPLAY: ":99.0"
- bash: | - bash: |
cd src cd src
./out/Default/electron electron/spec --ci --enable-logging export ELECTRON_OUT_DIR=Default
(cd electron && node script/yarn test -- --ci --enable-logging)
displayName: 'Run Electron tests' displayName: 'Run Electron tests'
timeoutInMinutes: 10 timeoutInMinutes: 20
env: env:
ELECTRON_DISABLE_SANDBOX: 1
ELECTRON_DISABLE_SECURITY_WARNINGS: 1 ELECTRON_DISABLE_SECURITY_WARNINGS: 1
IGNORE_YARN_INSTALL_ERROR: 1
ELECTRON_TEST_RESULTS_DIR: junit
- bash: | - bash: |
cd src cd src
python electron/script/verify-ffmpeg.py --source-root "$PWD" --build-dir out/Default --ffmpeg-path out/ffmpeg python electron/script/verify-ffmpeg.py --source-root "$PWD" --build-dir out/Default --ffmpeg-path out/ffmpeg
displayName: Verify non proprietary ffmpeg displayName: Verify non proprietary ffmpeg
timeoutInMinutes: 5 timeoutInMinutes: 5
env:
ELECTRON_DISABLE_SANDBOX: 1
- bash: | - bash: |
cd src cd src
@ -90,9 +82,6 @@ steps:
python electron/script/verify-mksnapshot.py --source-root "$PWD" --build-dir out/Default --snapshot-files-dir $PWD/out/Default/cross-arch-snapshots 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 displayName: Verify cross arch snapshot
timeoutInMinutes: 5 timeoutInMinutes: 5
env:
ELECTRON_DISABLE_SANDBOX: 1
condition: and(succeeded(), eq(variables['RUN_NATIVE_MKSNAPSHOT'], 'true'))
- task: PublishTestResults@2 - task: PublishTestResults@2
displayName: 'Publish Test Results' displayName: 'Publish Test Results'

View file

@ -1,10 +1,8 @@
resources: resources:
containers: containers:
- container: arm64v8-test-container - container: arm64v8-test-container
image: electronbuilds/arm64v8:0.0.4 image: electronbuilds/arm64v8:0.0.5
options: --shm-size 128m options: --shm-size 128m
env:
RUN_NATIVE_MKSNAPSHOT: true
jobs: jobs:
- job: Test_Arm64 - job: Test_Arm64