diff options
Diffstat (limited to 'devtools/docker_ci.sh')
| -rwxr-xr-x | devtools/docker_ci.sh | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/devtools/docker_ci.sh b/devtools/docker_ci.sh new file mode 100755 index 00000000..a15b2f69 --- /dev/null +++ b/devtools/docker_ci.sh @@ -0,0 +1,47 @@ +#!/usr/bin/env bash +# Copyright 2020 The Go Authors. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +set -e + +usage() { + cat <<EOUSAGE +Usage: $0 [--sudo] + +Run standard CI (tests and linters) using local docker. If --sudo is set, run +docker with sudo. +EOUSAGE +} + +maybe_sudo= +while [[ $# -gt 0 ]]; do + case "$1" in + "-h" | "--help" | "help") + usage + exit 0 + ;; + "--sudo") + maybe_sudo="sudo " + shift + ;; + *) + usage + exit 1 + esac +done + +# Find the repo root. +script_dir=$(dirname "$(readlink -f "$0")") +pkgsite_dir=$(readlink -f "${script_dir}/..") + +# Run postgres. +pg_container=$(${maybe_sudo}docker run --rm -d --name pg_pkgsite_ci -e LANG=C postgres:11.4) +trap "${maybe_sudo} docker stop ${pg_container}" EXIT + +# Run all.bash. To avoid any port conflict, run in the postgres network. +cd "${pkgsite_dir}" +${maybe_sudo}docker run --rm -t \ + --network container:${pg_container} \ + -v $(pwd):"/workspace" -w "/workspace" \ + -e GO_DISCOVERY_TESTDB=true golang:1.14 ./all.bash ci |
