projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
21696: Add test for non-contiguous file data segments.
[arvados.git]
/
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 e36c4e88c0d0bf146ac88a9d12587ef03b9a960e..d1217162e6109ad74bddb27ba8ea847092d074cb 100755
(executable)
--- a/
build/run-build-test-packages-one-target.sh
+++ b/
build/run-build-test-packages-one-target.sh
@@
-7,14
+7,19
@@
read -rd "\000" helpmessage <<EOF
$(basename $0): Build, test and (optionally) upload packages for one target
Syntax:
$(basename $0): Build, test and (optionally) upload packages for one target
Syntax:
- WORKSPACE=/path/to/arvados $(basename $0) [options]
+ WORKSPACE=/path/to/arvados $(basename $0)
--target <target>
[options]
--target <target>
--target <target>
- Distribution to build packages for
(default: debian10)
+ Distribution to build packages for
--only-build <package>
Build only a specific package (or ONLY_BUILD from environment)
--arch <arch>
Build a specific architecture (or ARCH from environment, defaults to native architecture)
--only-build <package>
Build only a specific package (or ONLY_BUILD from environment)
--arch <arch>
Build a specific architecture (or ARCH from environment, defaults to native architecture)
+--force-build
+ Build even if the package exists upstream or if it has already been
+ built locally
+--force-test
+ Test even if there is no new untested package
--upload
If the build and test steps are successful, upload the packages
to a remote apt repository (default: false)
--upload
If the build and test steps are successful, upload the packages
to a remote apt repository (default: false)
@@
-26,6
+31,8
@@
Syntax:
Version to build (default:
\$ARVADOS_BUILDING_VERSION-\$ARVADOS_BUILDING_ITERATION or
0.1.timestamp.commithash)
Version to build (default:
\$ARVADOS_BUILDING_VERSION-\$ARVADOS_BUILDING_ITERATION or
0.1.timestamp.commithash)
+--skip-docker-build
+ Don't try to build Docker images
WORKSPACE=path Path to the Arvados source tree to build packages from
WORKSPACE=path Path to the Arvados source tree to build packages from
@@
-48,16
+55,16
@@
if ! [[ -d "$WORKSPACE" ]]; then
fi
PARSEDOPTS=$(getopt --name "$0" --longoptions \
fi
PARSEDOPTS=$(getopt --name "$0" --longoptions \
- help,debug,upload,rc,target:,
only-build:,arch:,build-version:
\
+ help,debug,upload,rc,target:,
force-test,only-build:,force-build,arch:,build-version:,skip-docker-build
\
-- "" "$@")
if [ $? -ne 0 ]; then
exit 1
fi
-- "" "$@")
if [ $? -ne 0 ]; then
exit 1
fi
-TARGET=debian10
UPLOAD=0
RC=0
DEBUG=
UPLOAD=0
RC=0
DEBUG=
+TARGET=
declare -a build_args=()
declare -a build_args=()
@@
-72,6
+79,12
@@
while [ $# -gt 0 ]; do
--target)
TARGET="$2"; shift
;;
--target)
TARGET="$2"; shift
;;
+ --force-test)
+ FORCE_TEST=1
+ ;;
+ --force-build)
+ FORCE_BUILD=1
+ ;;
--only-build)
ONLY_BUILD="$2"; shift
;;
--only-build)
ONLY_BUILD="$2"; shift
;;
@@
-91,6
+104,9
@@
while [ $# -gt 0 ]; do
build_args+=("$1" "$2")
shift
;;
build_args+=("$1" "$2")
shift
;;
+ --skip-docker-build)
+ SKIP_DOCKER_BUILD=1
+ ;;
--)
if [ $# -gt 1 ]; then
echo >&2 "$0: unrecognized argument '$2'. Try: $0 --help"
--)
if [ $# -gt 1 ]; then
echo >&2 "$0: unrecognized argument '$2'. Try: $0 --help"
@@
-101,12
+117,32
@@
while [ $# -gt 0 ]; do
shift
done
shift
done
+if [[ -z "$TARGET" ]]; then
+ echo "FATAL: --target must be specified" >&2
+ exit 2
+elif [[ ! -d "$WORKSPACE/build/package-build-dockerfiles/$TARGET" ]]; then
+ echo "FATAL: unknown build target '$TARGET'" >&2
+ exit 2
+fi
+
build_args+=(--target "$TARGET")
if [[ -n "$ONLY_BUILD" ]]; then
build_args+=(--only-build "$ONLY_BUILD")
fi
build_args+=(--target "$TARGET")
if [[ -n "$ONLY_BUILD" ]]; then
build_args+=(--only-build "$ONLY_BUILD")
fi
+if [[ -n "$FORCE_BUILD" ]]; then
+ build_args+=(--force-build)
+fi
+
+if [[ -n "$FORCE_TEST" ]]; then
+ build_args+=(--force-test)
+fi
+
+if [[ "$SKIP_DOCKER_BUILD" = 1 ]]; then
+ build_args+=(--skip-docker-build)
+fi
+
if [[ -n "$ARCH" ]]; then
build_args+=(--arch "$ARCH")
fi
if [[ -n "$ARCH" ]]; then
build_args+=(--arch "$ARCH")
fi