Skip to content
This repository was archived by the owner on May 21, 2025. It is now read-only.

Commit 01f551b

Browse files
authored
Merge pull request #494 from autonomoussoftware/release-1.4.3
Add AS short name to the notarization process
2 parents 1556ecf + bde9a89 commit 01f551b

File tree

2 files changed

+42
-28
lines changed

2 files changed

+42
-28
lines changed

README.md

Lines changed: 41 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,11 @@
1111

1212
## Development
1313

14-
Create a local `.env` file with the following content
14+
Create a local `.env` file with the following content:
1515

1616
```shell
1717
ENABLED_CHAINS=
1818
ROPSTEN_NODE_URL=
19-
2019
```
2120

2221
### Requirements
@@ -25,7 +24,7 @@ ROPSTEN_NODE_URL=
2524

2625
### Launch
2726

28-
```bash
27+
```sh
2928
# Install dependencies
3029
npm i
3130

@@ -35,10 +34,10 @@ npm run dev
3534

3635
#### Troubleshooting
3736

38-
- If you get an error when installing the dependencies related to `node-gyp`, try using `sudo` to postinstall the deps
39-
- For windows, you might need to install the windows-build-tools. To do so, run
37+
- For errors related to `node-gyp` when installing the dependencies, try using `sudo` to postinstall the dependencies.
38+
- For Windows, installing `windows-build-tools` may be required. To do so, run:
4039

41-
```bash
40+
```sh
4241
npm i --global --production windows-build-tools
4342
```
4443

@@ -52,7 +51,7 @@ The log output is in the next directories:
5251

5352
`process-type` being equal to `main`, `renderer` or `worker`
5453

55-
More info [github.com/megahertz/electron-log](https://github.com/megahertz/electron-log)
54+
More info [github.com/megahertz/electron-log](https://github.com/megahertz/electron-log).
5655

5756
### Settings
5857

@@ -64,53 +63,67 @@ To completely remove the application and start over, remove the settings file to
6463

6564
### Production Build
6665

67-
```bash
66+
```sh
6867
# Run build process
6968
npm run dist
7069

70+
# or
71+
7172
# Run build process and publish to GitHub releases
7273
npm run release
7374
```
7475

75-
#### MacOs
76+
#### macOs
7677

77-
You'll need to sign and notarize the app. To do, install the `met.p12` file in your local keychain.
78-
In addition to that, you'll have to set the following env variables in order to publish
78+
The app needs to be signed and notarized.
79+
To do so, install the `.p12` file in the local keychain (double click on it).
7980

80-
```shell
81-
# See below to complete these two fields
81+
The certificate is obtained from the Apple Developer website.
82+
The Developer ID Application is required.
83+
The Developer ID Installer may be required too.
84+
Once obtained, the `.cer` files have to be converted to `.p12` by providing the certificate passwords/private keys.
85+
86+
In addition to that, the following environment variables have to be set to publish:
87+
88+
```sh
89+
# See below to complete these two:
8290
APPLE_ID=
8391
APPLE_ID_PASSWORD=
84-
# See electron-build docs on how to complete these two
92+
# See `electron-build` docs on how to complete these two:
8593
CSC_LINK=
8694
CSC_KEY_PASSWORD=
87-
# Github token from your developer settings
95+
# Github personal access token to upload the files to repo releases.
8896
GH_TOKEN=
8997
```
9098

91-
You'll need to follow [these steps to create an app specific password](https://support.apple.com/en-us/HT204397) and you'll set the generated value in `APPLE_ID_PASSWORD` together with your apple id in `APPLE_ID`.
92-
For the github token, create an access token with the `repo` permission. [Steps to create an access token here](https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token)
99+
Follow [these steps to create an app specific password](https://support.apple.com/en-us/HT204397).
100+
The `APPLE_ID` variable is the Apple ID used to create the password.
101+
`APPLE_ID_PASSWORD` is the password Apple created for the app.
93102

94-
The signing certificate shall be in the root folder and be named `met.p12`. They will also have to be in your keychain
95-
The certificate password will be required before signing.
96-
Keep in mind that the process might take ~10 minutes because notarizing takes time.
97-
You might be prompted your keychain password during the process in order to access the installed certificate.
103+
The GitHub personal access token needs `repo` permissions.
104+
See the docs on [how to create a personal access access token](https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token) for more information.
98105

99-
To publish the application, run
106+
The signing certificate shall be in the root folder of the repository.
107+
The certificate password will be required during the signing process.
108+
The signing process may take several minutes because notarization requieres uploading the app to Apple.
100109

101-
```shell
102-
npm run release
103-
```
104-
In order to verify that the application has been successfully sign and notarized, run
110+
In order to verify that the application has been successfully signed and notarized, run:
105111

106-
```shell
112+
```sh
107113
# Verifies the app has been signed
108114
codesign --verify --verbose ./dist/mac/Metronome\ Wallet.app
109115

110116
# Verifies the app has been notarized
111117
spctl -a -t exec -vvv ./dist/mac/Metronome\ Wallet.app
112118
```
113119

120+
#### Windows
121+
122+
To sign the application, a certificate for the Microsoft Authenticode platform is required.
123+
The certificate, a `.p7b` file, will then be required during the build process.
124+
125+
Current provider is [DigiCert](https://www.digicert.com).
126+
114127
## License
115128

116-
MIT
129+
MIT

scripts/notarize.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,6 @@ exports.default = function notarizing(context) {
1414
appPath: `${appOutDir}/${appName}.app`,
1515
appleId: process.env.APPLE_ID,
1616
appleIdPassword: process.env.APPLE_ID_PASSWORD,
17+
ascProvider: '99Y6CF5TBP'
1718
});
1819
};

0 commit comments

Comments
 (0)