From 8add0ac8a1d15327908bb48141c405ff81cd0fad Mon Sep 17 00:00:00 2001 From: Scott Nonnenberg Date: Tue, 27 Nov 2018 16:20:48 -0800 Subject: [PATCH] Enable CI and packaged builds with Electron v3 (#2939) * Update spectron to fix linux CI runs * Point test-release grunt task at release folder * Ensure that build folders of socks/smart-buffer are in build * AppVeyor: windows build output folder is now release * Travis: Force build output to release directory --- .travis.yml | 2 +- Gruntfile.js | 2 +- appveyor.yml | 2 +- package.json | 6 +++++- preload.js | 2 +- yarn.lock | 59 ++++++++++++++++++++++++++++------------------------ 6 files changed, 41 insertions(+), 32 deletions(-) diff --git a/.travis.yml b/.travis.yml index 1b3da0a66ff..88c7f2ad5c6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,7 +13,7 @@ script: - yarn test-node - yarn nsp check - yarn prepare-beta-build - - $(yarn bin)/build --config.extraMetadata.environment=$SIGNAL_ENV --config.mac.bundleVersion='$TRAVIS_BUILD_NUMBER' --publish=never + - $(yarn bin)/build --config.extraMetadata.environment=$SIGNAL_ENV --config.mac.bundleVersion='$TRAVIS_BUILD_NUMBER' --publish=never --config.directories.output=release - ./travis.sh env: global: diff --git a/Gruntfile.js b/Gruntfile.js index 77815ff8670..241b7449eb3 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -350,7 +350,7 @@ module.exports = grunt => { 'test-release', 'Test packaged releases', function thisNeeded() { - const dir = grunt.option('dir') || 'dist'; + const dir = grunt.option('dir') || 'release'; const environment = grunt.option('env') || 'production'; const config = this.data; const archive = [dir, config.archive].join('/'); diff --git a/appveyor.yml b/appveyor.yml index d6f405947e0..ecf6735bbce 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -21,7 +21,7 @@ build_script: - type package.json | findstr /v certificateSubjectName > temp.json - move temp.json package.json - yarn prepare-beta-build - - node_modules\.bin\build --config.extraMetadata.environment=%SIGNAL_ENV% --publish=never + - node_modules\.bin\build --config.extraMetadata.environment=%SIGNAL_ENV% --publish=never --config.directories.output=release test_script: - node build\grunt.js test diff --git a/package.json b/package.json index 4c8967262c7..d5404f4d847 100644 --- a/package.json +++ b/package.json @@ -139,7 +139,7 @@ "react-docgen-typescript": "1.2.6", "react-styleguidist": "7.0.1", "sinon": "4.4.2", - "spectron": "3.8.0", + "spectron": "5.0.0", "ts-loader": "4.1.0", "tslint": "5.9.1", "tslint-microsoft-contrib": "5.0.3", @@ -257,6 +257,10 @@ "!**/{.DS_Store,.git,.hg,.svn,CVS,RCS,SCCS,__pycache__,thumbs.db,.gitignore,.gitattributes,.editorconfig,.flowconfig,.yarn-metadata.json,.idea,appveyor.yml,.travis.yml,circle.yml,npm-debug.log,.nyc_output,yarn.lock,.yarn-integrity}", "node_modules/spellchecker/build/Release/*.node", "node_modules/websocket/build/Release/*.node", + "node_modules/socks/build/*.js", + "node_modules/socks/build/common/*.js", + "node_modules/socks/build/client/*.js", + "node_modules/smart-buffer/build/*.js", "!node_modules/@journeyapps/sqlcipher/deps/*" ] } diff --git a/preload.js b/preload.js index aec14a95768..c8030339671 100644 --- a/preload.js +++ b/preload.js @@ -152,7 +152,7 @@ ipc.on('delete-all-data', () => { }); ipc.on('get-ready-for-shutdown', async () => { - const { shutdown } = window.Events; + const { shutdown } = window.Events || {}; if (!shutdown) { window.log.error('preload shutdown handler: shutdown method not found'); ipc.send('now-ready-for-shutdown'); diff --git a/yarn.lock b/yarn.lock index b5bcca3e1fc..ca28d5cfd7b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1912,9 +1912,10 @@ css-loader@^0.28.11: postcss-value-parser "^3.3.0" source-list-map "^2.0.0" -css-parse@~2.0.0: +css-parse@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/css-parse/-/css-parse-2.0.0.tgz#a468ee667c16d81ccf05c58c38d2a97c780dbfd4" + integrity sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q= dependencies: css "^2.0.0" @@ -2435,9 +2436,10 @@ electron-builder@20.13.5: update-notifier "^2.5.0" yargs "^11.0.0" -electron-chromedriver@~1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/electron-chromedriver/-/electron-chromedriver-1.8.0.tgz#901714133cf6f6093d365e1f44a52d99624d8241" +electron-chromedriver@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/electron-chromedriver/-/electron-chromedriver-3.0.0.tgz#ec0a17badb6c3529813c660bf91a43fb91407674" + integrity sha512-xWivZRiPTtDFJt+qXv7Ax/Dmhxj0iqESOxoLZ2szu3fv6k1vYDUDJUMHfdfVAke9D2gBRIgChuGb5j3YEt6hxQ== dependencies: electron-download "^4.1.0" extract-zip "^1.6.5" @@ -3718,6 +3720,11 @@ graceful-fs@^4.1.0, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.3, version "1.0.1" resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" +grapheme-splitter@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" + integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== + growl@1.10.3: version "1.10.3" resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.3.tgz#1926ba90cf3edfe2adb4927f5880bc22c66c790f" @@ -7553,7 +7560,7 @@ request@^2.45.0, request@^2.65.0, request@^2.79.0: tunnel-agent "^0.6.0" uuid "^3.0.0" -request@^2.81.0, request@~2.83.0: +request@^2.81.0: version "2.83.0" resolved "https://registry.yarnpkg.com/request/-/request-2.83.0.tgz#ca0b65da02ed62935887808e6f510381034e3356" dependencies: @@ -7580,7 +7587,7 @@ request@^2.81.0, request@~2.83.0: tunnel-agent "^0.6.0" uuid "^3.1.0" -request@^2.87.0: +request@^2.83.0, request@^2.87.0: version "2.88.0" resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" dependencies: @@ -7686,9 +7693,10 @@ ret@~0.1.10: version "0.1.15" resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" -rgb2hex@~0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/rgb2hex/-/rgb2hex-0.1.0.tgz#ccd55f860ae0c5c4ea37504b958e442d8d12325b" +rgb2hex@^0.1.9: + version "0.1.9" + resolved "https://registry.yarnpkg.com/rgb2hex/-/rgb2hex-0.1.9.tgz#5d3e0e14b0177b568e6f0d5b43e34fbfdb670346" + integrity sha512-32iuQzhOjyT+cv9aAFRBJ19JgHwzQwbjUhH3Fj2sWW2EEGAW8fpFrDFP5ndoKDxJaLO06x1hE3kyuIFrUQtybQ== right-align@^0.1.1: version "0.1.3" @@ -8184,16 +8192,16 @@ spdy@^3.4.1: select-hose "^2.0.0" spdy-transport "^2.0.18" -spectron@3.8.0: - version "3.8.0" - resolved "https://registry.yarnpkg.com/spectron/-/spectron-3.8.0.tgz#122c3562fd7e92b7cdf6f94094aa495b150dfa51" - integrity sha512-fQ7gFp6UuEaONjXFLifLeIUI022pOsm3b+NFAm696r2umUkSZ9IbnEgHwrvBX+pJ3QUDyCEs5bPHUieYU7FvaQ== +spectron@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/spectron/-/spectron-5.0.0.tgz#602440da0c892f8d73471652ae68000b98d7769c" + integrity sha512-wJrFe8EZ7xvarYawBPd1pDegmSz81U1jG0rSCx+yXqD1TISUH9ASB21KysLXkPylAnc2vhbpGiWQxrqVFtsiJg== dependencies: dev-null "^0.1.1" - electron-chromedriver "~1.8.0" - request "^2.81.0" + electron-chromedriver "~3.0.0" + request "^2.87.0" split "^1.0.0" - webdriverio "^4.8.0" + webdriverio "^4.13.0" speedometer@~0.1.2: version "0.1.4" @@ -9157,10 +9165,6 @@ validate-npm-package-license@^3.0.1: spdx-correct "~1.0.0" spdx-expression-parse "~1.0.0" -validator@~9.1.1: - version "9.1.2" - resolved "https://registry.yarnpkg.com/validator/-/validator-9.1.2.tgz#5711b6413f78bd9d56003130c81b47c39e86546c" - vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" @@ -9238,30 +9242,31 @@ wdio-dot-reporter@~0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/wdio-dot-reporter/-/wdio-dot-reporter-0.0.8.tgz#36195576da0d998210c71948cbb65f5bf11bfc65" -webdriverio@^4.8.0: - version "4.9.11" - resolved "https://registry.yarnpkg.com/webdriverio/-/webdriverio-4.9.11.tgz#a828713c5a44be99afbe07eb5b523d5eccd04b44" +webdriverio@^4.13.0: + version "4.14.0" + resolved "https://registry.yarnpkg.com/webdriverio/-/webdriverio-4.14.0.tgz#f8a48d03abc70c87d7d17b59bd3f45a322927e0c" + integrity sha512-642Iqp9en2hvuVINkTfQvWoQCaLb6zJyLHgQFUFLx7s+8l8GnrHzMjkv5DbecZHwnBkhybpphbTW7k0B2ARH5A== dependencies: archiver "~2.1.0" babel-runtime "^6.26.0" - css-parse "~2.0.0" + css-parse "^2.0.0" css-value "~0.0.1" deepmerge "~2.0.1" ejs "~2.5.6" gaze "~1.1.2" glob "~7.1.1" + grapheme-splitter "^1.0.2" inquirer "~3.3.0" json-stringify-safe "~5.0.1" mkdirp "~0.5.1" npm-install-package "~2.1.0" optimist "~0.6.1" q "~1.5.0" - request "~2.83.0" - rgb2hex "~0.1.0" + request "^2.83.0" + rgb2hex "^0.1.9" safe-buffer "~5.1.1" supports-color "~5.0.0" url "~0.11.0" - validator "~9.1.1" wdio-dot-reporter "~0.0.8" wgxpath "~1.0.0"