solana/ci/stable/run-partition.sh

40 lines
876 B
Bash
Executable File

#!/usr/bin/env bash
set -eo pipefail
here="$(dirname "$0")"
#shellcheck source=ci/common/shared-functions.sh
source "$here"/../common/shared-functions.sh
#shellcheck source=ci/common/limit-threads.sh
source "$here"/../common/limit-threads.sh
#shellcheck source=ci/stable/common.sh
source "$here"/common.sh
# check partition info
INDEX=${1:-"$BUILDKITE_PARALLEL_JOB"} # BUILDKITE_PARALLEL_JOB from 0 to (BUILDKITE_PARALLEL_JOB_COUNT - 1)
: "${INDEX:?}"
# if LIMIT = 3, the valid INDEX is 0~2
LIMIT=${2:-"$BUILDKITE_PARALLEL_JOB_COUNT"}
: "${LIMIT:?}"
if [ ! "$LIMIT" -gt "$INDEX" ]; then
echo "LIMIT(\$2) should greater than INDEX(\$1)"
exit 1
fi
ARGS=(
--profile ci
--config-file ./nextest.toml
--workspace
--tests
--jobs "$JOBS"
--partition hash:"$((INDEX + 1))/$LIMIT"
--verbose
--exclude solana-local-cluster
)
_ cargo nextest run "${ARGS[@]}"