From 9040677d3c2e56e2071c270ad39bf0c1bc9e2da0 Mon Sep 17 00:00:00 2001 From: Scott Nonnenberg Date: Mon, 18 Sep 2017 15:51:01 -0700 Subject: [PATCH] Update our release scripts to match changes in electron-builder (#1484) No more win-unpacked/linux-unpacked, so we need to extract downloaded zips into their own folders manually. FREEBIE --- Gruntfile.js | 25 +++++++++++++------------ fix_broken_perms.sh | 10 +++++----- package.json | 4 ++-- 3 files changed, 20 insertions(+), 19 deletions(-) diff --git a/Gruntfile.js b/Gruntfile.js index 5890bec3a..570b29f9f 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -308,13 +308,16 @@ module.exports = function(grunt) { var urlBase = "https://s3-us-west-1.amazonaws.com/signal-desktop-builds"; var keyBase = 'WhisperSystems/Signal-Desktop'; var sha = gitinfo.local.branch.current.SHA; - var files = [ - 'signal-desktop-' + package_json.version + '.zip', - 'Signal-Setup_' + package_json.version + '.zip' - ]; + var files = [{ + zip: 'signal-desktop-' + package_json.version + '.zip', + extractedTo: 'linux' + }, { + zip: 'Signal-Setup_' + package_json.version + '.zip', + extractedTo: 'windows' + }]; var extract = require('extract-zip'); - var download = function(url, dest, cb) { + var download = function(url, dest, extractedTo, cb) { var file = fs.createWriteStream(dest); var request = https.get(url, function(response) { if (response.statusCode !== 200) { @@ -323,7 +326,7 @@ module.exports = function(grunt) { response.pipe(file); file.on('finish', function() { file.close(function() { - extract(dest, {dir: 'release'}, cb); + extract(dest, {dir: 'release/' + extractedTo}, cb); }); }); } @@ -333,13 +336,13 @@ module.exports = function(grunt) { }); }; - Promise.all(files.map(function(fileName) { - var key = [ keyBase, sha, 'dist', fileName].join('/'); + Promise.all(files.map(function(item) { + var key = [ keyBase, sha, 'dist', item.zip].join('/'); var url = [urlBase, key].join('/'); - var dest = 'release/' + fileName; + var dest = 'release/' + item.zip; return new Promise(function(resolve) { console.log(url); - download(url, dest, function(err) { + download(url, dest, item.extractedTo, function(err) { if (err) { console.log('failed', dest, err); resolve(err); @@ -357,8 +360,6 @@ module.exports = function(grunt) { }); done(); }); - - // TODO: chmod u+r win-unpacked/**/* }); grunt.registerTask('unit-tests', 'Run unit tests inside Electron', function() { diff --git a/fix_broken_perms.sh b/fix_broken_perms.sh index abcac1e8a..c95314108 100755 --- a/fix_broken_perms.sh +++ b/fix_broken_perms.sh @@ -1,6 +1,6 @@ set -e -find release/linux-unpacked -type d | xargs chmod 755 -find release/linux-unpacked -type f | xargs chmod 644 -find release/win-unpacked -type d | xargs chmod 755 -find release/win-unpacked -type f | xargs chmod 644 -chmod +x release/linux-unpacked/signal-desktop +find release/linux -type d | xargs chmod 755 +find release/linux -type f | xargs chmod 644 +find release/windows -type d | xargs chmod 755 +find release/windows -type f | xargs chmod 644 +chmod +x release/linux/signal-desktop diff --git a/package.json b/package.json index f6a8f24b7..b261183fe 100644 --- a/package.json +++ b/package.json @@ -51,8 +51,8 @@ "prep-mac-release": "npm run build-release -- -m --dir", "prep-release": "npm run generate && grunt prep-release && npm run build-release && npm run build-mas-release && grunt test-release", "release-mac": "npm run build-release -- -m --prepackaged release/mac/Signal.app --publish=always", - "release-win": "npm run build-release -- -w --prepackaged release/win-unpacked --publish=always", - "release-lin": "npm run build-release -- -l --prepackaged release/linux-unpacked && VERSION=$npm_package_version ./aptly.sh", + "release-win": "npm run build-release -- -w --prepackaged release/windows --publish=always", + "release-lin": "npm run build-release -- -l --prepackaged release/linux && VERSION=$npm_package_version ./aptly.sh", "release": "npm run release-mac && npm run release-win && npm run release-lin" }, "build": {