
We've been using `electron-builder` v2 all this time to create the NSIS installer. This commit upgrade `electron-builder` to v18.6.2, and keeps using it just to create the NSIS installer (for now). The final package behaves exactly like the one we have before, just that we needed various tweaks to upgrade to the latest `electron-builder` version. In more detail: - Inject data to package.json using the new `--extraMetadata` option - Remove old `.builder` package.json property - Change the author of the project to Resin Inc. (the company name used in our code-signing certificate) As an extra, the new NSIS installer allows the user to install the application to any location, and fixes the fact that the previous installer copied the application to C:\Program Files (x86) even on x64 systems. Change-Type: patch Fixes: https://github.com/resin-io/etcher/issues/1030 Fixes: https://github.com/resin-io/etcher/issues/877 Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
2.0 KiB
Maintaining Etcher
This document is meant to serve as a guide for maintainers to perform common tasks.
Preparing a new version
-
Bump the version number in the
package.json
'sversion
property. -
Bump the version number in the
npm-shrinkwrap.json
'sversion
property. -
Add a new entry to
CHANGELOG.md
by runningmake CHANGELOG.md
. -
Re-take
screenshot.png
so it displays the latest version in the bottom right corner. -
Revise the
updates.semverRange
version inpackage.json
-
Commit the changes with the version number as the commit title, including the
v
prefix, tomaster
. For example:
git commit -m "v1.0.0" # not 1.0.0
- Create an annotated tag for the new version. The commit title should equal the annotated tag name. For example:
git tag -a v1.0.0 -m "v1.0.0"
- Push the commit and the annotated tag.
git push
git push --tags
Upgrading Electron
- Upgrade the
electron
dependency version inpackage.json
to an exact version (no~
,^
, etc).
Dealing with a problematic release
There can be times where a release is accidentally plagued with bugs. If you released a new version and notice the error rates are higher than normal, then revert the problematic release as soon as possible, until the bugs are fixed.
You can revert a version by deleting its builds from the S3 bucket and Bintray.
Refer to the Makefile
for the up to date information about the S3 bucket
where we push builds to, and get in touch with the resin.io operations team to
get write access to it.
The Etcher update notifier dialog and the website only show the a certain version if all the expected files have been uploaded to it, so deleting a single package or two is enough to bring down the whole version.
Use the following command to delete files from S3:
aws s3api delete-object --bucket <bucket name> --key <file name>
The Bintray dashboard provides an easy way to delete a version's files.