You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			43 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
# Building
 | 
						|
 | 
						|
Building session 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
 | 
						|
 | 
						|
## 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
 | 
						|
        * Name: `MAC_CERTIFICATE`
 | 
						|
        * Value: The encoded Base64 certificate
 | 
						|
    2.  Certificate password
 | 
						|
        * Name: `MAC_CERTIFICATE_PASSWORD`
 | 
						|
        * Value: The password that was set when the certificate was exported.
 | 
						|
    3.  Apple ID
 | 
						|
        * Name: `SIGNING_APPLE_ID`
 | 
						|
        * Value: The apple id (email) to use for signing
 | 
						|
    4.  Apple Password
 | 
						|
        * Name: `SIGNING_APP_PASSWORD`
 | 
						|
        * Value: The app-specific password that was generated for the apple id
 | 
						|
    5.  Team ID (Optional)
 | 
						|
        * Name: `SIGNING_TEAM_ID`
 | 
						|
        * Value: The apple team id if you're sigining the application for a team
 |