Skip to content
Marco Julio Franco
Menu
All projects

Project 03 · Open source

Patrol Build Step

Bitrise step for Patrol

GPAC · open source · Apr 2025 – Jan 2026

In the Bitrise Steplib

Problem

At GPAC we use Patrol, by LeanCode, for integration tests on the flows that must always work. Bitrise only had a step to send tests to Firebase Test Lab, not one to build them, so every variation ended up with its own script. I pitched building a step and publishing it openly from GPAC to our Head of Development, and got the go-ahead.

How it’s built

A Go step that does what the scripts used to do. It installs the Patrol CLI if it’s missing, checks it matches the project’s Flutter and Patrol versions, builds the Android and iOS test bundles in debug or release, filters by tags and leaves the artifacts ready for the rest of the workflow.

What I did

The idea and the code are mine. I split the process into stages, each in its own Go package with unit tests, built the version mapping, and wrote the docs and the release process. To publish it I had to learn how the Bitrise Steplib works. I used Codex to help with the code.

How it’s used

Add the step to your Bitrise workflow and you’re set. Inputs and outputs are in the README.

Where it stands

v0.0.8 came out in January 2026 and joined the Bitrise Steplib in February. It’s open source, under GPAC’s GitHub. Several of our workflows now use the same step, which gives us flexibility with the tests.

What I learned

I got better at Go, learned to switch mindset from Flutter and saw that I adapt well outside my usual stack. Next time I’d document the flow in more detail before coding. I did it because I want to give back to the community some of what it has given me.

  • Terminal recording: the step building the Android test bundle.
  • Terminal recording: the step building the iOS test bundle.