Automating builds.
WHAT IT REQUIRES
A build machine running macOS.
WHAT OPTIONS EXIST
Apple's own hosted service Hosted services providing macOS runners Your own machine as a build server
WHAT TO AUTOMATE
Building Running tests Static analysis Signing Archiving Uploading for testing distribution
WHAT SIGNING IN AUTOMATION REQUIRES
Certificates and profiles available to the build machine, securely.
WHAT TO NEVER DO
Commit certificates or private keys to version control.
WHAT TO USE INSTEAD
Secure secret storage provided by the service, or an encrypted approach with managed access.
WHAT TO PIN
The tooling version.
WHY
Builds differing between machines are difficult to diagnose, and submission requires specific versions.
WHAT TO CACHE
Dependencies, to keep builds fast.
WHAT TO RUN ON EVERY CHANGE
Build and tests.
WHAT TO RUN ON RELEASE
Archive, sign, and upload.
WHAT TO MONITOR
Build times, which grow silently.