2018-03-26 10:52:36 +00:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
2018-09-14 18:36:19 +00:00
|
|
|
. $(dirname $0)/util
|
2018-03-26 10:52:36 +00:00
|
|
|
set -eu -o pipefail -x
|
|
|
|
|
2018-10-02 17:03:32 +00:00
|
|
|
: ${CONTINUOUS_INTEGRATION=}
|
|
|
|
|
|
|
|
progressFlag=""
|
|
|
|
if [ "$CONTINUOUS_INTEGRATION" == "true" ]; then progressFlag="--progress=plain"; fi
|
|
|
|
|
2018-04-03 12:43:53 +00:00
|
|
|
gogo_version=$(awk '$1 == "github.com/gogo/protobuf" { print $2 }' vendor.conf)
|
2018-09-14 18:36:19 +00:00
|
|
|
case $buildmode in
|
|
|
|
"buildkit")
|
2019-01-06 11:48:03 +00:00
|
|
|
output=$(mktemp -d -t buildctl-output.XXXXXXXXXX)
|
2018-10-02 17:03:32 +00:00
|
|
|
buildctl build $progressFlag --frontend=dockerfile.v0 --local context=. --local dockerfile=. \
|
2018-09-14 18:36:19 +00:00
|
|
|
--frontend-opt build-arg:GOGO_VERSION=$gogo_version \
|
|
|
|
--frontend-opt target=update \
|
|
|
|
--frontend-opt filename=./hack/dockerfiles/generated-files.buildkit.Dockerfile \
|
2019-01-06 11:48:03 +00:00
|
|
|
--exporter=local --exporter-opt output=$output
|
|
|
|
cp -R "$output/generated-files/" .
|
|
|
|
rm -rf $output
|
2018-09-14 18:36:19 +00:00
|
|
|
;;
|
|
|
|
*)
|
|
|
|
iidfile=$(mktemp -t docker-iidfile.XXXXXXXXXX)
|
|
|
|
case $buildmode in
|
|
|
|
"docker-buildkit")
|
|
|
|
export DOCKER_BUILDKIT=1
|
|
|
|
docker build --build-arg GOGO_VERSION=$gogo_version --iidfile $iidfile -f ./hack/dockerfiles/generated-files.buildkit.Dockerfile --target update --force-rm .
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
docker build --build-arg GOGO_VERSION=$gogo_version --iidfile $iidfile -f ./hack/dockerfiles/generated-files.Dockerfile --target update --force-rm .
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
iid=$(cat $iidfile)
|
|
|
|
cid=$(docker create $iid noop)
|
2018-03-26 10:52:36 +00:00
|
|
|
|
2019-01-06 11:48:03 +00:00
|
|
|
docker export $cid | tar -xf - --strip-components=1 generated-files
|
2018-03-26 10:52:36 +00:00
|
|
|
|
2018-09-14 18:36:19 +00:00
|
|
|
docker rm $cid
|
2018-03-26 10:52:36 +00:00
|
|
|
|
2018-09-14 18:36:19 +00:00
|
|
|
rm -f $iidfile
|
|
|
|
;;
|
|
|
|
esac
|