X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/a12864a31d5569c74ed32157d5fe928a1c2563b7..56c4d0c08266cacbca73e77aa82939e00a0bb69e:/build/run-build-test-packages-one-target.sh diff --git a/build/run-build-test-packages-one-target.sh b/build/run-build-test-packages-one-target.sh index 46b8133466..2e2e3cdb40 100755 --- a/build/run-build-test-packages-one-target.sh +++ b/build/run-build-test-packages-one-target.sh @@ -1,4 +1,7 @@ #!/bin/bash +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: AGPL-3.0 read -rd "\000" helpmessage < - Distribution to build packages for (default: debian8) + Distribution to build packages for (default: debian10) +--only-build + Build only a specific package (or $ONLY_BUILD from environment) --upload If the build and test steps are successful, upload the packages to a remote apt repository (default: false) +--debug + Output debug information (default: false) +--rc + Optional Parameter to build Release Candidate +--build-version + Version to build (default: + \$ARVADOS_BUILDING_VERSION-\$ARVADOS_BUILDING_ITERATION or + 0.1.timestamp.commithash) WORKSPACE=path Path to the Arvados source tree to build packages from @@ -33,14 +46,18 @@ if ! [[ -d "$WORKSPACE" ]]; then fi PARSEDOPTS=$(getopt --name "$0" --longoptions \ - help,upload,target: \ + help,debug,upload,rc,target:,only-build:,build-version: \ -- "" "$@") if [ $? -ne 0 ]; then exit 1 fi -TARGET=debian8 +TARGET=debian10 UPLOAD=0 +RC=0 +DEBUG= + +declare -a build_args=() eval set -- "$PARSEDOPTS" while [ $# -gt 0 ]; do @@ -53,9 +70,22 @@ while [ $# -gt 0 ]; do --target) TARGET="$2"; shift ;; + --only-build) + ONLY_BUILD="$2"; shift + ;; + --debug) + DEBUG=" --debug" + ;; --upload) UPLOAD=1 ;; + --rc) + RC=1 + ;; + --build-version) + build_args+=("$1" "$2") + shift + ;; --) if [ $# -gt 1 ]; then echo >&2 "$0: unrecognized argument '$2'. Try: $0 --help" @@ -66,6 +96,12 @@ while [ $# -gt 0 ]; do shift done +build_args+=(--target "$TARGET") + +if [[ -n "$ONLY_BUILD" ]]; then + build_args+=(--only-build "$ONLY_BUILD") +fi + exit_cleanly() { trap - INT report_outcomes @@ -78,7 +114,7 @@ COLUMNS=80 title "Start build packages" timer_reset -$WORKSPACE/build/run-build-packages-one-target.sh --target $TARGET +$WORKSPACE/build/run-build-packages-one-target.sh "${build_args[@]}"$DEBUG checkexit $? "build packages" title "End of build packages (`timer`)" @@ -87,7 +123,7 @@ title "Start test packages" timer_reset if [ ${#failures[@]} -eq 0 ]; then - $WORKSPACE/build/run-build-packages-one-target.sh --target $TARGET --test-packages + $WORKSPACE/build/run-build-packages-one-target.sh "${build_args[@]}" --test-packages$DEBUG else echo "Skipping package upload, there were errors building the packages" fi @@ -100,7 +136,13 @@ if [[ "$UPLOAD" != 0 ]]; then timer_reset if [ ${#failures[@]} -eq 0 ]; then - /usr/local/arvados-dev/jenkins/run_upload_packages.py -H jenkinsapt@apt.arvados.org -o Port=2222 --workspace $WORKSPACE $TARGET + if [[ "$RC" != 0 ]]; then + echo "/usr/local/arvados-dev/jenkins/run_upload_packages.py --repo testing -H jenkinsapt@apt.arvados.org -o Port=2222 --workspace $WORKSPACE $TARGET" + /usr/local/arvados-dev/jenkins/run_upload_packages.py --repo testing -H jenkinsapt@apt.arvados.org -o Port=2222 --workspace $WORKSPACE $TARGET + else + echo "/usr/local/arvados-dev/jenkins/run_upload_packages.py --repo dev -H jenkinsapt@apt.arvados.org -o Port=2222 --workspace $WORKSPACE $TARGET" + /usr/local/arvados-dev/jenkins/run_upload_packages.py --repo dev -H jenkinsapt@apt.arvados.org -o Port=2222 --workspace $WORKSPACE $TARGET + fi else echo "Skipping package upload, there were errors building and/or testing the packages" fi