mirror of
https://github.com/tendermint/tendermint.git
synced 2026-01-08 22:23:11 +00:00
To achieve faster feedback cycles for our feature PRs this change reduces the average buildtime from 35 to ~6min by utilising their new 2.0 offering based on docker and nomad. We make use of parallel build steps wherever possible so that the duration is determined by the slowest test suite (p2p). This is an intermediate step until we move our CI/CD completely on-premise for more control and added security.
39 lines
878 B
Docker
39 lines
878 B
Docker
FROM golang:1.9.4
|
|
|
|
# Add testing deps for curl
|
|
RUN echo 'deb http://httpredir.debian.org/debian testing main non-free contrib' >> /etc/apt/sources.list
|
|
|
|
# Grab deps (jq, hexdump, xxd, killall)
|
|
RUN apt-get update && \
|
|
apt-get install -y --no-install-recommends \
|
|
jq bsdmainutils vim-common psmisc netcat curl
|
|
|
|
# Setup tendermint repo
|
|
ENV REPO $GOPATH/src/github.com/tendermint/tendermint
|
|
ENV GOBIN $GOPATH/bin
|
|
WORKDIR $REPO
|
|
|
|
# Install the vendored dependencies before copying code
|
|
# docker caching prevents reinstall on code change!
|
|
ADD Gopkg.toml Gopkg.toml
|
|
ADD Gopkg.lock Gopkg.lock
|
|
ADD Makefile Makefile
|
|
RUN make get_tools
|
|
RUN make get_vendor_deps
|
|
|
|
# Install the apps
|
|
ADD scripts scripts
|
|
RUN bash scripts/install_abci_apps.sh
|
|
|
|
# Now copy in the code
|
|
COPY . $REPO
|
|
|
|
|
|
RUN go install ./cmd/tendermint
|
|
|
|
# expose the volume for debugging
|
|
VOLUME $REPO
|
|
|
|
EXPOSE 46656
|
|
EXPOSE 46657
|