Dynamic parallelization based on current build queue

paralellism

#1

It would be interesting to have circle dynamically adjust parallelization based on the frequency or queue of pending builds.

For example, if it’s late at night or the weekend and I’m the only one working it would be great to have builds use 10x containers. However, during most normal work hours it’s better to have 2 concurrent builds at 5x.

Provided some min/max configuration option Circle could dynamically allocate parallelization based on concurrent git activity.

Alternatively, parallelism could be scheduled to use 5x during certain time periods and 10x others, however dynamically adjusting is more intriguing.

This would make make for happier night owls, early risers and weekend warriors.


#2

+1 on this feature request.
My use case is a bit simpler, what I’d like is just being able to have different parallelism on master vs non master builds.

Ideally, I could do something like that:

parallelism:
  command:
    if [ "${CIRCLE_BRANCH}" == "master" ]; then
        return 4
    else
        return 2
    fi

#3