If you’re part of an iOS team, chances are you’ve had to deal with the massive headache that is wrangling device registration and managing provisioning profiles. Or, maybe you have some heroes on your platform team who spend way too much of their time dealing with all of this busywork for you and the rest of your team. Whatever the case, you can now hand off all this hassle to Runway: we’ll keep your team’s devices updated in the Apple Developer portal as folks come and go, and automatically generate and re-generate relevant provisioning profiles along the way.
It all starts with a seamless flow that makes it dead simple to collect new device identifiers from your team – no more fumbling around for those long IDs that no one knows how to find. With just a couple of taps, you can install a web clip on new devices to automatically collect the device identifier and send it over to Runway (plus, if you’re using Build Distro, the web clip also gives the device instant access to your team’s build buckets).
Runway will automatically register new devices in the Apple Developer portal and disable devices when folks leave your team, freeing you from needing to stay on top of that constant cleanup. Each and every time your list of registered devices changes, Runway takes care of updating the necessary provisioning profiles to ensure new builds are installable by all the right team members.
When you identify a critical issue in production and need to get a hotfix going, time is of the essence. At the same time, the rush to get a fix in and out the door often leads to silly mistakes. So, we’ve added a new automation to Runway’s hotfix flow to both speed things up and make things less error-prone. In addition to existing options to automatically cut a branch from your last release tag and immediately bump version on that branch, you can now also select all the necessary fixes from your development branch, and Runway will cherry-pick them over into the hotfix – all in a single step.
Slack user groups are a good way to get the right comms in front of the right teams and roles within your org, but they take work to manage and keep up to date. Now, Runway can take that work off your plate. When you enable Runway’s new ‘Sync Slack groups’ automation, you’ll specify a mapping of roles (e.g. engineers, PMs, QA, etc.) to the Slack user groups you might already use – or want to use – for those different folks on your team, and we’ll take it from there. First, Runway auto-creates any Slack groups that don’t yet exist, then continuously ensures all groups are kept up to date by automatically adding or removing users for each as folks join, change roles, or leave your team.
Once you have your roles-to-groups mapping defined, and even if you choose not to enable the syncing automation, Runway can use the mapping to @mention the appropriate groups whenever needed – for example, if you have assigned a checklist or approval item to a specific role, or if you add a role to a specific Runway notification.
Every team has that post-release ritual where someone has to open up a bunch of browser tabs and chase other folks down for various pieces of release context, then copy-paste it all together and get that summary in front of a wider audience within the org. Of course, the Runway platform itself is one good substitute for this tedious exercise, giving everyone self-serve access to the complete picture release to release. But Runway now also helps you easily distribute release info outside the platform, to the constellation of interested folks who aren’t as close to the process or to mobile in general, by automatically generating release summaries and optionally sending those out via email after each release. You can customize these release summaries to suit your team’s needs, with a range of dynamic tokens that Runway will populate based on actual data from the release.
Oftentimes teams need to get artifacts to multiple different places as they advance through different stages of internal distribution. For example, you might start distributing feature builds through Build Distro, then advance to a wider audience via TestFlight or Play Console testing tracks. To help with this process, we’ve taken the artifact upload automation that already existed on the release management side and brought it over to Build Distro as well. You can enable the upload automation on a per-bucket basis and configure the specific destination where artifacts are sent onwards to. Automatic retries safeguard against intermittent errors during this often-flaky part of the process.
Runway’s existing trigger workflow automation makes it easy to generate new builds as needed, whenever there are new changes to build, based on a given Build Distro bucket’s rules. But there are certain flavors of builds, typically those off of busy shared branches, which need a more measured approach. Think nightlies or other shared builds off of your team’s main development branch. A new option on the automatic trigger bucket automation allows you to change its behavior so that it runs on some recurring cadence you define – hourly, daily, every N hours – instead of on every diff.
Building on our functionality that lets you render certain release steps as non-blocking in the context of your overall release workflow in Runway, we’ve added more ways to further customize release steps. First, for non-blocking steps, you can now choose to hide those steps completely from release timelines if they’re not at all relevant for your team. And, you can configure non-blocking steps per release type, allowing you to adjust your team’s workflow for normal releases vs hotfixes.
Many teams have already streamlined and shored-up their pipelines by handing the build upload step over to Runway: we take care of grabbing the right artifacts and ensuring they get uploaded, with automatic retries if needed. But on the Android side, with the way Play Console works, that just lands builds into “general storage”, with teams needing to move builds onwards to an initial track from there. Certain existing Runway automations help with track promotion later in the release cycle, but we can now also help with initial track release creation. A new option on Runway’s build upload automation lets you specify a default initial track for uploads, so we’ll make sure new builds make their way out of storage and onto that track.
If your company is on the larger side, chances are you’re managing your organization’s teams, users and their permissions from a centralized directory like Okta, Microsoft Active Directory or similar. But up until now, for user and team management within Runway, admins have had to do things manually. Now, with directory sync support, Runway integrates with your company’s directory provider to take care of everything automatically for you: from assigning new users the correct roles and app membership, to updating users who change teams along the way, to deactivating users who leave your org.
Plus, you might remember that Runway also supports automatically syncing users and roles to App Store Connect and Play Console — so, combined with this new directory sync functionality, you can now automate user management all the way from your org’s centralized directory to the stores (something not available out-of-the-box from Apple or Google).
For many teams, getting a complete picture of release health means pulling from multiple different data sources, especially when it comes to things like performance monitoring and product analytics. To allow for this, you can now simultaneously connect as many of these kinds of observability and analytics tools as needed (Amplitude plus Datadog, say). Runway will pull signals from all of these sources into your Rollouts view and you’ll be able to configure health metrics attached to each and every one.
Additionally, we’ve added support for a number of new metric types: average, median, and 90th/95th/99th percentiles of property values are all now supported for most of our Observability & Analytics integrations, with even more metric types coming soon.
Depending when you first kick off a phased rollout, it could be that a big step-change in user adoption will happen on a day – or at a time – when your team might not be quite as ready to quickly address any issues that arise. Now, you can avoid this by configuring blackout days and times during which Runway will temporarily pause your rollouts. For example, you can prevent rollouts incrementing over the weekend, or outside of normal business hours.
One of the big goals with Build Distro is to make it dead easy to distribute and organize all the different build flavors your team cares about. Now, there’s an even more seamless way to handle personal and team-specific feature builds, with user filters on build buckets that automatically direct these sorts of early dev builds to the right place.
How it works is quite simple. If you’ve set up your bucket with a PR rule, only builds generated from PRs that were authored by the specified users will be pulled into the bucket. If you’ve set up your bucket with a branch rule (not pictured), only builds generated from commits that were authored by the specified users will be pulled into the bucket. Specify single users to create personalized buckets for WIP dev builds, or groups of users to create dedicated build buckets for different feature teams across your org.
Typically, teams are stuck between a rock and a hard place when it comes to getting the variety of build types they care about distributed: either trigger each different flavor manually all the time, or else set up and maintain a delicate web of conditional triggers in CI. With the addition of automatic workflow triggers on Build Distro buckets, you now get hands-free distribution for every different build flavor, with all the correct configurations taken care of for you out-of-the-box.
For example, consider a build bucket one of your feature teams has set up. It might have a PR rule configured that grabs builds associated with PRs against your main branch, authored by members of that team. Now, if you flip on the bucket’s build trigger automation, Runway will automatically generate new builds for that team whenever their members open or push to PRs against main (and then route those builds to the right place as usual).
Letting your testers know what’s new in a given build is a distribution best practice, but it’s also a tedious, manual step that quickly becomes error-prone and a drain on the team. Now, Runway can automatically generate and populate tester notes for you, based on the diff since the previous build of the same flavor. In addition to listing commit info, diff items link out to associated PRs and project management tickets, so your team gets the complete picture and things are easy to digest for technical and non-technical teammates alike.
Our goal with Build Distro is to make it dead simple for anyone on your team to grab the right build at the right time. And in order to achieve that, we need to be sure folks have a complete, understandable snapshot of what each build contains. So, we’re taking the popular Feature Readiness view from Runway’s release workflow and applying it to each and every build you distribute via Build Distro.
When you click (or tap! — don’t forget, Build Distro plays nicely on your phone) into the build detail view, you’ll see a diff that contains a composite of code and tickets for a full picture of work that went into the build. In addition to seeing changes since the previous build of the same type, you can scroll further back in the diff with clear demarcation between older builds as you go — helpful for folks who haven’t grabbed this kind of build in a while and need to catch up.
When it’s hard to get incremental, on-the-fly builds into people’s hands, teams tend not to bother – and that has a negative impact on collaboration and app quality. Build Distro’s buckets system already takes a big step towards making these sorts of one-off and feature-based builds easier to distribute. Now, we’re tackling more of the “last mile” problem by ensuring direct access to downloadable builds is never more than a click, tap, or QR scan away.
For any Build Distro buckets you’ve configured to grab builds from pull requests, you can enable a new automation that will post comments on the appropriate PRs, including info on each new build and direct links and QR codes for seamless installation. Now, whether a teammate is in the weeds code-reviewing a PR or is just curious about its latest changes, they have that version of the app at their fingertips.
Most of you are probably familiar with the existing automations that allow you to set target dates and have Runway automatically submit and/or release on schedule – provided preceding steps and approvals in your release workflow are good to go. Those safeguards are important, but it’s also a shame to lose hands-free mode if you’ve only missed your target deadline by a little bit and the last few pending items will be ready soon.
Now, you get the best of both worlds with a new option on Runway’s submission and release automations that allows it to “proceed on green”. With this option enabled by itself, you can have Runway automatically submit or release just as soon as all preceding steps are in a good (green) state. Or, if you couple this new option with target dates, Runway can submit/release automatically at the scheduled time or, if not all steps are ready, any time afterwards once all steps are green.
Slack can be a noisy place, making it easy for important notifications to get missed. To ensure no balls get dropped and give you full confidence that folks who need to be aware of a critical update or time-sensitive blocker are indeed aware, you can now add targeted mentions to each and every Runway notification on a per-notification basis. You can assign roles or specific users and they will be called out or @-mentioned using their Slack handles, respectively.
For teams who use the backmerge approach to pull late-arriving fixes applied to release branches back over onto their development branch, some amount of Git wrangling is always necessary. Runway already offered a way to automate that away, by automatically backmerging from release branch into dev (and any upcoming release branches) at the end of each release cycle. But some teams told us that with the pace of their development cycles and multiple releases stacked up, they needed a more continuous backmerge operation – and they were wasting lots of time managing that by hand.
Now, Runway can offer automated continuous backmerges. Choose the corresponding option in the backmerge automation settings and Runway will perform immediate backmerges as each item of late-arriving work lands on your active release branch.
To save you even more context-switching and give even more of your team easy access to Runway’s single source of truth, we added a new Slack action you can use for a quick overview of any upcoming, live, or past release. Just call /runway status from any Slack channel, passing in the app and version you’re interested in, and Runway will post a message containing target dates, release step statuses, phased rollout progress and health metrics.
We’re continuing to integrate Runway with all the different tools mobile teams tell us they’re using. Here are the noteworthy recent additions to our lineup of integrations:
We’re very excited to announce the launch of Build Distro, a better tool for mobile build distribution that makes it dead simple to get the right builds into the right teammates’ hands! 📲 🚀
Build Distro allows you to clearly define and group the different types of builds your team distributes — from one-offs and work-in-progress dev builds, to staging builds, to release candidates. You can avoid the usual jumbled pile of builds that folks have to carefully sift through, and give technical and non-technical team members alike an easier way to grab builds, with streamlined installation via QR or Slack link. With hassle-free distribution, your team can check out builds earlier and more often, improving collaboration and app quality.
Continue reading below for all the highlights, and check out the Build Distro docs to get started!
Build Distro introduces the idea of build buckets to allow you to clearly define and group different flavors of builds. Instead of having all distributed builds landing in that jumbled pile, you can now separate different kinds of builds using definitions based on branch, CI workflow, or some combination of both — or using more freeform, ad hoc buckets. Not only are build flavors logically separated into buckets, but you can set up targeted notifications and scope access per bucket to ensure the right people are aware of and able to seamlessly install new builds relevant to them.
With branch-based and ad hoc, personal build buckets, Runway makes it much easier to share work-in-progress builds. You can create dedicated buckets for test builds and nightlies on your main development branch or any feature branches, and everyone on your team can also have their own personal buckets to drop updates into as they work. Product managers, QA, designers, and other engineers and stakeholders can now easily grab any WIP builds, earlier and more often during the development cycle, helping your mobile org improve quality and shift left.
One of the worst failure modes around build distribution has to do with test or staging builds getting accidentally shipped to production. It may be rare, but when it happens, it can be devastating. Confusion around distributed build flavors is often to blame, and Runway’s build buckets remove this risk. Clearly delineate prod and pre-prod builds, and scope access accordingly.
Even once someone has tracked down a build they want to check out, actually getting it onto their device comes with its own hassles. Runway makes installation foolproof and seamless: with each build, you can install directly by scanning a QR code or sending yourself a link in Slack. Plus, alongside each build you can see full context on the build flavor and exactly what work it contains — no more guesswork, pinging build numbers back and forth and hoping you’re grabbing the right version of the app.
Getting up and running is simple: connect your existing CI and… that’s it. Once you’re connected, Runway will get you started with a few default shared buckets for development and RC builds, and anyone on your team can easily create scoped personal buckets. To define a new shared bucket, simply select a branch and a workflow (from among any defined in your CI, automatically pulled in by Runway) and builds will start populating the bucket with no further intervention.
Exactly how you leverage Build Distro is up to your team. You can spin up Build Distro by itself and use it as a standalone tool. Or, for a tightly integrated experience across the entire dev and release cycle, Build Distro plugs seamlessly into Runway’s end-to-end release management platform as a beta integration, allowing you to manage everything to do with pre-prod builds and testers alongside the rest of the release context.
With Build Distro, the Runway platform is unlocking yet another aspect of a more collaborative and streamlined mobile development experience for teams — not just for engineers, but for each and every role and stakeholder involved. We would love to hear your thoughts, and invite you to reach out for a personalized, guided tour!
And stay tuned for more: our roadmap includes Build Distro iterations that will tackle things like provisioning and signing, triggers and other bucket-level automations, and even more ways to create and share one-off dev builds.
Runway can now take over the upload step of your CI/CD pipeline, automatically grabbing artifacts from CI workflows and sending them to destinations you specify. Not only does this save you precious build minutes, but Runway’s automatic retries help eliminate flakiness and the need to babysit things.
Configuring uploads is easy and flexible: simply select which CI workflows to upload from, point Runway to any specific artifact files to upload (tokenized patterns accepted), and choose particular destinations to upload to. Runway will automatically perform the uploads on each workflow run, retrying failed uploads if needed and optionally notifying your team about the outcome of every upload.
For more details on getting started with the artifact upload automation, head to the Runway docs.
Producing installable builds for testing as part of your CI/CD workflow is the easy(ish) part. Actually getting those builds into your team’s hands, seamlessly and without confusion, can be challenging. Now, you can share foolproof installation links in just one click: right from the Artifacts module of each build in Runway, send a link to teammates in Slack that will allow them to easily install the build onto their own device without any hunting around or extra steps.
Life isn’t always as simple as Android & iOS, or GitHub & Jira. We know that Runway teams are shipping their products across various different platforms, and using various different tools in the process. Continuing our mission to cater to every flavor of mobile (and mobile-adjacent) team, we recently added support for: