From 141e5ef348689228c2b278a38ec75a38890fd258 Mon Sep 17 00:00:00 2001 From: PastaPastaPasta <6443210+PastaPastaPasta@users.noreply.github.com> Date: Fri, 26 May 2023 13:41:48 -0500 Subject: [PATCH] docs: add macOS binary notarization docs (#5390) ## Issue being fixed or feature implemented Missing docs ## What was done? Added docs ## How Has This Been Tested? In release of v19.1 ## Breaking Changes None ## Checklist: _Go over all the following points, and put an `x` in all the boxes that apply._ - [x] I have performed a self-review of my own code - [ ] I have commented my code, particularly in hard-to-understand areas - [ ] I have added or updated relevant unit/integration/functional/e2e tests - [x] I have made corresponding changes to the documentation - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_ --------- Co-authored-by: UdjinM6 --- doc/release-process.md | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/doc/release-process.md b/doc/release-process.md index 7d4138c39c..cce8dc728c 100644 --- a/doc/release-process.md +++ b/doc/release-process.md @@ -199,6 +199,41 @@ cat "$VERSION"/*/all.SHA256SUMS.asc > SHA256SUMS.asc - Celebrate +### MacOS Notarization + +#### Prerequisites +Make sure you have the latest Xcode installed on your macOS device. You can download it from the Apple Developer website. +You should have a valid Apple Developer ID under the team you are using which is necessary for the notarization process. +To avoid including your password as cleartext in a notarization script, you can provide a reference to a keychain item. You can add a new keychain item named AC_PASSWORD from the command line using the notarytool utility: +``` +xcrun notarytool store-credentials "AC_PASSWORD" --apple-id "AC_USERNAME" --team-id --password +``` + +#### Notarization +Open Terminal, and navigate to the location of the .dmg file. + +Then, run the following command to notarize the .dmg file: + +``` +xcrun notarytool submit dashcore-{version}-osx.dmg --keychain-profile "AC_PASSWORD" --wait +``` +Replace "{version}" with the version you are notarizing. This command uploads the .dmg file to Apple's notary service. + +The --wait option makes the command wait to return until the notarization process is complete. + +If the notarization process is successful, the notary service generates a log file URL. Please save this URL, as it contains valuable information regarding the notarization process. + +#### Notarization Validation + +After successfully notarizing the .dmg file, extract "Dash-Qt.app" from the .dmg. +To verify that the notarization process was successful, run the following command: + +``` +spctl -a -vv -t install Dash-Qt.app +``` +Replace "Dash-Qt.app" with the path to your .app file. This command checks whether your .app file passes Gatekeeper’s +checks. If the app is successfully notarized, the command line will include a line stating source=Notarized Developer ID. + ### Additional information #### How to calculate `m_assumed_blockchain_size` and `m_assumed_chain_state_size`