Issue 46
Sponsored
iOS teams are switching to Codemagic because iOS has been a second-class citizen in many CI providers. Painful to get started or change anything, slow to update to the latest software - macOS, Xcode. Slow build speeds. NO MORE with Codemagic.
š Starting a new adventure š
This Friday was the last day in my role at Glovo. It has been a short but intense ride and I have had the chance to work on some very cool projects with talented and fun people on an app that I use a lot.
I leave the job feeling proud of the work I have done and with a bunch of friends that I really hope I can work again with in the future.
Now it is time for the next challenge, which is something that I have been wanting to do for a very long time: going indie and freelance part-time. I will be working half of my week on my indie apps and the other half for Runway, a company that has supported this newsletter since the very beginning and that I couldnāt be happier to be collaborating with!
While I know itās the right step to take and I now feel like it is the right time, I will admit that the decision to leave my full-time job was not easy. Leaving the financial security of a permanent job was hard, but with all the projects I had going on and for my mental health, I felt like I needed to gain some time. I felt pretty stretched, I was running on fumes and I was always wishing that I had more time to devote to my own projects.
I am super excited about the time I will now have to work on more features for my apps, create more content and, of course, grow this newsletter further!
Enough about me though, letās talk CI/CD, shall we?
P.S.: Did you notice that we have more providers on the list?
CI/CD providers latest software versions
Latest available Xcode and macOS versions on popular mobile CI/CD providers.
![Xcode Cloud](/providers/xcode-cloud.webp)
![](/providers/xcode-logo.webp)
16.1 Beta (16B5001e)
![](/providers/macos-logo.webp)
15 Beta 3 (24A5289h)
![Codemagic](/providers/codemagic.webp)
![](/providers/xcode-logo.webp)
16.1 Beta (16B5001e)
![](/providers/macos-logo.webp)
14.6.1 (23G93)
![Bitrise](/providers/bitrise.webp)
![](/providers/xcode-logo.webp)
16.1 Beta (16B5001e)
![](/providers/macos-logo.webp)
14.5 (23F79)
![GitHub Actions](/providers/github.webp)
![](/providers/xcode-logo.webp)
16.1 Beta (16B5001e)
![](/providers/macos-logo.webp)
14.6.1 (23G93)
![AppCircle](/providers/appcircle.webp)
![](/providers/xcode-logo.webp)
16.1 Beta (16B5001e)
![](/providers/macos-logo.webp)
14.5 (23F79)
![CircleCI](/providers/circleci.webp)
![](/providers/xcode-logo.webp)
16.1 Beta (16B5001e)
![](/providers/macos-logo.webp)
14.5 (23F79)
![GitLab CI](/providers/gitlab-ci.webp)
![](/providers/xcode-logo.webp)
15.4 (15F31d)
![](/providers/macos-logo.webp)
14.5 (23F79)
![Blaze](/providers/blaze.webp)
![](/providers/xcode-logo.webp)
16 Beta 5 (16A5221g)
![](/providers/macos-logo.webp)
14.5 (23F79)
š§Ŗ Detecting flaky tests using Tuist
As a developer, one of the most frustrating experiences is opening a Pull Request only to find that the tests are failing, even though they passed when you ran them locally. It is even more frustrating when the failing tests are entirely unrelated to your changes and were not failing when they were introduced.
These unreliable tests that yield inconsistent results across test runs are called flaky tests. While these test failures can be mitigated through retries, it is still important to monitor them and this is why I was super happy to see this blog post by Pedro PiƱera announcing a new Tuist feature that detects flaky tests š.
š± Vulnerabilities found in CocoaPods
E.V.A Information Security researchers recently found several vulnerabilities in the CocoaPods dependency manager that allow any malicious actor to claim ownership over thousands of unclaimed pods and insert malicious code into many of the most popular iOS and MacOS applications.
The CocoaPods team have been super quick to patch all vulnerabilities and, if youāre not a pod author you donāt need to take any action to adopt these changes. If you are an author though, there are some manual actions you need to take, so I would thoroughly recommend reading Ortaās blog post explaining the patches.
š Swift 6 language mode community adoption rate
The Swift Package Index team have been hard at work with an awesome new feature that tracks the progress of Swift 6 language mode adoption in the Swift package ecosystem by running regular package compatibility checks across all packages in the index.
To better cope with this featureās intensive work, which has run over 250,000 builds, the Swift Package Index team have recently migrated from manually configured macOS runners to ephemeral runners too and shared their experience and findings!
š° Free CI/CD for your side projects
If you have been following the newsletter for a while, you will know that I truly believe that setting up CI/CD pipelines for your side projects can have a positive impact on the projectās growth and development speed.
Despite this, setting up and maintaining a CI/CD service for your project can be overwhelming and sometimes costly, but it doesnāt have to be. In this article, Jacob Bartlett goes through how you can set up a fully featured CI/CD workflow at no cost!
š„ Release tooling and knowledge is way too distributed
So excited to share that my latest article on Runwayās blog is now live! In this article, I go through the struggles and pain caused by the distribution of knowledge and tooling during a release process and give you some tips on how to overcome these.