Hey everyone! 👋 Welcome to the eighth issue of the iOS CI Newsletter. Hope you’ve all had an amazing couple of weeks!
I am very happy to announce that, from this week, the awesome people at Runway will be sponsoring the iOS CI Newsletter.
Getting the people behind a product that I personally like and with deep connections to the mobile CI/CD community to help me continue creating free content was one of my goals for the year, so I am very grateful to Runway for helping me achieve this 🎉.
This week I wrote an article on how I use GitHub Actions to automate repetitive processes such as posting content on Twitter. This is a slightly less common way of using GitHub Actions but, since minutes are free for public repositories, it can be a great option for automating repetitive tasks.
The command line at the heart of this scheduled task, which runs every Friday at noon, is written entirely in Swift.
One of the most important things to consider when choosing a CI provider is pricing. In this article, Marco Eidinger gives you a number of tips to keep your GitHub Actions bills as low as possible, or even free! 💰
I posted about xcmonkey, a tool made by Alexey Alter-Pesotskiy that allows you to stress test iOS apps from the command line, in the last issue of the newsletter. Since then, a new release with a Fastlane integration has come out, making stress testing your app on the CI a breeze.
Emerge Tools are looking for SwiftUI developers to trial a new service that automates snapshot testing without having to write any code. From reading the thread, it looks like this new tool will generate SwiftUI previews and compare them against a running app, which sounds very interesting.
If you or the company you work for have an app written in SwiftUI I would thoroughly recommend reaching out to Emerge Tools on Twitter and asking for early access.
I have definitely experienced the pain of the 'Resolve Packages' step in Xcode failing when using a weak internet connection. Christian Tietze came across this same issue recently and decided to monitor how much data was being requested by Xcode. He noticed that a single resolution step downloaded 45 MB of data! 😱
This highlights a potential improvement you could do to reduce your CI's run times and network usage by storing Swift Package caches on your runners or even using binary targets instead to reduce dependency sizes, as Antoine explains in his blog.
← Previous issue