mirror of
https://github.com/falk-werner/webfuse
synced 2024-10-27 20:34:10 +00:00
64 lines
1.6 KiB
Bash
Executable File
64 lines
1.6 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
#
|
|
# This file is part of dobuild.
|
|
# Copyright (c) 2019 Contributors as noted in the AUTHORS file.
|
|
#
|
|
# SPDX-License-Identifier: MPL-2.0
|
|
|
|
set -e
|
|
|
|
enabled() {
|
|
{ [ "$1" -ne 0 ] || [ "$1" = 'true' ]; } 2>/dev/null
|
|
}
|
|
|
|
physical_pwd() {
|
|
pwd -P 2>/dev/null || pwd
|
|
}
|
|
|
|
try_canonicalize() {
|
|
readlink -f "$@" 2>/dev/null || realpath "$@"
|
|
}
|
|
|
|
canonicalize() {
|
|
if ! try_canonicalize "$1" 2>/dev/null; then
|
|
echo "$(cd "$(dirname "$1")" && physical_pwd)/$(basename "$1")"
|
|
fi
|
|
}
|
|
|
|
scriptdir() {
|
|
dirname "$(canonicalize "${BASH_SOURCE:-$1}")"
|
|
}
|
|
|
|
if [ $# -eq 0 ]; then
|
|
set -- 'bats' 'tests/'
|
|
fi
|
|
|
|
DOBUILDDIR="${DOBUILDDIR:-"$(scriptdir "$0")"}"
|
|
PATH="${DOBUILDDIR}/bin:$PATH"
|
|
ENABLE_BUILD="${ENABLE_BUILD:-0}"
|
|
PROJECTDIR="${DOBUILD_COMPOSEPROJECTDIR:-"$PWD"}"
|
|
DOBUILD_HOSTCONTAINER="${DOBUILD_HOSTCONTAINER:-"$(get_container_id.sh)"}" || true
|
|
COMPOSEENV_PROJECTPATH="$(canonicalize "${COMPOSEENV_PROJECTPATH:-$PROJECTDIR}")"
|
|
|
|
export DOBUILDDIR
|
|
export COMPOSEENV_VOLUMESFROM="${COMPOSEENV_VOLUMESFROM:-$DOBUILD_HOSTCONTAINER}"
|
|
export COMPOSEENV_PROJECTPATH
|
|
|
|
if [ -n "$COMPOSEENV_VOLUMESFROM" ]; then
|
|
DIND_VOLUME_METHOD='dind-volumes_from.yml'
|
|
else
|
|
DIND_VOLUME_METHOD='dind-bind_mount.yml'
|
|
fi
|
|
|
|
set -- -f docker-compose.yml -f "tests/runners/$DIND_VOLUME_METHOD" run --rm check "$@"
|
|
|
|
if enabled "${ENABLE_BUILD}"; then
|
|
docker_compose build 0<&- || exit $?
|
|
fi
|
|
|
|
exec docker_compose "$@"
|