summaryrefslogtreecommitdiff
path: root/tcwg-update-llvmbot-containers.sh
blob: c4b621595e0b7df37d0ea060a20a852edde57f8e (plain)
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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
#!/bin/bash

set -euf -o pipefail

scripts=$(dirname $0)
# shellcheck source=jenkins-helpers.sh
. $scripts/jenkins-helpers.sh
convert_args_to_variables "$@"

obligatory_variables NODE_NAME password
declare NODE_NAME password

distro="${distro-bionic}"
force="${force-false}"
master="${master-silent}"
verbose="${verbose-true}"

if $verbose; then set -x; fi

if $force; then
    keep_existing=false
else
    keep_existing=keep_if_same_image
fi

case "$NODE_NAME:$master" in
    tcwg-amp-03:normal)
	bots=(
	    linaro-aarch64-full
	    linaro-aarch64-global-isel
	)
	;;
    tcwg-amp-04:normal)
	bots=(
	    linaro-armv7-selfhost
	    linaro-armv7-global-isel
	)
	;;
    tcwg-amp-05:normal)
	bots=(
	    linaro-arm-lldb
	    linaro-aarch64-lldb
	)
	;;
    tcwg-amp-05:buildkite)
	bots=(
	    linaro-aarch64-libcxx-01
	    linaro-aarch64-libcxx-02
	)
	;;
    tcwg-amp-06:buildkite)
	bots=(
	    # These can all build any v7/8 config
	    # 4 because there's 4 combinations
	    # exceptions/no exceptions armv7/armv8
	    linaro-armv8-libcxx-01
	    linaro-armv8-libcxx-02
	    linaro-armv8-libcxx-03
	    linaro-armv8-libcxx-04
	)
	;;
    tcwg-jade-01:silent)
	bots=(
	    # Copy of tcwg-amp-03's normal bots:
	    linaro-aarch64-full
	    linaro-aarch64-global-isel
	    # Copy of tcwg-amp-04's normal bots:
	    linaro-armv7-selfhost
	    linaro-armv7-global-isel
	    # Copy of tcwg-llvmbot_d05-01's normal bots:
	    linaro-aarch64-lld
	    linaro-aarch64-quick
	    linaro-aarch64-flang-oot
	    linaro-aarch64-flang-dylib
	    linaro-aarch64-flang-sharedlibs
	    linaro-aarch64-flang-oot-new-driver
	    linaro-aarch64-flang-release
	    linaro-aarch64-flang-rel-assert
	    linaro-armv8-lld
	    linaro-armv7-lnt
	    linaro-armv7-quick
	)
	;;
    tcwg-llvmbot_d05-01:silent)
	bots=(
            linaro-aarch64-flang-debug
            linaro-aarch64-flang-latest-clang
            linaro-aarch64-flang-latest-gcc
	)
	;;
    tcwg-llvmbot_d05-01:normal)
	bots=(
	    linaro-aarch64-lld
	    linaro-aarch64-quick
	    linaro-aarch64-flang-oot
	    linaro-aarch64-flang-dylib
	    linaro-aarch64-flang-sharedlibs
            linaro-aarch64-flang-oot-new-driver
            linaro-aarch64-flang-release
            linaro-aarch64-flang-rel-assert
	    linaro-armv8-lld
	    linaro-armv7-lnt
	    linaro-armv7-quick
	)
	;;
    tcwg-llvmbot_tk1-09:silent)
	# Connect linaro-tk1-09 to silent buildmaster to test its stability
	bots=("$(echo "$NODE_NAME" | sed -e "s/tcwg-llvmbot_/linaro-/")")
	;;
    tcwg-llvmbot_tk1-09:normal)
	;;
    tcwg-llvmbot_tk1-*:normal)
	bots=("$(echo "$NODE_NAME" | sed -e "s/tcwg-llvmbot_/linaro-/")")
	;;
esac

for bot in "${bots[@]+${bots[@]}}"; do
    case "$bot" in
	linaro-aarch64-*) arch="arm64" ;;
	linaro-arm*|linaro-tk1-*) arch="armhf" ;;
	*) echo "ERROR: Unknown bot: $bot"; exit 1 ;;
    esac
    image="linaro/ci-$arch-tcwg-llvmbot-ubuntu:$distro"

    $scripts/tcwg-start-container.sh \
	--container "$master-$bot" \
	--image "$image" \
	--keep_existing "$keep_existing" \
	--verbose "$verbose" \
	-- \
	$image $master $bot $password
done