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
pull/749/head
Scott Nonnenberg 8 years ago committed by GitHub
parent 2786baf2b5
commit 9040677d3c

@ -308,13 +308,16 @@ module.exports = function(grunt) {
var urlBase = "https://s3-us-west-1.amazonaws.com/signal-desktop-builds"; var urlBase = "https://s3-us-west-1.amazonaws.com/signal-desktop-builds";
var keyBase = 'WhisperSystems/Signal-Desktop'; var keyBase = 'WhisperSystems/Signal-Desktop';
var sha = gitinfo.local.branch.current.SHA; var sha = gitinfo.local.branch.current.SHA;
var files = [ var files = [{
'signal-desktop-' + package_json.version + '.zip', zip: 'signal-desktop-' + package_json.version + '.zip',
'Signal-Setup_' + package_json.version + '.zip' extractedTo: 'linux'
]; }, {
zip: 'Signal-Setup_' + package_json.version + '.zip',
extractedTo: 'windows'
}];
var extract = require('extract-zip'); var extract = require('extract-zip');
var download = function(url, dest, cb) { var download = function(url, dest, extractedTo, cb) {
var file = fs.createWriteStream(dest); var file = fs.createWriteStream(dest);
var request = https.get(url, function(response) { var request = https.get(url, function(response) {
if (response.statusCode !== 200) { if (response.statusCode !== 200) {
@ -323,7 +326,7 @@ module.exports = function(grunt) {
response.pipe(file); response.pipe(file);
file.on('finish', function() { file.on('finish', function() {
file.close(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) { Promise.all(files.map(function(item) {
var key = [ keyBase, sha, 'dist', fileName].join('/'); var key = [ keyBase, sha, 'dist', item.zip].join('/');
var url = [urlBase, key].join('/'); var url = [urlBase, key].join('/');
var dest = 'release/' + fileName; var dest = 'release/' + item.zip;
return new Promise(function(resolve) { return new Promise(function(resolve) {
console.log(url); console.log(url);
download(url, dest, function(err) { download(url, dest, item.extractedTo, function(err) {
if (err) { if (err) {
console.log('failed', dest, err); console.log('failed', dest, err);
resolve(err); resolve(err);
@ -357,8 +360,6 @@ module.exports = function(grunt) {
}); });
done(); done();
}); });
// TODO: chmod u+r win-unpacked/**/*
}); });
grunt.registerTask('unit-tests', 'Run unit tests inside Electron', function() { grunt.registerTask('unit-tests', 'Run unit tests inside Electron', function() {

@ -1,6 +1,6 @@
set -e set -e
find release/linux-unpacked -type d | xargs chmod 755 find release/linux -type d | xargs chmod 755
find release/linux-unpacked -type f | xargs chmod 644 find release/linux -type f | xargs chmod 644
find release/win-unpacked -type d | xargs chmod 755 find release/windows -type d | xargs chmod 755
find release/win-unpacked -type f | xargs chmod 644 find release/windows -type f | xargs chmod 644
chmod +x release/linux-unpacked/signal-desktop chmod +x release/linux/signal-desktop

@ -51,8 +51,8 @@
"prep-mac-release": "npm run build-release -- -m --dir", "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", "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-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-win": "npm run build-release -- -w --prepackaged release/windows --publish=always",
"release-lin": "npm run build-release -- -l --prepackaged release/linux-unpacked && VERSION=$npm_package_version ./aptly.sh", "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" "release": "npm run release-mac && npm run release-win && npm run release-lin"
}, },
"build": { "build": {

Loading…
Cancel
Save