From d4b67677c6f6ad4a5406d336a8bd229aef791afd Mon Sep 17 00:00:00 2001 From: John Murret Date: Fri, 12 Jan 2024 13:40:31 -0700 Subject: [PATCH] always run agent tests alone on their own runner (#20199) * always run agent tests alone on their own runner * deal with runner count = 1 * prevent runners less than 2 --- .github/scripts/set_test_package_matrix.sh | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/scripts/set_test_package_matrix.sh b/.github/scripts/set_test_package_matrix.sh index 212d9fa481..73ef720019 100755 --- a/.github/scripts/set_test_package_matrix.sh +++ b/.github/scripts/set_test_package_matrix.sh @@ -5,13 +5,15 @@ set -euo pipefail export RUNNER_COUNT=$1 -if ((RUNNER_COUNT < 1 )) +if ((RUNNER_COUNT < 2 )) then - echo ERROR: RUNNER_COUNT must be greater than zero. + echo ERROR: RUNNER_COUNT must be greater than 1. Otherwise use the non-split unit test cod in .github/workflows/reusable-unit.yml. exit 1 # terminate and indicate error +else + EFFECTIVE_RUNNER_COUNT=$((RUNNER_COUNT-1)) fi # set matrix var to list of unique packages containing tests -matrix="$(go list -json="ImportPath,TestGoFiles" ./... | jq --compact-output '. | select(.TestGoFiles != null) | .ImportPath' | shuf | jq --slurp --compact-output '.' | jq --argjson runnercount $RUNNER_COUNT -cM '[_nwise(length / $runnercount | ceil)]'))" +matrix="$(go list -json="ImportPath,TestGoFiles" ./... | jq --compact-output '. | select(.TestGoFiles != null) | select(.ImportPath != "github.com/hashicorp/consul/agent") | .ImportPath' | shuf | jq --slurp --compact-output '.' | jq --argjson runnercount $EFFECTIVE_RUNNER_COUNT -cM '[_nwise(length / $runnercount | ceil)]' | jq --compact-output '. += [["github.com/hashicorp/consul/agent"]]'))" echo "matrix=${matrix}" >> "${GITHUB_OUTPUT}"