The main missing feature for us of CircleCI is matrix builds. These are useful for checking that your projects builds with e.g. multiple versions of a compiler. Or to check different combinations of build flags. It would be great to be able to divide builds into “jobs”, and have the UI report the failure/success of each job in a build. Each job would be a combination of environment variables / build settings.
The recommendation from CircleCI is to use parallelism for this. But,
- parallel containers are expensive
- you still don’t get independent failure reports (so it’s difficult to tell what fails and what doesn’t)
- manually dispatching on $CIRCLE_NODE_INDEX is verbose and error prone.