diff --git a/Dockerfile.build b/Dockerfile.build new file mode 100644 index 00000000..a26c621d --- /dev/null +++ b/Dockerfile.build @@ -0,0 +1,5 @@ +FROM ubuntu:16.04 +RUN apt-get update +RUN apt-get install -y golang git-core libgpgme11-dev +ENV GOPATH=/ +WORKDIR /src/github.com/projectatomic/skopeo diff --git a/Makefile b/Makefile index 1c53fc1a..f2650467 100644 --- a/Makefile +++ b/Makefile @@ -25,8 +25,18 @@ GIT_COMMIT := $(shell git rev-parse HEAD 2> /dev/null || true) all: binary -binary: - go build -ldflags "-X main.gitCommit=${GIT_COMMIT}" -o ${DEST}skopeo ./cmd/skopeo +binary: skopeo + +# Build a docker image (skopeobuild) that has everything we need to build. +# Then do the build and the output (skopeo) should appear in current dir +skopeo: cmd/skopeo + docker build ${DOCKER_BUILD_ARGS} -f Dockerfile.build -t skopeobuildimage . + docker run --rm -v ${PWD}:/src/github.com/projectatomic/skopeo \ + skopeobuildimage make binary-local + +# Build w/o using Docker containers +binary-local: + go build -ldflags "-X main.gitCommit=${GIT_COMMIT}" -o skopeo ./cmd/skopeo build-container: docker build ${DOCKER_BUILD_ARGS} -t "$(DOCKER_IMAGE)" . diff --git a/hack/make/test-integration b/hack/make/test-integration index cb3b6c71..ac9704d4 100755 --- a/hack/make/test-integration +++ b/hack/make/test-integration @@ -8,7 +8,7 @@ bundle_test_integration() { # subshell so that we can export PATH without breaking other things ( - make binary + make binary-local make install-binary export GO15VENDOREXPERIMENT=1 bundle_test_integration