Neurodesktop Release Process
Neurodesktop
Section titled “Neurodesktop”- Check if the last automated build ran OK: https://github.com/neurodesk/neurodesktop/actions
- Run this build date and test if everything is OK and no regression happened.
- Check what changes were made since the last release: https://github.com/neurodesk/neurodesktop/commits/main
- Summarise the main changes and copy this to the Release History: /overview/release-history/
- Change the version of the latest desktop in https://github.com/neurodesk/neurodesk.github.io/blob/main/data/neurodesktop.toml.
- Commit all changes.
- Tweet a quick summary of the changes and announce the new version: https://masto.ai/@Neurodesk
Neurodesk App
Section titled “Neurodesk App”Release process
Section titled “Release process”Follow these steps to create a new release of the Neurodesk App.
-
If there’s a new version of the Neurodesktop image, a GitHub Action will open a PR with the updated
jupyter_neurodesk_versionin theneurodesktop.tomlfile. Double-check and merge this PR. -
Create a new release on GitHub as
pre-release. Set the releasetagto the value of the target application version and prefix it withv(for examplev1.0.0for Neurodesk App version1.0.0). Enter the release title and release notes. The release needs to stay aspre-releasefor GitHub Actions to be able to attach installers to the release. -
Make sure that the application is building, installing, and running properly.
-
In the main branch, create a branch preferably with the name
release-v<new-version>. Add a commit with the version changes in thepackage.jsonfile. This is necessary for GitHub Actions to be able to attach installers to the release (for example"version": "1.0.0"). -
GitHub Actions will automatically create installers for each platform (Linux, macOS, Windows) and upload them as release assets. Assets will be uploaded only if a release of type
pre-releasewith a tag matching the Neurodesk App’s version with avprefix is found. For example, if the Neurodesk App version in the PR is1.0.0, the installers will be uploaded to a release that is flagged aspre-releaseand has a tagv1.0.0. New commits to this branch will overwrite the installer assets of the release. -
Once all the changes are complete, and installers are uploaded to the release, then publish the release.
Update macOS certificate
Section titled “Update macOS certificate”Follow these step-by-step instructions to generate and export the required macOS certificate for the Neurodesk App release.
-
Launch the “Keychain Access” application on your Mac, go to “Certificate Assistant.”
-
Request a Certificate from a Certificate Authority: within “Certificate Assistant,” select “Request a Certificate from a Certificate Authority.”
-
Follow the URL to access the Apple Developer website: https://developer.apple.com/account/resources/certificates/add, upload the generated certificate.
-
After uploading the certificate, download the resulting file provided by the Apple Developer website.
-
Import the certificate in Keychain.
-
Right-click the imported certificate in “Keychain Access”, choose “Export” and save it in
.p12format. -
Convert the
.p12file to Base64 using the following command:Terminal window openssl base64 -in neurodesk_certificate.p12
Update the GitHub secrets for the Publish workflow
Section titled “Update the GitHub secrets for the Publish workflow”To set these secrets, go to your repository Settings, Secrets and variables, Actions, Repository secrets:
APPLEID: email address associated with your Apple Developer account.
- Found in: your Apple ID account settings.
APPLEIDPASS: app-specific password for your Apple account.
- Found in: https://account.apple.com/, Sign-In and Security, App-Specific Passwords.
- Generate a new one if needed for this specific use case.
APPLE_TEAM_ID: your Apple Developer Team ID.
- Found in: https://developer.apple.com/, account name (top right corner), View Membership, Membership Details section.
- Look for the “Team ID” field.
CSC_KEY_PASSWORD: the password you set when converting the certificate in the “Update macOS certificate” section above.
CSC_LINK: Base64-encoded content of the .p12 certificate file.
- This is the output from the
openssl base64 -in neurodesk_certificate.p12command in step 7 above.