I added a section below to create the test report directory and copy the results in this shell script. This resolves the issue that only 1 VM out of the all parallel cores creates and uploads test results. This also means that your circle.yml file do not need the mkdir & copy command in the test post section.
#!/bin/bash
NODE_TOTAL=${CIRCLE_NODE_TOTAL:-1}
NODE_INDEX=${CIRCLE_NODE_INDEX:-0}
i=0
tests=()
for file in $(find ./src/test/java -name "*Test.java" | sort)
do
if [ $(($i % ${NODE_TOTAL})) -eq ${NODE_INDEX} ]
then
test=`basename $file | sed -e "s/.java//"`
tests+="${test},"
fi
((i++))
done
mvn -Dtest=${tests} test
if [ x${CIRCLE_TEST_REPORTS} != x ]; then
mkdir -p $CIRCLE_TEST_REPORTS/junit/
find . -type f -regex ".*/target/surefire-reports/.*xml" -exec cp {} $CIRCLE_TEST_REPORTS/junit/ \;
fi