@@ -23,7 +23,11 @@ steps:
23
23
- " /cache/repos:/cache/repos"
24
24
env :
25
25
JULIA_SHELL : " /bin/bash"
26
- timeout_in_minutes : ${TIMEOUT?}
26
+ timeout_in_minutes : ${TIMEOUT_BK?}
27
+ retry :
28
+ automatic :
29
+ - exit_status : " *"
30
+ limit : ${RETRIES?}
27
31
soft_fail : ${ALLOW_FAIL?}
28
32
commands : |
29
33
echo "--- Print the full and short commit hashes"
@@ -55,45 +59,42 @@ steps:
55
59
echo "--- Set some environment variables in preparation for running the Julia test suite"
56
60
unset JULIA_DEPOT_PATH
57
61
export OPENBLAS_NUM_THREADS=8
58
- export TESTS="[\"all\"]"
59
62
60
- if [[ "${IS_RR?}" == "yes" ]]; then
61
- export JULIA_BINARY_UNDER_RR="$${JULIA_BINARY:?} .buildkite/utilities/rr/rr_capture.jl $${JULIA_BINARY:?}"
63
+ if [[ "${GROUP?}" == "all" ]]; then
64
+ export TESTS="all"
65
+ elif [[ "${GROUP?}" == "net" ]]; then
66
+ export TESTS="Downloads LibGit2 LibGit2/online download"
67
+ elif [[ "${GROUP?}" == "no-net" ]]; then
68
+ export TESTS="all --skip Downloads LibGit2/online download"
69
+ else
70
+ echo "Invalid value for GROUP: ${GROUP?}"
71
+ exit 1
72
+ fi
62
73
63
- export JULIA_BINARY_FOR_TESTS="$${JULIA_BINARY_UNDER_RR:?}"
64
- export NCORES_FOR_TESTS="parse(Int, ENV[\"JULIA_RRCAPTURE_NUM_CORES\"])"
74
+ export JULIA_TEST_RR_TIMEOUT="${TIMEOUT_RR?}"
65
75
66
- # For the `rr` job, we disable multi-threading.
67
- export JULIA_NUM_THREADS=1
76
+ if [[ "${IS_RR?}" == "yes" ]]; then
77
+ export JULIA_CMD_FOR_TESTS="$${JULIA_BINARY:?} .buildkite/utilities/rr/rr_capture.jl $${JULIA_BINARY:?}"
78
+ export NCORES_FOR_TESTS="parse(Int, ENV[\"JULIA_RRCAPTURE_NUM_CORES\"])"
68
79
else
69
- export JULIA_BINARY_FOR_TESTS ="$${JULIA_BINARY:?}"
80
+ export JULIA_CMD_FOR_TESTS ="$${JULIA_BINARY:?}"
70
81
export NCORES_FOR_TESTS="Sys.CPU_THREADS"
82
+ fi
71
83
72
- if [[ "${IS_ST?}" == "yes" ]]; then
73
- # "ST" = single-threaded
74
- export JULIA_NUM_THREADS=1
75
- elif [[ "${IS_MT?}" == "yes" ]]; then
76
- # "MT" = multi-threaded
77
- export JULIA_NUM_THREADS=16
84
+ if [[ "${IS_ST?}" == "yes" ]]; then
85
+ export JULIA_NUM_THREADS=1
86
+ fi
78
87
79
- if [[ "$${BUILDKITE_PIPELINE_SLUG:?}" == "julia-release-1-dot-6" ]]; then
80
- # On Julia 1.6, we skip the Distributed test suite if multithreading is enabled.
81
- export TESTS="[\"all\", \"--skip\", \"Distributed\"]"
82
- elif [[ "$${BUILDKITE_PIPELINE_SLUG:?}" == "julia-release-1-dot-7" ]]; then
83
- # On Julia 1.7, we skip the Distributed test suite if multithreading is enabled.
84
- export TESTS="[\"all\", \"--skip\", \"Distributed\"]"
85
- else
86
- # On Julia 1.8 and later, we do not skip any test suites.
87
- export TESTS="[\"all\"]"
88
- fi
89
- fi
88
+ if [[ "${IS_MT?}" == "yes" ]]; then
89
+ export JULIA_NUM_THREADS=16
90
90
fi
91
91
92
- echo "JULIA_BINARY_FOR_TESTS is: $${JULIA_BINARY_FOR_TESTS :?}"
93
- echo "JULIA_NUM_THREADS is: $${JULIA_NUM_THREADS}" # this variable might not be set
92
+ echo "JULIA_CMD_FOR_TESTS is: $${JULIA_CMD_FOR_TESTS :?}"
93
+ echo "JULIA_NUM_THREADS is: $${JULIA_NUM_THREADS}" # Note: this environment variable might not be set
94
94
echo "NCORES_FOR_TESTS is: $${NCORES_FOR_TESTS:?}"
95
95
echo "OPENBLAS_NUM_THREADS is: $${OPENBLAS_NUM_THREADS:?}"
96
+ echo "GROUP is: ${GROUP?}"
96
97
echo "TESTS is: $${TESTS:?}"
97
98
98
99
echo "--- Run the Julia test suite"
99
- $${JULIA_BINARY_FOR_TESTS :?} -e "Base.runtests($${TESTS:?}; ncores = $${NCORES_FOR_TESTS:?})"
100
+ $${JULIA_CMD_FOR_TESTS :?} -e "Base.runtests(\" $${TESTS:?}\" ; ncores = $${NCORES_FOR_TESTS:?})"
0 commit comments