Dockerfile 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. FROM fedora:28
  2. RUN dnf check-update || true \
  3. && dnf install --assumeyes \
  4. git curl wget mercurial meld gcc gcc-c++ which \
  5. gcc automake autoconf dh-autoreconf libtool libtool-ltdl \
  6. tar unzip gzip \
  7. aspell-devel aspell-en hunspell hunspell-devel hunspell-en hunspell-en-US ShellCheck nc || true \
  8. && dnf check-update || true \
  9. && dnf upgrade --assumeyes || true \
  10. && dnf autoremove --assumeyes || true \
  11. && dnf clean all || true \
  12. && dnf reinstall which || true
  13. ENV GOROOT /usr/local/go
  14. ENV GOPATH /go
  15. ENV PATH ${GOPATH}/bin:${GOROOT}/bin:${PATH}
  16. ENV GO_VERSION 1.10.1
  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. RUN mkdir -p ${GOPATH}/src/github.com/coreos/etcd
  23. WORKDIR ${GOPATH}/src/github.com/coreos/etcd
  24. ADD ./scripts/install-marker.sh /tmp/install-marker.sh
  25. # manually link "goword" dependency
  26. # ldconfig -v | grep hunspell
  27. RUN ln -s /lib64/libhunspell-1.6.so /lib64/libhunspell.so
  28. RUN go get -v -u -tags spell github.com/chzchzchz/goword \
  29. && go get -v -u github.com/coreos/license-bill-of-materials \
  30. && go get -v -u honnef.co/go/tools/cmd/gosimple \
  31. && go get -v -u honnef.co/go/tools/cmd/unused \
  32. && go get -v -u honnef.co/go/tools/cmd/staticcheck \
  33. && go get -v -u github.com/gyuho/gocovmerge \
  34. && go get -v -u github.com/gordonklaus/ineffassign \
  35. && go get -v -u github.com/alexkohler/nakedret \
  36. && /tmp/install-marker.sh amd64 \
  37. && rm -f /tmp/install-marker.sh \
  38. && curl -s https://codecov.io/bash >/codecov \
  39. && chmod 700 /codecov