This is the 15th post for Mercari Bold Challenge Month.
Hi, I’m @celia, an iOS Engineer working at Merpay. In this article, I want to share about how we use automation to increase the team’s productivity. We use tools like fastlane and appium for automated tests, but that's a topic for another blog post.
Today I want to introduce how our automation infrastructure allows engineers to implement features that help the team to be more productive, and automates repetitive manual tasks. Mercari’s engineering culture encourages us to take ownership, automate routine tasks and create tools to keep the team’s daily operation running smoothly (If you want to learn more, see this, and this blog post). Hope by the end of this article, you will gain a broader understanding of automation, and maybe play with your own toolkit a bit more.
Firstly, I will give you a quick introduction on the tools and platforms we use and how it’s all connected. Next I will talk about how I created karakuri to improve the team’s productivity. The first one is a slackbot feature that helps the team to pick up code reviews faster. The second one is a command that automates the integration between merpay and mercari iOS codebase, that saves us from doing repetitive manual work.
Introducing mobile team infrastructure
Our infrastructure is made up of four main components:
- Automation: Tasks triggered by github webhook, scheduled (cron) tasks
- Bot: Tasks triggered by slackbot command, such as running tests, deployment, release, and integration
- CI: Bitrise, CircleCI
- Data: Unit test coverage, test running time, CI success rates