
This PR documents the process to upgrade the Electron version correctly, in order to prevent any potential compatibility issue when building native dependencies. Signed-off-by: Juan Cruz Viotti <jviottidc@gmail.com>
1.8 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
package.json
'sbuilder.win.version
property. -
Add a new entry to
CHANGELOG.md
describing what has been added, changed, or removed. Please use the imperative mode and capitalize the first letter of each item. -
Link the
CHANGELOG.md
entry to the GitHub page displaying the diffs between the previous and the current version.
https://github.com/resin-io/etcher/compare/<previous>...<current>
-
Re-take
screenshot.png
so it displays the latest version in the bottom right corner. -
Re-install all dependencies and run
npm shrinkwrap
to updatenpm-shrinkwrap.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-prebuilt
dependency version inpackage.json
to an exact version (no~
,^
, etc). -
Find the exact NodeJS version included in the desired Electron version and update
engines.node
inpackage.json
appropriately. This can be usually found in the Electron releases page. -
Update the
NODE_VERSION
environment variable in.travis.yml
. -
Update the
nodejs_version
andnpm_config_target
environment variables inappveyor.yml
.