-
Notifications
You must be signed in to change notification settings - Fork 0
Automated Builds & Distribution
The agent is built and distributed automatically through CircleCI. The build process is defined in the .circleci/config.yml file and is triggered by pushing tags to the repository. Pushing tags will trigger builds to the stable release channel.
Manual builds can be triggered in CircleCI by running Trigger Pipeline on the main branch with the channel parameter set to the desired release channel (stable or beta). Beta builds will not update the apt repository as it does not support release channels.
Beta releases are not run automatically due to the cost of MacOS builds. To run a beta build, you must manually trigger the build in CircleCI.
Version numbers are pulled from the package.json file and are used to publish to Cloudflare R2 / the CLI update command. Git version tags are ignored in the build process and are for reference only.
Documentation should also be updated with each release to reflect changes in the agent. This can be done by running the following command:
yarn run versionThe build process relies on the following environment variables:
| Variable | Value |
|---|---|
| APPLE_ID | Apple ID Username of Developer Account |
| APPLE_ID_APP_PASSWORD | App-Specific Password for Developer Account |
| APPLE_TEAM_ID | Apple Developer Team ID |
| AWS_ACCESS_KEY_ID | Cloudflare R2 Read / Write Access Key |
| AWS_ENDPOINT_URL_S3 | Cloudflare R2 Endpoint URL https://<ACCOUNT_ID>.r2.cloudflarestorage.com
|
| AWS_SECRET_ACCESS_KEY | Cloudflare R2 Secret Access Key |
| GPG_PASSPHRASE | GPG Passphrase for Signing Debian Packages |
| GPG_PRIVATE_KEY | GPG Private Key for Signing Debian Packages (base64 encoded armored) |
| GPG_PUBLIC_KEY | GPG Public Key for Signing Debian Packages (base64 encoded armored) |
| OSX_APPLICATION_CERT_BASE64 | Apple Developer Application Certificate (base64 encoded p12) |
| OSX_APPLICATION_CERT_PASSWORD | Password for Application Certificate |
| OSX_INSTALLER_CERT_BASE64 | Apple Developer Installer Certificate (base64 encoded p12) |
| OSX_INSTALLER_CERT_PASSWORD | Password for Installer Certificate |
| RMAGENT_DEB_KEY | GPG Key ID for Signing Debian Packages |
To obtain Apple Developer Certificates, you must export them from the Apple Developer Portal, add them to a keychain, and export them as a .p12 file from the "My Certificates" section of the keychain. The .p12 file must be base64 encoded with base64 -b 0 / base64 -w 0 before adding it to the environment variable.
To obtain the GPG keys, you must export the public and private keys with gpg -a --export and gpg -a --export-secret-keys, respectively, and base64 encode them with base64 -b 0 / base64 -w 0 before adding them to the environment variable.
The public key should also be uploaded to the Ubuntu keyserver with gpg --send-keys <key-id> --keyserver keyserver.ubuntu.com.
The build process will also update install.sh and the Release.key file in the Debian repository using the public key in the GPG_PUBLIC_KEY environment variable.
Rack Manage • Website • Support • Getting Started