go.etcd.io/etcd@v3.3.27+incompatible/functional/Dockerfile (about)

     1  FROM fedora:28
     2  
     3  RUN dnf check-update || true \
     4    && dnf install --assumeyes \
     5    git curl wget mercurial meld gcc gcc-c++ which \
     6    gcc automake autoconf dh-autoreconf libtool libtool-ltdl \
     7    tar unzip gzip \
     8    && dnf check-update || true \
     9    && dnf upgrade --assumeyes || true \
    10    && dnf autoremove --assumeyes || true \
    11    && dnf clean all || true
    12  
    13  ENV GOROOT /usr/local/go
    14  ENV GOPATH /go
    15  ENV PATH ${GOPATH}/bin:${GOROOT}/bin:${PATH}
    16  ENV GO_VERSION REPLACE_ME_GO_VERSION
    17  ENV GO_DOWNLOAD_URL https://storage.googleapis.com/golang
    18  RUN rm -rf ${GOROOT} \
    19    && curl -s ${GO_DOWNLOAD_URL}/go${GO_VERSION}.linux-amd64.tar.gz | tar -v -C /usr/local/ -xz \
    20    && mkdir -p ${GOPATH}/src ${GOPATH}/bin \
    21    && go version
    22  
    23  RUN mkdir -p ${GOPATH}/src/github.com/coreos/etcd
    24  ADD . ${GOPATH}/src/github.com/coreos/etcd
    25  ADD ./functional.yaml /functional.yaml
    26  
    27  RUN go get -v github.com/coreos/gofail \
    28    && pushd ${GOPATH}/src/github.com/coreos/etcd \
    29    && GO_BUILD_FLAGS="-v" ./build \
    30    && mkdir -p /bin \
    31    && cp ./bin/etcd /bin/etcd \
    32    && cp ./bin/etcdctl /bin/etcdctl \
    33    && GO_BUILD_FLAGS="-v" FAILPOINTS=1 ./build \
    34    && cp ./bin/etcd /bin/etcd-failpoints \
    35    && ./functional/build \
    36    && cp ./bin/etcd-agent /bin/etcd-agent \
    37    && cp ./bin/etcd-proxy /bin/etcd-proxy \
    38    && cp ./bin/etcd-runner /bin/etcd-runner \
    39    && cp ./bin/etcd-tester /bin/etcd-tester \
    40    && go build -v -o /bin/benchmark ./tools/benchmark \
    41    && popd \
    42    && rm -rf ${GOPATH}/src/github.com/coreos/etcd