diff --git a/Dockerfile b/Dockerfile index eae8924997..88f9c25216 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,6 +3,13 @@ FROM golang:1.9-alpine as builder RUN apk add --no-cache make gcc musl-dev linux-headers +ARG GIT_COMMIT +ENV GIT_COMMIT ${GIT_COMMIT} +ARG GIT_BRANCH +ENV GIT_BRANCH ${GIT_BRANCH} +ARG GIT_TAG +ENV GIT_TAG ${GIT_TAG} + ADD . /go-ethereum RUN cd /go-ethereum && make geth diff --git a/Makefile b/Makefile index 2cfd1110ec..656490fe8f 100644 --- a/Makefile +++ b/Makefile @@ -34,6 +34,13 @@ ios: @echo "Done building." @echo "Import \"$(GOBIN)/Geth.framework\" to use the library." +docker: + docker build \ + --build-arg GIT_COMMIT=$(shell git rev-parse HEAD) \ + --build-arg GIT_BRANCH=$(shell git rev-parse --abbrev-ref HEAD) \ + --build-arg GIT_TAG=$(shell git tag -l --points-at HEAD) \ + -t ethereum:$(shell git rev-parse --short HEAD) . + test: all build/env.sh go run build/ci.go test diff --git a/internal/build/env.go b/internal/build/env.go index c47681ebed..8ab7f3f044 100644 --- a/internal/build/env.go +++ b/internal/build/env.go @@ -74,6 +74,13 @@ func Env() Environment { IsPullRequest: os.Getenv("APPVEYOR_PULL_REQUEST_NUMBER") != "", IsCronJob: os.Getenv("APPVEYOR_SCHEDULED_BUILD") == "True", } + case os.Getenv("GIT_COMMIT") != "": + return Environment{ + Name: "docker", + Commit: os.Getenv("GIT_COMMIT"), + Branch: os.Getenv("GIT_BRANCH"), + Tag: os.Getenv("GIT_TAG"), + } default: return LocalEnv() }