Changeset View
Changeset View
Standalone View
Standalone View
contrib/teamcity/gitian.sh
#!/usr/bin/env bash | #!/usr/bin/env bash | ||||
export LC_ALL=C | export LC_ALL=C | ||||
set -euxo pipefail | set -euxo pipefail | ||||
: "${TOPLEVEL:=$(git rev-parse --show-toplevel)}" | : "${TOPLEVEL:=$(git rev-parse --show-toplevel)}" | ||||
: "${BUILD_DIR:=${TOPLEVEL}/build}" | : "${BUILD_DIR:=${TOPLEVEL}/build}" | ||||
: "${THREADS:=$(nproc || sysctl -n hw.ncpu)}" | : "${THREADS:=$(nproc || sysctl -n hw.ncpu)}" | ||||
: "${GITIAN_DEPS:="/opt/abc-gitian"}" | |||||
COMMIT=$(git -C "${TOPLEVEL}" rev-parse HEAD) | COMMIT=$(git -C "${TOPLEVEL}" rev-parse HEAD) | ||||
export COMMIT | export COMMIT | ||||
export USE_LXC=1 | export USE_LXC=1 | ||||
export GITIAN_HOST_IP=10.0.3.1 | export GITIAN_HOST_IP=10.0.3.1 | ||||
export LXC_BRIDGE=lxcbr0 | export LXC_BRIDGE=lxcbr0 | ||||
export LXC_GUEST_IP=10.0.3.5 | export LXC_GUEST_IP=10.0.3.5 | ||||
cd "${TOPLEVEL}/contrib/gitian-builder" | cd "${TOPLEVEL}/contrib/gitian-builder" | ||||
# Build the base image if it doesn't already exist | # The base image is created using elevated permissions, so just symlink to a | ||||
if [ ! -f "base-buster-amd64" ]; then | # pre-built base image. | ||||
./bin/make-base-vm --lxc --arch amd64 --distro debian --suite buster | ln -sf "${GITIAN_DEPS}"/base-buster-amd64 base-buster-amd64 | ||||
fi | |||||
if [[ "${OS_NAME}" == "osx" ]]; then | if [[ "${OS_NAME}" == "osx" ]]; then | ||||
OSX_SDK="MacOSX10.14.sdk.tar.gz" | OSX_SDK="MacOSX10.14.sdk.tar.gz" | ||||
OSX_SDK_SHA256="2322086a96349db832abbcadea493b79db843553a2e604163238d99fa058a286" | OSX_SDK_SHA256="2322086a96349db832abbcadea493b79db843553a2e604163238d99fa058a286" | ||||
mkdir -p inputs | pushd "${GITIAN_DEPS}" | ||||
pushd inputs | |||||
if ! echo "${OSX_SDK_SHA256} ${OSX_SDK}" | sha256sum -c; then | if ! echo "${OSX_SDK_SHA256} ${OSX_SDK}" | sha256sum -c; then | ||||
rm -f "${OSX_SDK}" | rm -f "${OSX_SDK}" | ||||
wget https://storage.googleapis.com/27cd7b2a42a430926cc621acdc3bda72a8ed2b0efc080e3/"${OSX_SDK}" | wget https://storage.googleapis.com/27cd7b2a42a430926cc621acdc3bda72a8ed2b0efc080e3/"${OSX_SDK}" | ||||
echo "${OSX_SDK_SHA256} ${OSX_SDK}" | sha256sum -c | echo "${OSX_SDK_SHA256} ${OSX_SDK}" | sha256sum -c | ||||
fi | fi | ||||
popd | popd | ||||
mkdir -p inputs | |||||
cp "${GITIAN_DEPS}/${OSX_SDK}" inputs/"${OSX_SDK}" | |||||
fi | fi | ||||
RESULT_DIR="${BUILD_DIR}/gitian-results" | RESULT_DIR="${BUILD_DIR}/gitian-results" | ||||
OS_DIR="${RESULT_DIR}/${OS_NAME}" | OS_DIR="${RESULT_DIR}/${OS_NAME}" | ||||
mkdir -p "${OS_DIR}" | mkdir -p "${OS_DIR}" | ||||
move_log() { | move_log() { | ||||
mv var/install.log "${RESULT_DIR}/" | mv var/install.log "${RESULT_DIR}/" | ||||
Show All 9 Lines |