blob: 7645c43e2fa71be4b76fd18a2cd0334fe87183a1 [file] [log] [blame]
#!/usr/bin/env bash
# NOTE: This script has been slightly adopted to suite the Apache Arrow / crossbow CI
# setup. The next time this is updated to the current version on conda-forge,
# you will also make this additions afterwards.
# PLEASE NOTE: This script has been automatically generated by conda-smithy. Any changes here
# will be lost next time ``conda smithy rerender`` is run. If you would like to make permanent
# changes to this script, consider a proposal to conda-smithy so that other feedstocks can also
# benefit from the improvement.
set -xeo pipefail
build_dir=${1}
THISDIR="$( cd "$( dirname "$0" )" >/dev/null && pwd )"
ARROW_ROOT=$(cd "$THISDIR/../../.."; pwd;)
FEEDSTOCK_ROOT=$THISDIR
docker info
# In order for the conda-build process in the container to write to the mounted
# volumes, we need to run with the same id as the host machine, which is
# normally the owner of the mounted volumes, or at least has write permission
export HOST_USER_ID=$(id -u)
# Check if docker-machine is being used (normally on OSX) and get the uid from
# the VM
if hash docker-machine 2> /dev/null && docker-machine active > /dev/null; then
export HOST_USER_ID=$(docker-machine ssh $(docker-machine active) id -u)
fi
if [ -z "$CONFIG" ]; then
set +x
FILES=`ls .ci_support/linux_*`
CONFIGS=""
for file in $FILES; do
CONFIGS="${CONFIGS}'${file:12:-5}' or ";
done
echo "Need to set CONFIG env variable. Value can be one of ${CONFIGS:0:-4}"
exit 1
fi
if [ -z "${DOCKER_IMAGE}" ]; then
SHYAML_INSTALLED="$(shyaml -h || echo NO)"
if [ "${SHYAML_INSTALLED}" == "NO" ]; then
echo "WARNING: DOCKER_IMAGE variable not set and shyaml not installed. Falling back to condaforge/linux-anvil-comp7"
DOCKER_IMAGE="condaforge/linux-anvil-comp7"
else
DOCKER_IMAGE="$(cat "${FEEDSTOCK_ROOT}/.ci_support/${CONFIG}.yaml" | shyaml get-value docker_image.0 condaforge/linux-anvil-comp7 )"
fi
fi
mkdir -p "${build_dir}"
DONE_CANARY="${build_dir}/conda-forge-build-done-${CONFIG}"
rm -f "$DONE_CANARY"
if [ -z "${CI}" ]; then
DOCKER_RUN_ARGS="-it "
fi
export UPLOAD_PACKAGES="${UPLOAD_PACKAGES:-True}"
docker run ${DOCKER_RUN_ARGS} \
--shm-size=2G \
-v "${ARROW_ROOT}":/arrow:rw,z \
-v "${build_dir}":/build:rw \
-e FEEDSTOCK_ROOT="/arrow/dev/tasks/conda-recipes" \
-e CONFIG \
-e R_CONFIG \
-e HOST_USER_ID \
-e UPLOAD_PACKAGES \
-e ARROW_VERSION \
-e CI \
$DOCKER_IMAGE \
bash /arrow/dev/tasks/conda-recipes/build_steps.sh /build
# verify that the end of the script was reached
test -f "$DONE_CANARY"