dcrd/Dockerfile-1.9
2018-02-18 10:27:18 -06:00

61 lines
1.6 KiB
Groff

#decred-golang-builder-1.9
# This image may be called with the run_tests.sh script included in any of the
# supported go repos.
# ./run_tests.sh 1.9
FROM golang:1.9.4
LABEL description="Decred golang builder image"
LABEL version="1.0"
LABEL maintainer "dhill@mindcry.org"
ENV TERM linux
ENV USER build
# create user
RUN adduser --disabled-password --gecos '' $USER
# update base distro & install build tooling
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && \
apt-get install -qy rsync
# create directory for build artifacts, adjust user permissions
RUN mkdir /release && \
chown $USER /release
# create directory to get source from
RUN mkdir /src && \
chown $USER /src && \
mkdir -p /go/src/github.com/decred/dcrd && \
mkdir -p /go/src/github.com/decred/dcrwallet && \
mkdir -p /go/src/github.com/decred/dcrctl && \
mkdir -p /go/src/github.com/decred/dcrrpcclient && \
chown -R $USER /go/src
# switch user
USER $USER
ENV HOME /home/$USER
#Get deps
ENV DEP_TAG v0.4.1
ENV GLIDE_TAG v0.13.1
ENV GOMETALINTER_TAG v2.0.5
WORKDIR /go/src
RUN go get -v github.com/Masterminds/glide && \
cd /go/src/github.com/Masterminds/glide && \
git checkout $GLIDE_TAG && \
make build && \
mv glide `which glide` && \
go get -v github.com/alecthomas/gometalinter && \
cd /go/src/github.com/alecthomas/gometalinter && \
git checkout $GOMETALINTER_TAG && \
go install && \
gometalinter --install && \
go get -v github.com/golang/dep && \
cd /go/src/github.com/golang/dep && \
git checkout $DEP_TAG && \
go install ./...