iOS CI Newsletter

A fortnightly independent newsletter gathering all updates and news about Continuous Integration and Continuous Delivery from the iOS community.

Issue 25


Put your mobile releases on autopilot.

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. Get started for free โ†’

Hey everyone! ๐Ÿ‘‹ Welcome to the twenty-fifth issue of the iOS CI Newsletter. Hope you've had a great couple of weeks!

What a couple of weeks these have been if you're a Swift developer! We got a new version of iOS and Swift, a new release of Xcode and brand-new devices too. I bought myself an iOS 15 Pro and an Apple Watch Ultra 2, which were delivered on Friday and I am loving them so far!

In terms of what I have been working on, Hidde and I have been busy getting a vastly improved and redesigned version of NowPlaying ready for release. We're hoping to have it out at some point in October with some great new features such as interactive widgets, better airdrop support and hopefully App Clips to better share songs with friends.

๐Ÿ“ฌ I'll keep you all up to date on how the new version is coming along, but in the meantime, let's get into this week's newsletter!

๐Ÿš€ How to set up Swift on Linux using swiftly

The Swift Server Workgroup (SSWG) released version 0.1.0 of their open-source tool swiftly, which makes it easy for developers to download, install and manage Swift toolchains.

To celebrate this release, I wrote an article on how to set up Swift on a Linux CI/CD machine on GitHub Actions using swiftly.

๐Ÿ“ฆ Swift Package template

After I tooted about my article on how to set up Swift on Linux last week, Matt Massicotte replied with a link to his Swift Package template, which I hadn't come across before.

The template, which is open-source and available on GitHub, is a great starting point for making new Swift packages. It includes several useful features, such as a setting to enable complete concurrency checking, a YAML file with configuration for adding the new package to the Swift Package Index, and a GitHub Actions workflow for running tests on CI/CD for both Apple and Linux platforms.

๐ŸŽ‰ Swift 5.9 is out!

Together with the release of iOS 17, Apple announced last week that Swift 5.9 is now out too!

Along with some great improvements to the language, Swift 5.9 also includes some new game-changing features for tooling and CI/CD, such as the new accessibility audits in Xcode 15 and the new network request permissions for Swift Package plugins.

โš ๏ธ Time to update your GitHub Actions

Node 16 has now reached its end of life and, as a consequence, GitHub has started its deprecation process for GitHub actions.

If you're using GitHub Actions that use Node under the hood, such as actions/checkout or actions/upload-artifact, you'll start seeing warnings in your logs. To silence them, you'll need to update to the latest version of these actions (v4), which are now available and use Node 20.

If you have a bunch of workflows you need to update, I would recommend reading this article by Marco Eidinger as it includes a handy script to automate the process that you can update to use version 4 instead of 3.

๐Ÿ–ฅ๏ธ How to use EC2 Macs for Apple app CI/CD

The Mobile DevOps Summit is coming up in a couple of weeks and, to celebrate the occasion, Bitrise is publishing a series of spotlight articles on some of the speakers.

A session that caught my eye and I am looking forward to is Apple @ AWSโ€”CI/CD developer environments on EC2 Mac by Dave Siederer, a Senior Specialist Solutions Architect for EC2 Mac at AWS. There has been a recent trend of companies moving their CI/CD systems to EC2 Macs, and I'm looking forward to hearing more about the benefits and experiences of doing so.

๐Ÿงช A new macro-based approach to testing in Swift

The Swift Forums are a great place to keep up to date with the latest developments in the Swift community. This week, Stuart Montgomery, a software engineer working on the XCTest team at Apple, shared a new macro-based open-source Swift testing library.

I haven't tried it yet, but the code snippets in the post look very interesting and I'm looking forward to giving it a go.