mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-04 19:25:51 +00:00
FIXES: #2527 * define custom docker image for travis-linux builds based on package build image * add macos builds * add windows builds (currently allowed to fail) * improve build and shell scripts as required for the CI envs * add asio timer latency workaround * omit several manual tests from TravisCI which cause memory exhaustion
37 lines
1.2 KiB
Bash
Executable File
37 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# run our build script in a docker container
|
|
# using travis-ci hosts
|
|
set -eux
|
|
|
|
function join_by { local IFS="$1"; shift; echo "$*"; }
|
|
|
|
set +x
|
|
echo "VERBOSE_BUILD=true" > /tmp/co.env
|
|
matchers=(
|
|
'TRAVIS.*' 'CI' 'CC' 'CXX'
|
|
'BUILD_TYPE' 'TARGET' 'MAX_TIME'
|
|
'CODECOV.+' 'CMAKE.*' '.+_TESTS'
|
|
'.+_OPTIONS' 'NINJA.*' 'NUM_.+'
|
|
'NIH_.+' 'BOOST.*' '.*CCACHE.*')
|
|
|
|
matchstring=$(join_by '|' "${matchers[@]}")
|
|
echo "MATCHSTRING IS:: $matchstring"
|
|
env | grep -E "^(${matchstring})=" >> /tmp/co.env
|
|
set -x
|
|
# need to eliminate TRAVIS_CMD...don't want to pass it to the container
|
|
cat /tmp/co.env | grep -v TRAVIS_CMD > /tmp/co.env.2
|
|
mv /tmp/co.env.2 /tmp/co.env
|
|
cat /tmp/co.env
|
|
mkdir -p -m 0777 ${TRAVIS_BUILD_DIR}/cores
|
|
echo "${TRAVIS_BUILD_DIR}/cores/%e.%p" | sudo tee /proc/sys/kernel/core_pattern
|
|
docker run \
|
|
-t --env-file /tmp/co.env \
|
|
-v ${TRAVIS_HOME}:${TRAVIS_HOME} \
|
|
-w ${TRAVIS_BUILD_DIR} \
|
|
--cap-add SYS_PTRACE \
|
|
--ulimit "core=-1" \
|
|
$DOCKER_IMAGE \
|
|
/bin/bash -c 'if [[ $CC =~ ([[:alpha:]]+)-([[:digit:].]+) ]] ; then sudo update-alternatives --set ${BASH_REMATCH[1]} /usr/bin/$CC; fi; bin/ci/ubuntu/build-and-test.sh'
|
|
|
|
|