Developers need a fast, reliable CI to be productive. An excellent CI helps you quickly find issues in your code and confidently ship new code, reducing stress and helping you sleep better at night. But setting it up properly takes a lot of time. This talk isn’t about showing you how to set up a CI from scratch. Instead, you’ll get advanced tips and tricks for creating and maintaining an awesome CI for your iOS or macOS app. It’s time to level up your CI.
First, we’ll look at tips and tricks for unit, integration, and UI tests. When tests fail in CI, it’s vital to be able to tell at a glance why they failed — flaky tests can drive developers crazy! We’ll show you a few ways to investigate and fix flaky tests, and even flaky CI.
Linters and code analyzers are often overlooked, although they can help you identify bugs early. Along with code formatting tools and Xcode Thread Sanitizer, they bring your CI to the next level.
Next, we’ll cover how to properly validate your libraries before publishing to CocoaPods, Swift Package Manager, or Carthage. Say goodbye to developers pinging you that they can’t build the latest version of your SDK.
Some code is very hard to test and risky to change without introducing new bugs. You’re going to see a tactic that ensures nobody changes code like that by accident.
This session took place live at Mobile DevOps Summit on November 10, 2022.