diff --git a/Dockerfile.arm64v8 b/Dockerfile.arm64v8 index 50f72bf98..03da9ae98 100644 --- a/Dockerfile.arm64v8 +++ b/Dockerfile.arm64v8 @@ -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 diff --git a/script/spec-runner.js b/script/spec-runner.js index 6e33b532f..309c2e9ca 100755 --- a/script/spec-runner.js +++ b/script/spec-runner.js @@ -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') } } diff --git a/vsts-arm-test-steps.yml b/vsts-arm-test-steps.yml index 4154c1255..d083f3179 100644 --- a/vsts-arm-test-steps.yml +++ b/vsts-arm-test-steps.yml @@ -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' diff --git a/vsts-arm64v8.yml b/vsts-arm64v8.yml index 5dd8c5fe1..c7a68534c 100644 --- a/vsts-arm64v8.yml +++ b/vsts-arm64v8.yml @@ -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