Support test splitting on self-hosted runners
complete
G
Glen Mailer
Although the parallelism feature does work on self-hosted runners, the downloading of previous test results is not currently supported - which means that the intelligent test splitting feature does not work.
In addition, the standard
circleci tests split
invocation of test splitting requires the circleci CLI or the circleci-agent binary to be available.S
Sebastian Lerner
complete
Hi folks, this work is now complete. The docs (https://circleci.com/docs/2.0/parallelism-faster-jobs/) should be updated shortly but there should be no difference between how to use Test Splitting on non-Runner jobs vs. Runner jobs.
K
Kelvin Tay
Hi folks!
I just wanted to echo Terry's sharing below.
With self-hosted runners, parallelism and the
CIRCLE_NODE_*
environment variables are still available (ref: https://circleci.com/docs/2.0/parallelism-faster-jobs/#using-environment-variables-to-split-tests)In other words, you can still choose to implement your own test splitter that takes advantage of the the environment variables' values to split tests then.
Terry Simons
I got test splitting and parallelism working on a custom hardware runner, although it’s purely round Robin since I don’t have the ability to use
circleci test split
. I wrote my own splitter.T
Timothy Shamilov
Hey Glen Mailer do you know, does the paralellism work
within
a machine or is each individual bare metal machine considered one container?For example, if you had 1 Mac Pro, could you parallelize within it and spin up multiple containers inside the machine, or is an additional Mac Pro required for each container?
Terry Simons
Timothy Shamilov: You could do this. You’d want to configure each container as it’s own runner and have them register with circleci, then you could treat them as a set of pooled runners.