oxen-electron-gui-wallet/BUILDING.md

43 lines
1.8 KiB
Markdown
Raw Normal View History

2019-12-17 01:16:07 +01:00
# Building
2021-01-06 06:26:42 +01:00
Building oxen electron wallet binaries is done using github actions. Windows and linux binaries will build right out of the box but there are some extra steps needed for Mac OS
2019-12-17 01:16:07 +01:00
## Mac OS
The build script for Mac OS requires you to have a valid `Developer ID Application` certificate. Without this the build script cannot sign and notarize the mac binary which is needed for Catalina 10.15 and above.
If you would like to disable this then comment out `"afterSign": "build/notarize.js",` in package.json.
You will also need an [App-specific password](https://support.apple.com/en-al/HT204397) for the apple account you wish to notarize with
### Setup
Once you have your `Developer ID Application` you need to export it into a `.p12` file. Keep a note of the password used to encrypt this file as it will be needed later.
We need to Base64 encode this file, so run the following command:
```
base64 -i certificate.p12 -o encoded.txt
```
#### On GitHub:
1. Navigate to the main page of the repository.
2. Under your repository name, click **Settings**.
3. In the left sidebar, click **Secrets**.
4. Add the following secrets:
1. Certificate
2020-03-03 04:16:23 +01:00
- Name: `MAC_CERTIFICATE`
- Value: The encoded Base64 certificate
2019-12-17 01:16:07 +01:00
2. Certificate password
2020-03-03 04:16:23 +01:00
- Name: `MAC_CERTIFICATE_PASSWORD`
- Value: The password that was set when the certificate was exported.
2019-12-17 01:16:07 +01:00
3. Apple ID
2020-03-03 04:16:23 +01:00
- Name: `SIGNING_APPLE_ID`
- Value: The apple id (email) to use for signing
2019-12-17 01:16:07 +01:00
4. Apple Password
2020-03-03 04:16:23 +01:00
- Name: `SIGNING_APP_PASSWORD`
- Value: The app-specific password that was generated for the apple id
2019-12-17 01:16:07 +01:00
5. Team ID (Optional)
2020-03-03 04:16:23 +01:00
- Name: `SIGNING_TEAM_ID`
- Value: The apple team id if you're sigining the application for a team