iOS CI on GitHub Actions: tests, caching, signing and TestFlight
Essence
GitHub Actions is a CI where the pipeline is a YAML file in .github/workflows/ that lives in the repository next to the code. For iOS it comes down to three things: a macOS runner with the right Xcode, xcodebuild for tests and archives, and a signing solution. Below is a working setup with two workflows: checking every PR and shipping to TestFlight on a tag.
The rest of this answer, with code and interview follow-ups, is in the DevPrep app.
Read the full answer in DevPrep