зеркало из https://github.com/golang/pkgsite.git
48 строки
1.1 KiB
Bash
Executable File
48 строки
1.1 KiB
Bash
Executable File
#!/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 -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
|