...
1#!/bin/bash
2
3set -o errexit
4
5export GOPATH=$(dirname $(dirname $(dirname `pwd`)))
6export GOCACHE="$(pwd)/.cache"
7export DRIVERS_TOOLS=${DRIVERS_TOOLS:-""}
8
9if [ -z $DRIVERS_TOOLS ]; then
10 export DRIVERS_TOOLS="$(dirname $(dirname $(dirname `pwd`)))/drivers-tools"
11fi
12
13if [ "Windows_NT" = "${OS:-}" ]; then
14 export GOPATH=$(cygpath -m $GOPATH)
15 export GOCACHE=$(cygpath -m $GOCACHE)
16 export DRIVERS_TOOLS=$(cygpath -m $DRIVERS_TOOLS)
17fi
18
19export GOROOT="${GOROOT}"
20export PATH="${GOROOT}/bin:${GCC_PATH}:$GOPATH/bin:$PATH"
21export PROJECT="${project}"
22
23if [ "$(uname -s)" = "Darwin" ]; then
24 export PKG_CONFIG_PATH=$(pwd)/install/libmongocrypt/lib/pkgconfig
25 export DYLD_FALLBACK_LIBRARY_PATH=$(pwd)/install/libmongocrypt/lib
26else
27 export PKG_CONFIG_PATH=$(pwd)/install/libmongocrypt/lib64/pkgconfig
28 export LD_LIBRARY_PATH=$(pwd)/install/libmongocrypt/lib64
29fi
30
31export GOFLAGS=-mod=vendor
32
33SSL=${SSL:-nossl}
34if [ "$SSL" != "nossl" -a -z "${SERVERLESS+x}" ]; then
35 export MONGO_GO_DRIVER_CA_FILE="${DRIVERS_TOOLS}/.evergreen/x509gen/ca.pem"
36 export MONGO_GO_DRIVER_KEY_FILE="${DRIVERS_TOOLS}/.evergreen/x509gen/client.pem"
37 export MONGO_GO_DRIVER_PKCS8_ENCRYPTED_KEY_FILE="${DRIVERS_TOOLS}/.evergreen/x509gen/client-pkcs8-encrypted.pem"
38 export MONGO_GO_DRIVER_PKCS8_UNENCRYPTED_KEY_FILE="${DRIVERS_TOOLS}/.evergreen/x509gen/client-pkcs8-unencrypted.pem"
39
40 if [ "Windows_NT" = "$OS" ]; then
41 export MONGO_GO_DRIVER_CA_FILE=$(cygpath -m $MONGO_GO_DRIVER_CA_FILE)
42 export MONGO_GO_DRIVER_KEY_FILE=$(cygpath -m $MONGO_GO_DRIVER_KEY_FILE)
43 export MONGO_GO_DRIVER_PKCS8_ENCRYPTED_KEY_FILE=$(cygpath -m $MONGO_GO_DRIVER_PKCS8_ENCRYPTED_KEY_FILE)
44 export MONGO_GO_DRIVER_PKCS8_UNENCRYPTED_KEY_FILE=$(cygpath -m $MONGO_GO_DRIVER_PKCS8_UNENCRYPTED_KEY_FILE)
45 fi
46fi
47
48if [ -f "secrets-export.sh" ]; then
49 source $(pwd)/secrets-export.sh
50fi
51
52# If GO_BUILD_TAGS is not set, set the default Go build tags to "cse" to enable
53# client-side encryption, which requires linking the libmongocrypt C library.
54if [ -z ${GO_BUILD_TAGS+x} ]; then
55 GO_BUILD_TAGS="cse"
56fi
57
58if [[ $GO_BUILD_TAGS == *"cse"* ]]; then
59 if [ "Windows_NT" = "$OS" ]; then
60 if [ ! -d /cygdrive/c/libmongocrypt/bin ]; then
61 bash $(pwd)/etc/install-libmongocrypt.sh
62 fi
63 export PATH=$PATH:/cygdrive/c/libmongocrypt/bin
64 elif [ ! -d "$PKG_CONFIG_PATH" ]; then
65 bash $(pwd)/etc/install-libmongocrypt.sh
66 fi
67fi
68
69if [ "${SKIP_CRYPT_SHARED_LIB}" = "true" ]; then
70 CRYPT_SHARED_LIB_PATH=""
71 echo "crypt_shared library is skipped"
72elif [ -z "${CRYPT_SHARED_LIB_PATH}" ]; then
73 echo "crypt_shared library path is empty"
74else
75 CRYPT_SHARED_LIB_PATH=${CRYPT_SHARED_LIB_PATH}
76 echo "crypt_shared library will be loaded from path: $CRYPT_SHARED_LIB_PATH"
77fi
78
79if [ -z ${MAKEFILE_TARGET+x} ]; then
80 if [ "$(uname -s)" = "Darwin" ]; then
81 # Run a subset of the tests on Darwin
82 MAKEFILE_TARGET="evg-test-load-balancers"
83 else
84 MAKEFILE_TARGET="evg-test"
85 fi
86fi
87
88AUTH=${AUTH} \
89SSL=${SSL} \
90MONGO_GO_DRIVER_CA_FILE=${MONGO_GO_DRIVER_CA_FILE} \
91MONGO_GO_DRIVER_KEY_FILE=${MONGO_GO_DRIVER_KEY_FILE} \
92MONGO_GO_DRIVER_PKCS8_ENCRYPTED_KEY_FILE=${MONGO_GO_DRIVER_PKCS8_ENCRYPTED_KEY_FILE} \
93MONGO_GO_DRIVER_PKCS8_UNENCRYPTED_KEY_FILE=${MONGO_GO_DRIVER_PKCS8_UNENCRYPTED_KEY_FILE} \
94MONGODB_URI="${MONGODB_URI}" \
95TOPOLOGY=${TOPOLOGY} \
96MONGO_GO_DRIVER_COMPRESSOR=${MONGO_GO_DRIVER_COMPRESSOR} \
97BUILD_TAGS="${RACE} -tags=${GO_BUILD_TAGS}" \
98CRYPT_SHARED_LIB_PATH=$CRYPT_SHARED_LIB_PATH \
99PKG_CONFIG_PATH=$PKG_CONFIG_PATH \
100LD_LIBRARY_PATH=$LD_LIBRARY_PATH \
101MACOS_LIBRARY_PATH=$DYLD_FALLBACK_LIBRARY_PATH \
102make $MAKEFILE_TARGET
View as plain text