When setting up Tramline to run your mobile releases, one of the first things that you need are workflows in your CI server that can create the builds you use in the release cycle. Writing these workflows can be annoying since each CI system has different ways of configuring jobs, storing files, caching, etc.
For mobile apps, setting up the official toolchain involves a lot of moving parts especially when creating signed builds that can be uploaded to the App Store or Play Store. If you're using cross-platform frameworks like Flutter or React Native, the setup can be even more time consuming.
So a few months ago, we started putting something together to improve the status quo. We're calling it Macige, which is an acronym for “mobile app CI workflow generator” because why not?
Macige is a set of CI workflow templates which can be customized using various options. You don’t need to sign in anywhere or make a new account: simply generate a workflow with your preferences, and copy paste it into your project!
Here’s what Macige already has:
Here’s what we're planning to add in the near future:
Macige is open source software under the MIT license, and we'd love to hear your suggestions. Have a look at our issue queue on GitHub, or make a new one if you have something else in mind. Or come join the party and send us a pull request!
One of the project's future goals is to guide users through creating CI workflows — either through a CLI or a web service — rather than simply being a textual reference. The handling of workflow templates (via askama) should be easily portable to other settings.
2022 was a long and eventful year for Tramline, and as we step into the new year, we wanted to do a quick recap and talk about where we’re headed.
We wrote an open source free-standing wrapper over the App Store Connect APIs.