Commit graph

63 commits

Author SHA1 Message Date
lilia
5a88faf334
Bump to 1.0.6 2017-09-14 16:53:46 -07:00
lilia
cf9523f1f8
Restructure prep-release script slightly
Order of operations is now:
- regenerate local assets
- clean the release dir
- download linux/windows releases
- build osx release
- smoke all test releases

// FREEBIE
2017-09-14 16:53:46 -07:00
lilia
bb431f7c91
Remove mac artifactName config
Default is fine here.

// FREEBIE
2017-09-14 16:53:46 -07:00
lilia
d63c603c21
Add spectron 2017-09-14 16:53:45 -07:00
lilia
bc71f4aa2b
CI builds and uploads all targets
// FREEBIE
2017-09-14 16:53:45 -07:00
lilia
08b7ce88d9
More release scripting in npm
npm run icon-gen and grunt (run default task) can be grouped into one
operation.

Use SIGNAL_ENV instead of NODE_ENV since Setting NODE_ENV adversely
affects yarn's install behavior, so we had to set it after the install
and before the build. By using a custom variable instead, we can set it
globally and eventually use it in a build matrix.

Move mas build to its own npm script

// FREEBIE
2017-09-14 16:53:45 -07:00
lilia
5078e1e7d8
Reset bundleVersion 2017-09-14 16:53:45 -07:00
lilia
a2667f784b
CI builds zip for all platforms
// FREEBIE
2017-09-14 16:53:45 -07:00
lilia
e1282f9b3b
Bump to 1.0.5 2017-09-14 16:53:44 -07:00
lilia
2d65ae3689
Disable build script publishing in ci
Travis and AppVeyor configs will handle publishing ci builds

// FREEBIE
2017-09-14 16:53:44 -07:00
lilia
6977928e99
Build only .zip on mac 2017-09-14 16:53:44 -07:00
lilia
aaee025409
Rename script 2017-09-14 16:53:44 -07:00
lilia
693a59809e
Fix setting environment var on windows
Use platform-specific commands to set NODE_ENV after yarn install but
before yarn travis-build.

// FREEBIE
2017-09-14 16:53:44 -07:00
lilia
81d8b78d05
Switch to grunt-sass + node-sass-import-once
These modules together allow us to import css files from third party
components without maintaining symlinks that essentially rename them as
sass partials, which doesn't work on windows.

// FREEBIE
2017-09-14 16:53:44 -07:00
lilia
d6c0fbe9a3
WIP Travis build
// FREEBIE
2017-09-14 16:53:43 -07:00
lilia
689827ee2f
Bump bundleVersion
// FREEBIE
2017-09-14 16:53:43 -07:00
lilia
e83ceba570
Bump bundleVersion for app store 2017-09-14 16:53:43 -07:00
lilia
f716f70bf4
Add icon path for linux
// FREEBIE
2017-09-14 16:53:42 -07:00
lilia
6468038401
Add bundleVersion to mac config
This corresponds to CFBundleVersion in the mac build. It must be
incremented every time we upload a new build to the app store for the
current release version.

// FREEBIE
2017-09-14 16:53:42 -07:00
lilia
4c3977e13b
Change mac output dir in asar script
// FREEBIE
2017-09-14 16:53:42 -07:00
lilia
0c8e769c2a
Exclude some build files from native modules
In practice this removes about 1MB of extraneous build resoures from the
spellchecker module in a packaged build.

// FREEBIE
2017-09-14 16:53:42 -07:00
lilia
38b292ef9e
Setup for mas build
// FREEBIE
2017-09-14 16:53:42 -07:00
lilia
6c49687126
Bump version 2017-09-14 16:53:42 -07:00
lilia
7ef901d628
yarn remove icon-gen 2017-09-14 16:53:41 -07:00
lilia
7d47b53dc3
Generate icons with electron-icon-maker
Either icon-gen or local scaling of images was producing a corrupted and
glitchy .icns file. With this module, we need only provide a 1024px
image and it handles the scaling and generation of all other icon
assets.

// FREEBIE
2017-09-14 16:53:40 -07:00
lilia
c9537ff9a9
Add asar for inspeting asar contents 2017-09-14 16:53:40 -07:00
lilia
429cc46cf9
yarn add --dev electron-publisher-s3
// FREEBIE
2017-09-14 16:53:40 -07:00
lilia
9f873e21a2
yarn upgrade electron-builder 2017-09-14 16:53:40 -07:00
lilia
8732127b1d
yarn upgrade icon-gen 2017-09-14 16:53:40 -07:00
lilia
a885123ab3
Upgrade dev dependencies
Including multiple major version upgrades.

// FREEBIE
2017-09-14 16:53:40 -07:00
lilia
90ad83a91d
Add yarn.lock
Remove grunt-preen due to its dependency on module incompatible with
current node.

// FREEBIE
2017-09-14 16:53:40 -07:00
lilia
77d5ef2f68
Add spellcheck
As of Electron 1.6.5, this requires disabling the sandbox in order to
get access to the `webFrame` api.

// FREEBIE
2017-09-14 16:53:39 -07:00
lilia
eefcaf0bcc
Bump version 2017-09-14 16:53:39 -07:00
lilia
de3816b094
Get standalone registration working in development
Whisper.events.trigger('openStandalone') to open the standalone
registration view.

// FREEBIE
2017-09-14 16:53:39 -07:00
lilia
1c8d3fb41a
Bump version 2017-09-14 16:53:38 -07:00
lilia
ab9f5beead
Fix release script
// FREEBIE
2017-09-14 16:53:38 -07:00
lilia
e7e030a5e2
Build expiration date
Add the buildExpiration config and add it to the renderer's config
object. Use grunt to write the build expiration to
config/local-production.json which will override the default value (no
expiration) in production. Finally, run this grunt task as part of the
build process.

// FREEBIE
2017-09-14 16:53:38 -07:00
lilia
4963af60c9
Use default output dir: ./dist 2017-09-14 16:53:37 -07:00
lilia
7e1bee1082
Configure app/build using node config
Add environment-specific configs under `./config` and integrate with the
build system. Also changes package.json `files` from blacklist to
whitelist.

// FREEBIE
2017-09-14 16:53:36 -07:00
lilia
6a49036da9
Bump to 1.0.1 2017-09-14 16:53:36 -07:00
lilia
81a40bb548
Remove spaces from windows installer name
Spaces in the file name get escaped to %20. Then the percent sign gets
escaped again on the way to s3 upload, such that the object name on s3
ends up as %2520. To fix this, we can simply omit spaces from our
artifact names.

// FREEBIE
2017-09-14 16:53:36 -07:00
lilia
32be90c728
Fix missing icons on linux
Move these to where the build expects them to be.

In theory electron-builder should generate these from a build/icon.icns
but that doesn't seem to be working.

// FREEBIE
2017-09-14 16:53:36 -07:00
lilia
9e39442ea8
Setup publishing to s3 2017-09-14 16:53:36 -07:00
lilia
a99890d254
Generate ico and icns from png
`npm run icon-gen` builds icon files from png files in the images
directory, outputting to build/icon.{ico,icns} (the expected location
for electron-builder).

// FREEBIE
2017-09-14 16:53:35 -07:00
lilia
2bbd0d58c6
Separate development and production environments
Set NODE_ENV at run time or build time to switch the app between dev and
production modes.

At build time, the current NODE_ENV will be included in the packaged
app's package.json file. At runtime we read NODE_ENV from package.json,
but also allow the local environment variable to override. A query
string parsed by a preload script exposes the value to the renderer,
which then determines whether we use the staging or production server.
Additionally, different environments have different user data
directories.

// FREEBIE
2017-09-14 16:53:35 -07:00
lilia
beb058aed6
Add productName to package.json
This defines the display name of the packaged app. It can contain
spaces.

// FREEBIE
2017-09-14 16:53:35 -07:00
lilia
584d29f4a4
Exclude some files from inclusion in packaged app
This adds and extends the default `files` config from electron-builder
such that it adds all and only the necessary files to our app.asar.

// FREEBIE
2017-09-14 16:53:34 -07:00
lilia
dcc6f599a2
Auto-update hourly 2017-09-14 16:53:34 -07:00
lilia
83d827c127
Configure electron-builder
// FREEBIE
2017-09-14 16:53:34 -07:00
lilia
995ccda9e4
Add electron and electron-builder dev dependencies
// FREEBIE
2017-09-14 16:53:34 -07:00