Skip to content
This repository was archived by the owner on Oct 11, 2022. It is now read-only.

Commit 63f6d84

Browse files
authored
Added packaging and notarizing instructions to readme
1 parent 2d55fdd commit 63f6d84

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed

README.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,51 @@
55
It is built with investigative reporting as its primary use case and utilizes the [Follow the Money](https://github.com/alephdata/followthemoney) data model, which seeks to provide a common language to describe the entities most commonly used in investigative reporting.
66

77
To get started, download the latest release [here](https://github.com/alephdata/visdesktop/releases).
8+
9+
10+
### Packaging the app
11+
12+
In order to package the app locally run the following:
13+
```
14+
make install
15+
npm run build
16+
```
17+
When the build is completed you should see a list of executables in the /dist directory.
18+
19+
20+
### Notarizing the app
21+
22+
If you have not distributed a release with the Developer ID you plan to use, it is required to notarize the app first. If not, users will see a warning message when they attempt to open the downloaded app. From Apple: "Beginning in macOS 10.14.5, all new or updated kernel extensions and all software from developers new to distributing with Developer ID must be notarized in order to run."
23+
24+
Prerequisites:
25+
- an env file with the following:
26+
- APPLE_ID: a valid Apple Id
27+
- APPLE_APP_PASSWORD: an Apple app specific password (See https://support.apple.com/en-gb/HT204397)
28+
29+
Steps:
30+
1. Add the following afterSign hook to the build config in package.json. This will call the notarize script during the build process
31+
```
32+
"build": {
33+
...
34+
"afterSign": "scripts/notarize.js",
35+
```
36+
2. Follow the above steps to package the app
37+
3. If notarization is successful, you will receive a confirmation email and see the notarization confirmation message in the terminal
38+
39+
Useful resources:
40+
https://medium.com/@TwitterArchiveEraser/notarize-electron-apps-7a5f988406db
41+
https://kilianvalkhof.com/2019/electron/notarizing-your-electron-application/
42+
43+
44+
### Distributing the app
45+
In order to distribute a new release of the app do the following.
46+
47+
Prerequisites:
48+
- notarization of the app (see above)
49+
- a Developer ID Application certificate in your Keychain
50+
- download an existing certificate from: https://developer.apple.com/account/resources/certificates/list or create a new one using xCode
51+
- add the certificate to your Keychain
52+
53+
Steps:
54+
1. Run ```make release-{major|minor|patch}```. This will draft a new tagged release with the bumped version number and upload the relevant files to Github
55+
2. You should see the newly drafted release in the Releases section of the repo. Edit as needed and publish to make the new release available for download.

0 commit comments

Comments
 (0)