From 83d9d530ca5e9c9cb75e0acfe8f62c60d7edaa4a Mon Sep 17 00:00:00 2001 From: Jack Franklin Date: Wed, 8 Apr 2020 10:38:07 +0100 Subject: [PATCH] chore: update CI to run Travis + Linux + Chromium (#5583) Our CI build has been incredibly flaky across all three of our current CIs: * Appveyor: Chromium + Windows * Travis: Firefox + Linux, Chromium + Linux * Cirrus: Chromium + Linux, Chromium + Mac Legitimate issues and errors have been missed because it's expected that the CI is red and therefore it's not seen as an issue when a PR's build fails. We should have a build that covers the full combo of browsers and operating systems but it's more important to have a consistent, reliable green build where failures are genuine. So this commit strips our CI back to Chromium on Linux on Travis, and nothing more. Once this is stable we will expand out into more operating systems and bring back Firefox, too. --- .appveyor.yml | 15 --------------- .cirrus.yml | 32 -------------------------------- .travis.yml | 31 +++++++------------------------ travis/chromium.sh | 8 ++++++++ 4 files changed, 15 insertions(+), 71 deletions(-) delete mode 100644 .appveyor.yml delete mode 100644 .cirrus.yml create mode 100755 travis/chromium.sh diff --git a/.appveyor.yml b/.appveyor.yml deleted file mode 100644 index 0341893e7eee1..0000000000000 --- a/.appveyor.yml +++ /dev/null @@ -1,15 +0,0 @@ -environment: - matrix: - - nodejs_version: "10.18.1" - -build: off - -install: - - ps: Install-Product node $env:nodejs_version - - npm install - - if "%nodejs_version%" == "10.18.1" ( - npm run lint && - npm run coverage && - npm run test-doclint && - npm run test-types - ) diff --git a/.cirrus.yml b/.cirrus.yml deleted file mode 100644 index 8848a10376f01..0000000000000 --- a/.cirrus.yml +++ /dev/null @@ -1,32 +0,0 @@ -env: - DISPLAY: :99.0 - -task: - matrix: - - name: Chromium (node10 + linux) - container: - dockerfile: .ci/node10/Dockerfile.linux - - name: Chromium (node12 + linux) - container: - dockerfile: .ci/node12/Dockerfile.linux - xvfb_start_background_script: Xvfb :99 -ac -screen 0 1024x768x24 - install_script: npm install --unsafe-perm - lint_script: npm run lint - coverage_script: npm run coverage - test_doclint_script: npm run test-doclint - test_types_script: npm run test-types - -task: - osx_instance: - image: high-sierra-base - name: Chromium (node10 + macOS) - env: - HOMEBREW_NO_AUTO_UPDATE: 1 - node_install_script: - - brew install node@10 - - brew link --force node@10 - install_script: npm install --unsafe-perm - lint_script: npm run lint - coverage_script: npm run coverage - test_doclint_script: npm run test-doclint - test_types_script: npm run test-types diff --git a/.travis.yml b/.travis.yml index ae1b8cc120aeb..d0acc8f516165 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,5 @@ language: node_js +os: linux dist: trusty addons: apt: @@ -10,31 +11,13 @@ notifications: cache: directories: - node_modules -# allow headful tests -before_install: - - "sysctl kernel.unprivileged_userns_clone=1" - - "export DISPLAY=:99.0" - - "sh -e /etc/init.d/xvfb start" - - 'if [ "$FIREFOX" = "true" ]; then pyenv shell 3.6; pip3 install --user mozdownload; fi' - - 'if [ "$FIREFOX" = "true" ]; then rm -rf $FIREFOX_HOME; mozdownload -t daily -d $FIREFOX_HOME/latest.tar.bz --log-level DEBUG; fi' - - 'if [ "$FIREFOX" = "true" ]; then cd $FIREFOX_HOME; tar -xvf latest.tar.bz; cd -; ls $FIREFOX_HOME/firefox/firefox; fi' -script: - - 'if [ "$CHROMIUM" = "true" ]; then npm run lint; fi' - - 'if [ "$CHROMIUM" = "true" ]; then npm run coverage; fi' - - 'if [ "$FIREFOX" = "true" ]; then BINARY=$FIREFOX_HOME/firefox/firefox npm run funit; fi' - - 'if [ "$CHROMIUM" = "true" ]; then npm run test-doclint; fi' - - 'if [ "$CHROMIUM" = "true" ]; then npm run test-types; fi' - - 'if [ "$CHROMIUM" = "true" ]; then npm run bundle; fi' - - 'if [ "$CHROMIUM" = "true" ]; then npm run unit-bundle; fi' jobs: include: - - node_js: "12.16.1" + - node_js: "10.19.0" + dist: trusty env: - CHROMIUM=true - - node_js: "10.18.1" - env: - - CHROMIUM=true - - node_js: "10.18.1" - env: - - FIREFOX=true - - FIREFOX_HOME=$TRAVIS_HOME/firefox-latest + before_install: + - "export DISPLAY=:99.0" + - "sh -e /etc/init.d/xvfb start" + script: ./travis/chromium.sh diff --git a/travis/chromium.sh b/travis/chromium.sh new file mode 100755 index 0000000000000..f352805a8cbc6 --- /dev/null +++ b/travis/chromium.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env sh + +npm run lint && +npm run coverage && +npm run test-doclint && +npm run test-types && +npm run bundle && +npm run unit-bundle