Beta versions support: SxS support, in-app env/instance display (#1606)
* Script for beta config; unique data dir, in-app env/type display To release a beta build, increment the version and add -beta-N to the end, then go through all the standard release activities. The prepare-build npm script then updates key bits of the package.json to ensure that the beta build can be installed alongside a production build. This includes a new name ('Signal Beta') and a different location for application data. Note: Beta builds can be installed alongside production builds. As part of this, a couple new bits of data are shown across the app: - Environment (development or test, not shown if production) - App Instance (disabled in production; used for multiple accounts) These are shown in: - The window title - both environment and app instance. You can tell beta builds because the app name, preceding these data bits, is different. - The about window - both environment and app instance. You can tell beta builds from the version number. - The header added to the debug log - just environment. The version number will tell us if it's a beta build, and app instance isn't helpful. * Turn on single-window mode in non-production modes Because it's really frightening when you see 'unable to read from db' errors in the console. * aply.sh: More instructions for initial setup and testing * Gruntfile: Get consistent with use of package.json datas * Linux: manually update desktop keys, since macros not available
This commit is contained in:
parent
a3fbb9a6aa
commit
c94d4efd18
13 changed files with 158 additions and 34 deletions
18
Gruntfile.js
18
Gruntfile.js
|
@ -1,4 +1,5 @@
|
|||
var path = require('path');
|
||||
var packageJson = require('./package.json');
|
||||
|
||||
module.exports = function(grunt) {
|
||||
'use strict';
|
||||
|
@ -204,23 +205,23 @@ module.exports = function(grunt) {
|
|||
},
|
||||
'test-release': {
|
||||
osx: {
|
||||
archive: 'mac/Signal.app/Contents/Resources/app.asar',
|
||||
appUpdateYML: 'mac/Signal.app/Contents/Resources/app-update.yml',
|
||||
exe: 'mac/Signal.app/Contents/MacOS/Signal'
|
||||
archive: 'mac/' + packageJson.productName + '.app/Contents/Resources/app.asar',
|
||||
appUpdateYML: 'mac/' + packageJson.productName + '.app/Contents/Resources/app-update.yml',
|
||||
exe: 'mac/' + packageJson.productName + '.app/Contents/MacOS/' + packageJson.productName
|
||||
},
|
||||
mas: {
|
||||
archive: 'mas/Signal.app/Contents/Resources/app.asar',
|
||||
appUpdateYML: 'mac/Signal.app/Contents/Resources/app-update.yml',
|
||||
exe: 'mas/Signal.app/Contents/MacOS/Signal'
|
||||
exe: 'mas/' + packageJson.productName + '.app/Contents/MacOS/' + packageJson.productName
|
||||
},
|
||||
linux: {
|
||||
archive: 'linux-unpacked/resources/app.asar',
|
||||
exe: 'linux-unpacked/signal-desktop'
|
||||
exe: 'linux-unpacked/' + packageJson.name
|
||||
},
|
||||
win: {
|
||||
archive: 'win-unpacked/resources/app.asar',
|
||||
appUpdateYML: 'win-unpacked/resources/app-update.yml',
|
||||
exe: 'win-unpacked/Signal.exe'
|
||||
exe: 'win-unpacked/' + packageJson.productName + '.exe'
|
||||
}
|
||||
},
|
||||
gitinfo: {} // to be populated by grunt gitinfo
|
||||
|
@ -273,7 +274,6 @@ module.exports = function(grunt) {
|
|||
require('mkdirp').sync('release');
|
||||
var fs = require('fs');
|
||||
var done = this.async();
|
||||
var package_json = grunt.config.get('pkg');
|
||||
var gitinfo = grunt.config.get('gitinfo');
|
||||
var https = require('https');
|
||||
|
||||
|
@ -281,7 +281,7 @@ module.exports = function(grunt) {
|
|||
var keyBase = 'WhisperSystems/Signal-Desktop';
|
||||
var sha = gitinfo.local.branch.current.SHA;
|
||||
var files = [{
|
||||
zip: 'signal-desktop-' + package_json.version + '.zip',
|
||||
zip: packageJson.name + '-' + packageJson.version + '.zip',
|
||||
extractedTo: 'linux'
|
||||
}];
|
||||
|
||||
|
@ -451,7 +451,7 @@ module.exports = function(grunt) {
|
|||
return app.client.getTitle();
|
||||
}).then(function (title) {
|
||||
// Verify the window's title
|
||||
assert.equal(title, 'Signal');
|
||||
assert.equal(title, packageJson.productName);
|
||||
console.log('title ok');
|
||||
}).then(function () {
|
||||
assert(app.chromeDriver.logLines.indexOf('NODE_ENV ' + environment) > -1);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue