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
		
	
| 
								 
											6 years ago
										 
									 | 
							
								# 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
							 |