forked from mongodb/mongo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmultiversion_setup.sh
98 lines (76 loc) · 2.99 KB
/
multiversion_setup.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" > /dev/null 2>&1 && pwd)"
. "$DIR/prelude.sh"
cd src
set -o errexit
set -o verbose
activate_venv
setup_db_contrib_tool
export PIPX_HOME="${workdir}/pipx"
export PIPX_BIN_DIR="${workdir}/pipx/bin"
export PATH="$PATH:$PIPX_BIN_DIR"
rm -rf /data/install /data/multiversion
edition="${multiversion_edition}"
platform="${multiversion_platform}"
architecture="${multiversion_architecture}"
last_lts_arg="last-lts"
last_continuous_arg="last-continuous"
if [[ -n "${last_lts_evg_version_id}" ]]; then
last_lts_arg="${last_lts_evg_version_id}=last-lts"
fi
if [[ -n "${last_continuous_evg_version_id}" ]]; then
last_continuous_arg="${last_continuous_evg_version_id}=last-continuous"
fi
# Download last-continuous version separately on future-git-tag variant
if [[ -n "${multiversion_last_continuous_variant}" ]]; then
last_continuous_arg=""
fi
base_command="db-contrib-tool setup-repro-env"
evergreen_args="--installDir /data/install \
--linkDir /data/multiversion \
--platform $platform \
--architecture $architecture \
--evgVersionsFile multiversion-downloads.json"
local_args="--edition $edition \
--resmokeCmd \"python buildscripts/resmoke.py\" \
--debug \
4.2 4.4 5.0.28"
remote_invocation="${base_command} ${evergreen_args} ${local_args}"
eval "${remote_invocation}"
echo "Verbatim db-contrib-tool invocation: ${remote_invocation}"
local_invocation="${base_command} ${local_args}"
if [ ! -z "${multiversion_platform_50_or_later}" ]; then
platform="${multiversion_platform_50_or_later}"
fi
evergreen_args="--installDir /data/install \
--linkDir /data/multiversion \
--platform $platform \
--architecture $architecture \
--evgVersionsFile multiversion-downloads.json"
local_args="--edition $edition \
--resmokeCmd \"python buildscripts/resmoke.py\" \
--debug \
${last_lts_arg} \
${last_continuous_arg} 5.0 6.0 7.0"
remote_invocation="${base_command} ${evergreen_args} ${local_args}"
eval "${remote_invocation}"
echo "Verbatim db-contrib-tool invocation: ${remote_invocation}"
local_invocation="${local_invocation} && ${base_command} ${local_args}"
echo "Local db-contrib-tool invocation: ${local_invocation}"
echo "${local_invocation}" > local-db-contrib-tool-invocation.txt
# Download last-continuous version from a dedicated variant on future-git-tag variant
if [[ -n "${multiversion_last_continuous_variant}" ]]; then
last_continuous_arg="${version_id}=last-continuous"
if [[ -n "${last_continuous_evg_version_id}" ]]; then
last_continuous_arg="${last_continuous_evg_version_id}=last-continuous"
fi
future_git_tag_args="--installDir /data/install \
--linkDir /data/multiversion \
--variant ${multiversion_last_continuous_variant} \
--evgVersionsFile multiversion-downloads.json \
--resmokeCmd \"python buildscripts/resmoke.py\" \
--debug \
${last_continuous_arg}"
remote_invocation="${base_command} ${future_git_tag_args}"
eval "${remote_invocation}"
echo "Verbatim db-contrib-tool invocation: ${remote_invocation}"
fi