61 lines
1.6 KiB
Groff
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 ./...
|