1
1
#! /bin/bash
2
2
set -eo pipefail
3
+ [[ " $ENABLE_INSTALL " == ' true' ]] || echo ' --- :evergreen_tree: Configuring Environment'
3
4
. ./.cicd/helpers/general.sh
4
5
mkdir -p " $BUILD_DIR "
5
- CMAKE_EXTRAS=" -DCMAKE_BUILD_TYPE=' Release' -DENABLE_MULTIVERSION_PROTOCOL_TEST=true -DBUILD_MONGO_DB_PLUGIN=true"
6
+ CMAKE_EXTRAS=" -DCMAKE_BUILD_TYPE=\" Release\" -DENABLE_MULTIVERSION_PROTOCOL_TEST=\" true\" -DBUILD_MONGO_DB_PLUGIN=\" true\" "
6
7
if [[ " $( uname) " == ' Darwin' && " $FORCE_LINUX " != ' true' ]]; then
7
8
# You can't use chained commands in execute
8
9
if [[ " $GITHUB_ACTIONS " == ' true' ]]; then
9
- export PINNED=false
10
+ export PINNED=' false'
10
11
fi
11
- [[ ! " $PINNED " == ' false' ]] && CMAKE_EXTRAS=" $CMAKE_EXTRAS -DCMAKE_TOOLCHAIN_FILE=$HELPERS_DIR /clang.make"
12
+ [[ ! " $PINNED " == ' false' ]] && CMAKE_EXTRAS=" $CMAKE_EXTRAS -DCMAKE_TOOLCHAIN_FILE=\" $HELPERS_DIR /clang.make\" "
12
13
cd " $BUILD_DIR "
14
+ echo ' +++ :hammer_and_wrench: Building EOSIO'
13
15
CMAKE_COMMAND=" cmake $CMAKE_EXTRAS .."
14
16
echo " $ $CMAKE_COMMAND "
15
17
eval $CMAKE_COMMAND
16
18
MAKE_COMMAND=" make -j '$JOBS '"
17
19
echo " $ $MAKE_COMMAND "
18
20
eval $MAKE_COMMAND
21
+ cd ..
19
22
else # Linux
20
- ARGS=${ARGS:- " --rm --init -v $( pwd) :$MOUNTED_DIR " }
21
- PRE_COMMANDS=" cd ' $MOUNTED_DIR /build' "
23
+ ARGS=${ARGS:- " --rm --init -v \"\ $ (pwd):$MOUNTED_DIR \" " }
24
+ PRE_COMMANDS=" cd \" $MOUNTED_DIR /build\" "
22
25
# PRE_COMMANDS: Executed pre-cmake
23
26
# CMAKE_EXTRAS: Executed within and right before the cmake path (cmake CMAKE_EXTRAS ..)
24
- [[ ! " $IMAGE_TAG " =~ ' unpinned' ]] && CMAKE_EXTRAS=" $CMAKE_EXTRAS -DCMAKE_TOOLCHAIN_FILE=' $MOUNTED_DIR /.cicd/helpers/clang.make' "
27
+ [[ ! " $IMAGE_TAG " =~ ' unpinned' ]] && CMAKE_EXTRAS=" $CMAKE_EXTRAS -DCMAKE_TOOLCHAIN_FILE=\" $MOUNTED_DIR /.cicd/helpers/clang.make\" "
25
28
if [[ " $IMAGE_TAG " == ' amazon_linux-2-unpinned' ]]; then
26
- CMAKE_EXTRAS=" $CMAKE_EXTRAS -DCMAKE_CXX_COMPILER=' clang++' -DCMAKE_C_COMPILER=' clang' "
29
+ CMAKE_EXTRAS=" $CMAKE_EXTRAS -DCMAKE_CXX_COMPILER=\" clang++\" -DCMAKE_C_COMPILER=\" clang\" "
27
30
elif [[ " $IMAGE_TAG " == ' centos-7.7-unpinned' ]]; then
28
- PRE_COMMANDS=" $PRE_COMMANDS && source /opt/rh/devtoolset-8/enable && source /opt/rh/rh-python36/enable"
29
- CMAKE_EXTRAS=" $CMAKE_EXTRAS -DLLVM_DIR=' /opt/rh/llvm-toolset-7.0/root/usr/lib64/cmake/llvm' "
31
+ PRE_COMMANDS=" $PRE_COMMANDS && source \" /opt/rh/devtoolset-8/enable\" && source \" /opt/rh/rh-python36/enable\" "
32
+ CMAKE_EXTRAS=" $CMAKE_EXTRAS -DLLVM_DIR=\" /opt/rh/llvm-toolset-7.0/root/usr/lib64/cmake/llvm\" "
30
33
elif [[ " $IMAGE_TAG " == ' ubuntu-18.04-unpinned' ]]; then
31
- CMAKE_EXTRAS=" $CMAKE_EXTRAS -DCMAKE_CXX_COMPILER=' clang++-7' -DCMAKE_C_COMPILER=' clang-7' -DLLVM_DIR=' /usr/lib/llvm-7/lib/cmake/llvm' "
34
+ CMAKE_EXTRAS=" $CMAKE_EXTRAS -DCMAKE_CXX_COMPILER=\" clang++-7\" -DCMAKE_C_COMPILER=\" clang-7\" -DLLVM_DIR=\" /usr/lib/llvm-7/lib/cmake/llvm\" "
32
35
fi
33
- BUILD_COMMANDS=" cmake $CMAKE_EXTRAS .. && make -j '$JOBS '"
36
+ CMAKE_COMMAND=" cmake \$ CMAKE_EXTRAS .."
37
+ MAKE_COMMAND=" make -j $JOBS "
38
+ BUILD_COMMANDS=" echo \" +++ :hammer_and_wrench: Building EOSIO\" && echo \" $ $CMAKE_COMMAND \" && eval $CMAKE_COMMAND && echo \" $ $MAKE_COMMAND \" && eval $MAKE_COMMAND "
34
39
# Docker Commands
35
40
if [[ " $BUILDKITE " == ' true' ]]; then
36
41
# Generate Base Images
37
- " $CICD_DIR /generate-base-images.sh"
38
- [[ " $ENABLE_INSTALL " == ' true' ]] && COMMANDS=" cp -r $MOUNTED_DIR /root/eosio && cd /root/eosio/build &&"
42
+ BASE_IMAGE_COMMAND=" \" $CICD_DIR /generate-base-images.sh\" "
43
+ echo " $ $BASE_IMAGE_COMMAND "
44
+ eval $BASE_IMAGE_COMMAND
45
+ [[ " $ENABLE_INSTALL " == ' true' ]] && COMMANDS=" cp -r \" $MOUNTED_DIR \" \" /root/eosio\" && cd \" /root/eosio/build\" &&"
39
46
COMMANDS=" $COMMANDS $BUILD_COMMANDS "
40
47
[[ " $ENABLE_INSTALL " == ' true' ]] && COMMANDS=" $COMMANDS && make install"
41
48
elif [[ " $GITHUB_ACTIONS " == ' true' ]]; then
@@ -46,7 +53,16 @@ else # Linux
46
53
fi
47
54
. " $HELPERS_DIR /file-hash.sh" " $CICD_DIR /platforms/$PLATFORM_TYPE /$IMAGE_TAG .dockerfile"
48
55
COMMANDS=" $PRE_COMMANDS && $COMMANDS "
49
- DOCKER_RUN=" docker run $ARGS $( buildkite-intrinsics) '$FULL_TAG ' bash -c '$COMMANDS '"
56
+ DOCKER_RUN=" docker run $ARGS $( buildkite-intrinsics) --env CMAKE_EXTRAS=' $CMAKE_EXTRAS ' '$FULL_TAG ' bash -c '$COMMANDS '"
50
57
echo " $ $DOCKER_RUN "
51
58
eval $DOCKER_RUN
52
59
fi
60
+ if [[ " $BUILDKITE " == ' true' && " $ENABLE_INSTALL " != ' true' ]]; then
61
+ echo ' --- :arrow_up: Uploading Artifacts'
62
+ echo ' Compressing build directory.'
63
+ tar -pczf ' build.tar.gz' build
64
+ echo ' Uploading build directory.'
65
+ buildkite-agent artifact upload ' build.tar.gz'
66
+ echo ' Done uploading artifacts.'
67
+ fi
68
+ [[ " $ENABLE_INSTALL " == ' true' ]] || echo ' --- :white_check_mark: Done!'
0 commit comments