📣 Join our Flight Deck mobile engineering meetup on Nov 20th in SF — RSVP
📣 Join our mobile engineering meetup on Nov 20th in SF — RSVP

Product Updates

Build Distro

Understand exactly what’s changed, with a combined diff of code & tickets alongside each new build

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.

work-items-diff

Make it painless to grab one-offs & feature builds, with automatic install links on PRs

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.

pr-install-comment

Release Management

Submit and release on green: more options for full automation, without sacrificing safety

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.

Screenshot 2023-06-26 at 13.53.50

Make sure important updates and time-sensitive blockers don’t go unnoticed, with targeted notifications

‍‍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.

slack-mentions-1

Keep your development branch up-to-date at all times, with a new option for Runway’s backmerge automation

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.

Get a complete overview of any active or completed release without leaving Slack

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.

status-slack-action

Even more options for getting your team’s unique stack fully integrated in Runway

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:

  • Google Analytics (observability & analytics)
  • Azure Repos (version control)
  • Embrace (stability monitoring)
  • Microsoft Teams (notifications – in beta)

Introducing Build Distro by Runway: making it dead simple to get the right builds into the right teammates’ hands

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!

📲Get the right builds into the right people’s hands

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.

✨ Share one-offs & early test builds more easily

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.

đź”’ Make it impossible to ship the wrong build to prod

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.

đź“Ą Install builds with less hassle, and more context

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.

⚙️Integrate with your existing tools for zero extra overhead

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.

🤝 Standalone or tightly integrated with the rest of Runway

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.

Eliminate flakiness and save CI credits with automatic build uploads to TestFlight & Play Console

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.

Get builds into your team’s hands hassle-free, with one-click shareable links 

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.

‍

Even more ways to ship, with new platforms and integrations

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:

  • Amazon Appstore (app store integration)
  • Firebase App Distribution (beta integration)
  • Monday.com (project management integration)
  • tvOS (platform type)

🪄 Introducing Quickstart CI/CD by Runway 🚀

Since we started Runway, a lot of folks have come to us motivated to automate their entire release process and improve collaboration around mobile, but lacking an important prerequisite for getting fully integrated in Runway — namely, CI/CD.

Turns out that, despite the GUIs and workflow builders that are now the norm for cloud CI, and despite the awesomeness of fastlane, people still struggle to get an end-to-end pipeline stood up. It’s not their fault: even with the GUIs and workflow builders and fastlane, everyone still has to reinvent the wheel. You need to piece together the right steps, gather the right configs, store the right secrets, perhaps even write some Ruby and random YAML flavor-of-choice…

At Runway, we think mobile CI/CD should be the easy part — a true out-of-the-box unlock. That’s why we’re launching Quickstart CI/CD, a free tool for growing teams and indies that can autogenerate a complete build-and-deploy pipeline for Android or iOS in minutes.

Simply run the wizard and let Runway do the heavy lifting. There’s no lock-in to worry about, and you’ll be able to build on top of the pipeline as your needs grow. Under the hood, Runway is assembling all the necessary steps, configs, and secrets, then generating CI-native config files to merge straight into your repo or take with you wherever you like.

We're excited for everyone to try this out! Click here to get started.

Avoid tedious git wrangling for post-kickoff fixes with automated cherry picks into your release branches

We know that getting late-arriving fixes into a release post branch cut can be an annoying exercise. Depending how your team does things, you might be delicately cherry picking changes over onto the release branch, wasting time fix by fix, or else you’re relying on cumbersome backmerges post-release (and dealing with the all-too-common mess that arises when said backmerges are inevitably forgotten!). 

Runway’s newest automation streamlines the process of getting fixes into a release by automatically cherry picking specific work that your team flags from the working branch into the appropriate release branch. Any PR that contains a designated, customizable pattern in its title is actively monitored by Runway — as soon as it’s merged into the working branch, Runway will cherry pick the relevant commits and open a PR against the specified release branch. If you also have the “merge Runway PRs” automation enabled, the fixes will be auto-merged once required checks pass — there’s nothing more your team needs to do.

‍Tailor Runway-generated PRs, commits, and more with customizable, templated string definitions

Runway automates away lots of manual tasks throughout the release process, and in doing so, it produces many artifacts along the way. Think pull requests, commit messages, GitHub releases, etc. Runway auto-generates relevant messages and copy to go along with each of these, but teams have told us they want more control over this kind of metadata — to do things like add Conventional Commits prefixes or tailor release changelogs to their liking.

Now, you can customize the strings that appear in Runway-generated artifacts. Take Runway’s version bump automation, for example — the PR that Runway creates with the version bump commit can now be configured with:

  • A custom PR title
  • A custom PR body
  • A custom commit message

To allow for dynamic, relevant text, these custom string definitions support a number of special tokens that can pass in info like the release version, release branch name, CI and store build numbers, release pilot info, and more.

Head to the “Custom strings” section on your app’s settings page to check out the full list of custom string options.

Get an even better handle on the state of your feature flags — and toggle them on and off — all from within Runway

We’ve continued to build on Runway’s new feature flagging integration with the evergreen aim of making Runway the single source of truth for all of your tools, throughout the entire dev and release lifecycle. To pull in additional context teams have been asking for, clicking into a specific feature flag opens up a new detail drawer, surfacing properties like target delivery rules and audiences. From here, you can now also toggle the feature flag on and off to quickly update its status without leaving Runway.

And, we’re happy to announce that we now support LaunchDarkly as our newest feature flagging integration, with more providers coming down the pipeline.

‍Take full control of your release pilot rotation with customizable ordering

We know folks are relying on Runway’s release pilot rotation to share release responsibilities across their team, so we’ve made it easier to manage exactly who’s on duty, and when. In addition to adding and removing team members from the list of pilot-eligible users, you can now order and reorder the list to configure the exact rotation you want to run.Â