6
6
7
7
export LC_ALL=C.UTF-8
8
8
9
- # This script is always run as root, and the functions can be removed and
10
- # replaced by a bash -c "command" directly, where needed.
11
- # For now, they are named aliases to aid review with --color-moved=dimmed-zebra.
12
- CI_EXEC_ROOT () { bash -c " $* " ; }
13
- CI_EXEC () { bash -c " $* " ; }
14
- export -f CI_EXEC_ROOT
15
- export -f CI_EXEC
16
9
17
10
if [ -n " $DPKG_ADD_ARCH " ]; then
18
- CI_EXEC_ROOT dpkg --add-architecture " $DPKG_ADD_ARCH "
11
+ dpkg --add-architecture " $DPKG_ADD_ARCH "
19
12
fi
20
13
21
14
if [[ $CI_IMAGE_NAME_TAG == * centos* ]]; then
22
- ${CI_RETRY_EXE} CI_EXEC_ROOT dnf -y install epel-release
23
- ${CI_RETRY_EXE} CI_EXEC_ROOT dnf -y --allowerasing install " $CI_BASE_PACKAGES " " $PACKAGES "
15
+ ${CI_RETRY_EXE} bash -c " dnf -y install epel-release"
16
+ ${CI_RETRY_EXE} bash -c " dnf -y --allowerasing install $CI_BASE_PACKAGES $PACKAGES "
24
17
elif [ " $CI_USE_APT_INSTALL " != " no" ]; then
25
18
if [[ " ${ADD_UNTRUSTED_BPFCC_PPA} " == " true" ]]; then
26
19
# Ubuntu 22.04 LTS and Debian 11 both have an outdated bpfcc-tools packages.
27
20
# The iovisor PPA is outdated as well. The next Ubuntu and Debian releases will contain updated
28
21
# packages. Meanwhile, use an untrusted PPA to install an up-to-date version of the bpfcc-tools
29
22
# package.
30
23
# TODO: drop this once we can use newer images in GCE
31
- CI_EXEC_ROOT add-apt-repository ppa:hadret/bpfcc
24
+ add-apt-repository ppa:hadret/bpfcc
32
25
fi
33
26
if [[ -n " ${APPEND_APT_SOURCES_LIST} " ]]; then
34
- CI_EXEC_ROOT echo " ${APPEND_APT_SOURCES_LIST} " \>\ > /etc/apt/sources.list
27
+ echo " ${APPEND_APT_SOURCES_LIST} " > > /etc/apt/sources.list
35
28
fi
36
- ${CI_RETRY_EXE} CI_EXEC_ROOT apt-get update
37
- ${CI_RETRY_EXE} CI_EXEC_ROOT apt-get install --no-install-recommends --no-upgrade -y " $PACKAGES " " $CI_BASE_PACKAGES "
29
+ ${CI_RETRY_EXE} apt-get update
30
+ ${CI_RETRY_EXE} bash -c " apt-get install --no-install-recommends --no-upgrade -y $PACKAGES $CI_BASE_PACKAGES "
38
31
fi
39
32
40
33
if [ -n " $PIP_PACKAGES " ]; then
@@ -44,47 +37,47 @@ if [ -n "$PIP_PACKAGES" ]; then
44
37
IN_GETOPT_BIN=" $( brew --prefix gnu-getopt) /bin/getopt" ${CI_RETRY_EXE} pip3 install --user $PIP_PACKAGES
45
38
else
46
39
# shellcheck disable=SC2086
47
- ${CI_RETRY_EXE} CI_EXEC pip3 install --user $PIP_PACKAGES
40
+ ${CI_RETRY_EXE} pip3 install --user $PIP_PACKAGES
48
41
fi
49
42
fi
50
43
51
44
if [[ ${USE_MEMORY_SANITIZER} == " true" ]]; then
52
- CI_EXEC_ROOT " update-alternatives --install /usr/bin/clang++ clang++ \ $ (which clang++-12) 100"
53
- CI_EXEC_ROOT " update-alternatives --install /usr/bin/clang clang \ $ (which clang-12) 100"
54
- CI_EXEC " mkdir -p ${BASE_SCRATCH_DIR} /msan/build/"
55
- CI_EXEC " git clone --depth=1 https://github.com/llvm/llvm-project -b llvmorg-12.0.0 ${BASE_SCRATCH_DIR} /msan/llvm-project"
56
- CI_EXEC " cd ${BASE_SCRATCH_DIR} /msan/build/ && cmake -DLLVM_ENABLE_PROJECTS='libcxx;libcxxabi' -DCMAKE_BUILD_TYPE=Release -DLLVM_USE_SANITIZER=MemoryWithOrigins -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DLLVM_TARGETS_TO_BUILD=X86 ../llvm-project/llvm/"
57
- CI_EXEC " cd ${BASE_SCRATCH_DIR} /msan/build/ && make $MAKEJOBS cxx"
45
+ update-alternatives --install /usr/bin/clang++ clang++ " $( which clang++-12) " 100
46
+ update-alternatives --install /usr/bin/clang clang " $( which clang-12) " 100
47
+ mkdir -p " ${BASE_SCRATCH_DIR} " /msan/build/
48
+ git clone --depth=1 https://github.com/llvm/llvm-project -b llvmorg-12.0.0 " ${BASE_SCRATCH_DIR} " /msan/llvm-project
49
+ cd " ${BASE_SCRATCH_DIR} " /msan/build/ && cmake -DLLVM_ENABLE_PROJECTS=' libcxx;libcxxabi' -DCMAKE_BUILD_TYPE=Release -DLLVM_USE_SANITIZER=MemoryWithOrigins -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DLLVM_TARGETS_TO_BUILD=X86 ../llvm-project/llvm/
50
+ cd " ${BASE_SCRATCH_DIR} " /msan/build/ && make " $MAKEJOBS " cxx
58
51
fi
59
52
60
53
if [[ " ${RUN_TIDY} " == " true" ]]; then
61
54
if [ ! -d " ${DIR_IWYU} " ]; then
62
- CI_EXEC " mkdir -p ${DIR_IWYU} /build/"
63
- CI_EXEC " git clone --depth=1 https://github.com/include-what-you-use/include-what-you-use -b clang_15 ${DIR_IWYU} /include-what-you-use"
64
- CI_EXEC " cd ${DIR_IWYU} /build && cmake -G 'Unix Makefiles' -DCMAKE_PREFIX_PATH=/usr/lib/llvm-15 ../include-what-you-use"
65
- CI_EXEC_ROOT " cd ${DIR_IWYU} /build && make install $MAKEJOBS "
55
+ mkdir -p " ${DIR_IWYU} " /build/
56
+ git clone --depth=1 https://github.com/include-what-you-use/include-what-you-use -b clang_15 " ${DIR_IWYU} " /include-what-you-use
57
+ cd " ${DIR_IWYU} " /build && cmake -G ' Unix Makefiles' -DCMAKE_PREFIX_PATH=/usr/lib/llvm-15 ../include-what-you-use
58
+ cd " ${DIR_IWYU} " /build && make install " $MAKEJOBS "
66
59
fi
67
60
fi
68
61
69
- CI_EXEC mkdir -p " ${DEPENDS_DIR} /SDKs" " ${DEPENDS_DIR} /sdk-sources"
62
+ mkdir -p " ${DEPENDS_DIR} /SDKs" " ${DEPENDS_DIR} /sdk-sources"
70
63
71
64
OSX_SDK_BASENAME=" Xcode-${XCODE_VERSION} -${XCODE_BUILD_ID} -extracted-SDK-with-libcxx-headers"
72
65
73
66
if [ -n " $XCODE_VERSION " ] && [ ! -d " ${DEPENDS_DIR} /SDKs/${OSX_SDK_BASENAME} " ]; then
74
67
OSX_SDK_FILENAME=" ${OSX_SDK_BASENAME} .tar.gz"
75
68
OSX_SDK_PATH=" ${DEPENDS_DIR} /sdk-sources/${OSX_SDK_FILENAME} "
76
69
if [ ! -f " $OSX_SDK_PATH " ]; then
77
- CI_EXEC curl --location --fail " ${SDK_URL} /${OSX_SDK_FILENAME} " -o " $OSX_SDK_PATH "
70
+ curl --location --fail " ${SDK_URL} /${OSX_SDK_FILENAME} " -o " $OSX_SDK_PATH "
78
71
fi
79
- CI_EXEC tar -C " ${DEPENDS_DIR} /SDKs" -xf " $OSX_SDK_PATH "
72
+ tar -C " ${DEPENDS_DIR} /SDKs" -xf " $OSX_SDK_PATH "
80
73
fi
81
74
82
75
if [ -n " $ANDROID_HOME " ] && [ ! -d " $ANDROID_HOME " ]; then
83
76
ANDROID_TOOLS_PATH=${DEPENDS_DIR} /sdk-sources/android-tools.zip
84
77
if [ ! -f " $ANDROID_TOOLS_PATH " ]; then
85
- CI_EXEC curl --location --fail " ${ANDROID_TOOLS_URL} " -o " $ANDROID_TOOLS_PATH "
78
+ curl --location --fail " ${ANDROID_TOOLS_URL} " -o " $ANDROID_TOOLS_PATH "
86
79
fi
87
- CI_EXEC mkdir -p " $ANDROID_HOME "
88
- CI_EXEC unzip -o " $ANDROID_TOOLS_PATH " -d " $ANDROID_HOME "
89
- CI_EXEC " yes | ${ANDROID_HOME} /cmdline-tools/bin/sdkmanager --sdk_root=\ "${ANDROID_HOME} \ " --install \ " build-tools;${ANDROID_BUILD_TOOLS_VERSION} \" \ " platform-tools\" \ " platforms;android-${ANDROID_API_LEVEL} \" \ " ndk;${ANDROID_NDK_VERSION} \" "
80
+ mkdir -p " $ANDROID_HOME "
81
+ unzip -o " $ANDROID_TOOLS_PATH " -d " $ANDROID_HOME "
82
+ yes | " ${ANDROID_HOME} " /cmdline-tools/bin/sdkmanager --sdk_root=" ${ANDROID_HOME} " --install " build-tools;${ANDROID_BUILD_TOOLS_VERSION} " " platform-tools" " platforms;android-${ANDROID_API_LEVEL} " " ndk;${ANDROID_NDK_VERSION} "
90
83
fi
0 commit comments