summaryrefslogtreecommitdiff
path: root/tcwg-buildfarm.sh
diff options
context:
space:
mode:
authorMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>2018-05-04 09:15:58 +0000
committerMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>2018-06-18 14:24:25 +0000
commit2e83728051d51ac55b1a3bba329f0ad23551b888 (patch)
treebce4142cc4a2b6ba8bef343da46425c3d2858783 /tcwg-buildfarm.sh
parentaf4499885531b36106fe5234648f7453cbe83884 (diff)
tcwg-buildfarm.sh: Remove code to handle docker containers.
Assume we are called inside a container already, e.g., via docker-run.sh Change-Id: If609254a6c925bb4923adc18e35a5e6cb8257381
Diffstat (limited to 'tcwg-buildfarm.sh')
-rwxr-xr-xtcwg-buildfarm.sh66
1 files changed, 40 insertions, 26 deletions
diff --git a/tcwg-buildfarm.sh b/tcwg-buildfarm.sh
index 0d92c8b9..e38f1434 100755
--- a/tcwg-buildfarm.sh
+++ b/tcwg-buildfarm.sh
@@ -5,8 +5,37 @@ set -ex
mkdir -p artifacts/
. ./jenkins-scripts/jenkins-helpers.sh
-
-builder_type=$(print_type_for_label $label)
+convert_args_to_variables "$@"
+
+# Make shellcheck happy and workaround Jenkins not defining variables
+# for empty arguments.
+label="${label:-tcwg-x86_64-build}"
+target="${target:-aarch64-linux-gnu}"
+NODE_NAME="${NODE_NAME:-$(hostname)}"
+TCWG_SES_USER="${TCWG_SES_USER:-}"
+TCWG_SES_PASSWORD="${TCWG_SES_PASSWORD:-}"
+WORKSPACE="${WORKSPACE:-$(pwd)}"
+override="${override:-}"
+host_x86_64_languages="${host_x86_64_languages:-default}"
+host_aarchXX_languages="${host_aarchXX_languages:-c,c++}"
+runtests="${runtests:-aarch64-linux-gnu}"
+send_results_to="${send_results_to:-}"
+try_bootstrap="${try_bootstrap:-true}"
+host_x86_64_excludecheck="${host_x86_64_excludecheck:-gdb}"
+host_aarchXX_excludecheck="${host_aarchXX_excludecheck:-gcc}"
+extraconfig="${extraconfig:-}"
+rebuild="${rebuild:-true}"
+log_name="${log_name:-$target}"
+dont_fail="${dont_fail:-false}"
+log_server="${log_server:-dev-01.tcwglab:$HOME/logs}"
+abe_branch="${abe_branch:-refs/heads/tested}"
+build_container_tag="${build_container_tag:-xenial-tcwg-tested}"
+test_container_tag="${test_container_tag:-xenial-tcwg-tested}"
+binaries="${binaries:-false}"
+
+# Jenkins doesn't define variables when parameter value is empty,
+# so enable "set -u" only after above binding of variables.
+set -u
if [ x"$target" = x"$label" ]; then
target_opt="--target native"
@@ -16,16 +45,6 @@ else
target_opt="--target $target"
fi
-# Start build container
-bash -x ./jenkins-scripts/start-container-docker.sh --label $label --node $NODE_NAME --distro ${build_container_tag} --prefix build_ --dryrun $dryrun > build-container.sh
-
-# Define build_CONTAINER_RSH and build_container_cleanup
-. ./build-container.sh
-
-# Make sure to cleanup build container if something goes
-# wrong when preparing the test environment
-trap "cleanup_all_containers" EXIT
-
runtests_opt=""
if echo $runtests | grep -q $target; then
runtests_opt="--runtests"
@@ -58,7 +77,8 @@ if [ "x${send_results_to}" != x ]; then
send_results_to="--send-results-to ${send_results_to}"
fi
-${build_CONTAINER_RSH} 'echo "Build session is up; ulimit config:"; ulimit -a'
+echo "Build session is up; ulimit config:"
+ulimit -a
case $label in
tcwg-x86_*-build) languages="$host_x86_64_languages" ;;
@@ -122,19 +142,13 @@ done
result="0"
# Configure postfix
-${build_CONTAINER_RSH} "sudo sed -e s/@@MYHOSTNAME@@/${NODE_NAME}/g -e s/@@MAILHOST@@/email-smtp.us-east-1.amazonaws.com/ -e s/@@MAILPORT@@/587/ -i /etc/postfix/main.cf"
-${build_CONTAINER_RSH} "sudo sed -e s/@@MAILHOST@@/email-smtp.us-east-1.amazonaws.com/ -e s/@@MAILPORT@@/587/ -e s/@@MAILUSER@@/${TCWG_SES_USER}/ -e s/@@MAILPASSWORD@@/${TCWG_SES_PASSWORD}/ -i /etc/postfix/sasl_password"
-${build_CONTAINER_RSH} "echo linaro.org | sudo tee /etc/mailname"
-${build_CONTAINER_RSH} "sudo postmap hash:/etc/postfix/sasl_password"
-${build_CONTAINER_RSH} "sudo /etc/init.d/postfix start"
-
-${build_CONTAINER_RSH} "cd ${WORKSPACE} && bash -x ${WORKSPACE}/jenkins-scripts/jenkins.sh --workspace ${WORKSPACE} --abedir ${WORKSPACE} --override \"$override ${qemu_cpu}\" $target_opt --languages ${languages} $bootstrap $runtests_opt $excludecheck_opt ${extraconfig_opt} ${send_results_to} --logserver $log_server $logname_opt $norebuild $options"|| result=$?
-
-# If the build failed, stop the containers, which will
-# leave them as-is for ~10 days.
-if [ $result -ne 0 ]; then
- trap "stop_all_containers" EXIT
-fi
+sudo sed -e s/@@MYHOSTNAME@@/${NODE_NAME}/g -e s/@@MAILHOST@@/email-smtp.us-east-1.amazonaws.com/ -e s/@@MAILPORT@@/587/ -i /etc/postfix/main.cf
+sudo sed -e s/@@MAILHOST@@/email-smtp.us-east-1.amazonaws.com/ -e s/@@MAILPORT@@/587/ -e s/@@MAILUSER@@/${TCWG_SES_USER}/ -e s/@@MAILPASSWORD@@/${TCWG_SES_PASSWORD}/ -i /etc/postfix/sasl_password
+echo linaro.org | sudo tee /etc/mailname
+sudo postmap hash:/etc/postfix/sasl_password
+sudo /etc/init.d/postfix start
+
+cd ${WORKSPACE} && bash -x ${WORKSPACE}/jenkins-scripts/jenkins.sh --workspace ${WORKSPACE} --abedir ${WORKSPACE} --override "$override ${qemu_cpu}" $target_opt --languages ${languages} $bootstrap $runtests_opt $excludecheck_opt ${extraconfig_opt} ${send_results_to} --logserver $log_server $logname_opt $norebuild $options || result=$?
if $dryrun; then
# Keep Jenkins happy