summaryrefslogtreecommitdiffhomepage
path: root/README.md
diff options
context:
space:
mode:
authorLinus Färnstrand <linus@mullvad.net>2018-02-02 16:12:26 +0100
committerLinus Färnstrand <linus@mullvad.net>2018-02-07 09:48:25 +0100
commitfe2f278afcfefb4ffd619d8846abbc02165e5d48 (patch)
treed5561a867f33ceec3a9572e378cb0eceda07bdcc /README.md
parent99e2964316733a3187d002555f8ee78b54b0d09e (diff)
downloadmullvadvpn-fe2f278afcfefb4ffd619d8846abbc02165e5d48.tar.xz
mullvadvpn-fe2f278afcfefb4ffd619d8846abbc02165e5d48.zip
Update README to reflect changed build.sh, and describe how to release
Diffstat (limited to 'README.md')
-rw-r--r--README.md43
1 files changed, 36 insertions, 7 deletions
diff --git a/README.md b/README.md
index abbed2012a..6f7d5fcc72 100644
--- a/README.md
+++ b/README.md
@@ -27,6 +27,11 @@ homebrew:
brew install node yarn
```
+1. Install build dependencies if you are on Linux
+ ```bash
+ sudo apt install icnsutils graphicsmagick
+ ```
+
## Building and running the backend (mullvad-daemon)
1. Build the backend without optimizations (debug mode) with:
@@ -75,12 +80,7 @@ it and behave accordingly.
1. Build the backend in optimized release mode with:
```
- ./build.sh
- ```
-
-1. Install build dependencies if you are on Linux
- ```bash
- sudo apt install icnsutils graphicsmagick
+ cargo build --release
```
1. Install all JavaScript dependencies (unless you already have) and package the application with:
@@ -100,6 +100,34 @@ it and behave accordingly.
The artifact (.dmg, .deb, .msi) version is the `version` property of `package.json`.
+## Making a release
+
+When making a real release there are a couple of steps to follow. `<VERSION>` here will denote
+the version of the app you are going to release. For example `2018.3-beta1` or `2018.4`.
+
+1. Follow the [Install toolchains and dependencies](#install-toolchains-and-dependencies) steps
+ if you have not already completed them.
+
+1. Make sure the `CHANGELOG.md` is up to date and has all the changes present in this release.
+ Also change the `[Unreleased]` header into `[<VERSION>] - <DATE>` and add a new `[Unreleased]`
+ header at the top. Push this, get it reviewed and merged.
+
+1. Run `./prepare_release.sh <VERSION>`. This will do the following for you:
+ 1. Check if your repository is in a sane state and the given version has the correct format
+ 1. Update `package.json` with the new version and commit that
+ 1. Add a signed tag to the current commit with the release version in it
+
+ Please verify that the script did the right thing before you push the commit and tag it created.
+
+1. Run `./build.sh` on each computer/platform where you want to create a release artifact. This will
+ do the following for you:
+ 1. Update `relays.json` with the latest relays
+ 1. Compile and package the app into a distributable artifact for your platform.
+
+ Please pay attention to the output at the end of the script and make sure the version it says
+ it built matches what you want to release.
+
+
## Command line tools for frontend development
- `$ yarn run develop` - develop app with live-reload enabled
@@ -139,7 +167,8 @@ it and behave accordingly.
## Quirks
-- If you want to modify babel-configurations please note that `BABEL_ENV=development` must be used for [react-native](https://github.com/facebook/react-native/issues/8723)
+- If you want to modify babel-configurations please note that `BABEL_ENV=development` must be used
+ for [react-native](https://github.com/facebook/react-native/issues/8723)
# License