diff --git a/scripts/create-docker-container.bash b/scripts/create-docker-container.bash new file mode 100755 index 0000000..bd7c738 --- /dev/null +++ b/scripts/create-docker-container.bash @@ -0,0 +1,34 @@ +#!/bin/bash + +set -eu +set -o pipefail + +THIS_FILE_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" +CI="${THIS_FILE_DIR}/../../wg-app-platform-runtime-ci" +. "$CI/shared/helpers/git-helpers.bash" +REPO_NAME=$(git_get_remote_name) +REPO_PATH="${THIS_FILE_DIR}/../" +unset THIS_FILE_DIR + +IMAGE="cloudfoundry/tas-runtime-build" +CONTAINER_NAME="$REPO_NAME-docker-container" + +if [[ -z "${*}" ]]; then + ARGS="-it" +else + ARGS="${*}" +fi + +docker pull "${IMAGE}" +docker rm -f $CONTAINER_NAME +docker run -it \ + --env "REPO_NAME=$REPO_NAME" \ + --env "REPO_PATH=/repo" \ + --rm \ + --name "$CONTAINER_NAME" \ + -v "${REPO_PATH}:/repo" \ + -v "${CI}:/ci" \ + ${ARGS} \ + "${IMAGE}" \ + /bin/bash + diff --git a/scripts/docker/test.bash b/scripts/docker/test.bash new file mode 100755 index 0000000..f4e104c --- /dev/null +++ b/scripts/docker/test.bash @@ -0,0 +1,25 @@ +#!/bin/bash + +set -eu +set -o pipefail + +. "/ci/shared/helpers/git-helpers.bash" + +function test() { + local package="${1:?Provide a package}" + local sub_package="${2:-}" + + export DIR=${package} + . <(/ci/shared/helpers/extract-default-params-for-task.bash /ci/shared/tasks/run-bin-test/linux.yml) + + export GOFLAGS="-buildvcs=false" + /ci/shared/tasks/run-bin-test/task.bash "${sub_package}" +} + +pushd / > /dev/null +if [[ -n "${1:-}" ]]; then + test "${1}" "${2:-}" +else + test "." +fi +popd > /dev/null diff --git a/scripts/test-in-docker-locally.bash b/scripts/test-in-docker-locally.bash new file mode 100755 index 0000000..8a4f768 --- /dev/null +++ b/scripts/test-in-docker-locally.bash @@ -0,0 +1,14 @@ +#!/bin/bash + +set -eu + +THIS_FILE_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" +CI="${THIS_FILE_DIR}/../../wg-app-platform-runtime-ci" +. "$CI/shared/helpers/git-helpers.bash" +REPO_NAME=$(git_get_remote_name) + +CONTAINER_NAME="$REPO_NAME-docker-container" + +"${THIS_FILE_DIR}/create-docker-container.bash" -d + +docker exec $CONTAINER_NAME '/repo/scripts/docker/test.bash' "$@"