Issue 24
Sponsored
No more cat-herding, spreadsheets, or steady drip of manual busywork. Runway helps your team level up your release coordination and automation, from kickoff to release to rollout.
Hey everyone! 👋 Welcome to the twenty-fourth issue of the iOS CI Newsletter. Hope you’ve had a great couple of weeks!
I am just back home after spending the week at iOS Dev UK in Aberystwyth 🏴, where I gave a talk about making developer tools with Swift.
In the talk, I went through a few examples of automations and tools that I have built in the past and why it is a good idea to build any developer tools which are internal to your iOS or macOS team in Swift.
I am very happy with how the talk went, how much positive feedback I got and how many people came up to me to share either their own experiences with building developer tools with Swift, to ask for advice on problems they were facing or to say that they were going to start building more tooling with Swift.
If you’re interested in taking a look at the slides, where I also share numerous resources that might be useful to you, you can find them here.
🚀 Automated accessibility testing
Last week I wrote an article on how you can perform automated accessibility audits in Xcode 15, which shows you how you can use new XCUIElement
APIs to ensure your app is accessible directly in your UI tests.
At the end of the article I also have a section showing you how you can run these tests on CI with a single command and how you can access the result bundle for the audit and make it available to your team when the job fails.
⚡️ ETTrace: Faster performance debugging
A while back I announced that the team at Emerge Tools had released a framework aimed at making performance debugging easier and faster than Xcode’s instruments.
This week, Bruno Rocha, who I have been following for a while and whose articles I always enjoy, wrote a great article on how ETTrace works and how it can help you debug performance issues in your app.
✅ Get ASC app status updates on Slack
Roger Oba, one of fastlane’s core contributors, has launched a brand new service called Statused that allows you to get updates on your App Store Connect app’s status directly in Slack.
This is a brilliant idea and it’s a great way for you and your team to get notified about any issues with your app’s status, such as when it’s processing or when it’s ready for sale.
💻 How to set up self-hosted GHA runners
Manu Herrera has been sharing amazing content around tooling and automation on his blog recently and it’s very quickly becoming one of my favourite CI/CD online resources to follow.
This week, Manu wrote a great article on how to set up self-hosted GitHub Actions runners, which is a great way to speed up your CI/CD workflows and reduce your costs. Furthermore, Manu compares self-hosted runners to GitHub-hosted ones and weighs up the pros and cons of each.
🧪 Automated testing of Tuist projects on CI/CD
I met Ronan at NSBarcelona a few months ago and we had a great chat about Tuist, CI/CD and automated testing.
Back then, he mentioned that he was working on a series of articles on how to set up automated testing for Tuist projects on CI/CD and this week he published the first part of the series, which is worth a read!