Android and iOS support in the same project



I’m maintaining an open-source React Native module that includes native components. I’ve recently set up native unit tests for both Android and iOS alongside JS tests using npm test.

At the moment I have two jobs: One on Travis CI and one on Circle, because neither platform seems to provide the Android SDK on OS X. I’m certain Travis doesn’t. I’m not sure about Circle. Currently I’m running Android unit tests using Fastlane in a Circle Linux container, and that works very well. But when I switch to an OS X environment, the android command is not found, so I suspect it’s not available on OS X images from Circle either. I can always bootstrap a Node or Ruby environment without built-in support, but lacking the Android SDK or Xcode prevents building one platform or the other.

Is it possible to have multiple environments for the same repo? For example, when a PR is submitted, can I start an iOS build in an OS X container and an Android build in a Linux container at the same time? Or sequentially?

I’d really like to get all my CI onto Circle, but without one of these two things, I don’t know if I can.

Here’s the repo in question:

If I could make something like that Android setup work in an OS X container, that would be a solution, though separate containers might be the better answer if it’s available.


You can now run both Android and iOS builds in the same repo on CircleCI. If you are interested in trying it out, please reach out at


We have launched CircleCI 2.0 for macOS Below, please find the docs to migrate your project from 1.0 to 2.0.