1FROM ubuntu:16.10
2
3RUN rm /bin/sh && ln -s /bin/bash /bin/sh
4RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
5
6RUN apt-get -y update \
7  && apt-get -y install \
8  build-essential \
9  gcc \
10  apt-utils \
11  pkg-config \
12  software-properties-common \
13  apt-transport-https \
14  libssl-dev \
15  sudo \
16  bash \
17  curl \
18  wget \
19  tar \
20  git \
21  netcat \
22  libaspell-dev \
23  libhunspell-dev \
24  hunspell-en-us \
25  aspell-en \
26  shellcheck \
27  && apt-get -y update \
28  && apt-get -y upgrade \
29  && apt-get -y autoremove \
30  && apt-get -y autoclean
31
32ENV GOROOT /usr/local/go
33ENV GOPATH /go
34ENV PATH ${GOPATH}/bin:${GOROOT}/bin:${PATH}
35ENV GO_VERSION REPLACE_ME_GO_VERSION
36ENV GO_DOWNLOAD_URL https://storage.googleapis.com/golang
37RUN rm -rf ${GOROOT} \
38  && curl -s ${GO_DOWNLOAD_URL}/go${GO_VERSION}.linux-amd64.tar.gz | tar -v -C /usr/local/ -xz \
39  && mkdir -p ${GOPATH}/src ${GOPATH}/bin \
40  && go version
41
42RUN mkdir -p ${GOPATH}/src/github.com/coreos/etcd
43WORKDIR ${GOPATH}/src/github.com/coreos/etcd
44
45ADD ./scripts/install-marker.sh /tmp/install-marker.sh
46
47RUN go get -v -u -tags spell github.com/chzchzchz/goword \
48  && go get -v -u github.com/coreos/license-bill-of-materials \
49  && go get -v -u honnef.co/go/tools/cmd/gosimple \
50  && go get -v -u honnef.co/go/tools/cmd/unused \
51  && go get -v -u honnef.co/go/tools/cmd/staticcheck \
52  && go get -v -u github.com/gyuho/gocovmerge \
53  && go get -v -u github.com/gordonklaus/ineffassign \
54  && go get -v -u github.com/alexkohler/nakedret \
55  && /tmp/install-marker.sh amd64 \
56  && rm -f /tmp/install-marker.sh \
57  && curl -s https://codecov.io/bash >/codecov \
58  && chmod 700 /codecov
59