mirror of
https://github.com/Oxalide/vsphere-influxdb-go.git
synced 2023-10-10 13:36:51 +02:00
63 lines
1.6 KiB
Bash
63 lines
1.6 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
function printHelp() {
|
||
|
>&2 echo \
|
||
|
"USAGE: $0 [-p INFLUXDB_GIT_DIR]
|
||
|
-s INFLUXDB_SHA -b INFLUXDB_BRANCH -v INFLUXDB_VERSION -o OUTDIR
|
||
|
|
||
|
Emits a tarball of influxdb source code and dependencies to OUTDIR.
|
||
|
|
||
|
If using -p flag, directory containing influxdb source code will be used as source of truth.
|
||
|
This is helpful if you have local commits that have not been pushed.
|
||
|
|
||
|
If not using -p, you must provide -S to clone over SSH.
|
||
|
"
|
||
|
}
|
||
|
|
||
|
if [ $# -eq 0 ]; then
|
||
|
printHelp
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
SRCDIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||
|
source "$SRCDIR/../_go_versions.sh"
|
||
|
|
||
|
SHA=""
|
||
|
BRANCH=""
|
||
|
VERSION=""
|
||
|
OUTDIR=""
|
||
|
|
||
|
# These variables may expand to command arguments. Don't double quote them when used later.
|
||
|
INFLUXDB_GIT_MOUNT=""
|
||
|
|
||
|
|
||
|
while getopts hs:b:v:o:p:S: arg; do
|
||
|
case "$arg" in
|
||
|
h) printHelp; exit 1;;
|
||
|
s) SHA="$OPTARG";;
|
||
|
b) BRANCH="$OPTARG";;
|
||
|
v) VERSION="$OPTARG";;
|
||
|
o) OUTDIR="$OPTARG";;
|
||
|
p) INFLUXDB_GIT_MOUNT="--mount type=bind,src=$OPTARG,dst=/influxdb-git,ro=1";;
|
||
|
esac
|
||
|
done
|
||
|
|
||
|
if [ -z "$OUTDIR" ]; then
|
||
|
# Not bothering to check the other variables since they're checked in the inner docker script.
|
||
|
printHelp
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
# Only build with GO_CURRENT_VERSION. No need to build source tarball with next version of Go.
|
||
|
docker build --build-arg "GO_VERSION=$GO_CURRENT_VERSION" -t influxdata/influxdb/releng/source-tarball:latest "$SRCDIR"
|
||
|
|
||
|
mkdir -p "$OUTDIR"
|
||
|
|
||
|
docker run --rm \
|
||
|
$INFLUXDB_GIT_MOUNT \
|
||
|
--mount "type=bind,src=${OUTDIR},dst=/out" \
|
||
|
influxdata/influxdb/releng/source-tarball:latest \
|
||
|
-s "$SHA" \
|
||
|
-b "$BRANCH" \
|
||
|
-v "$VERSION"
|