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:
Родитель
dc30b86377
Коммит
e389fa75ea
|
@ -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,14 +53,6 @@ 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
|
||||
|
@ -68,21 +60,21 @@ steps:
|
|||
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
|
||||
|
@ -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
|
||||
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
|
||||
|
|
Загрузка…
Ссылка в новой задаче