github.com/energicryptocurrency/go-energi@v1.1.7/Dockerfile.builder (about)

     1  # Ubuntu 22.04 is our base image for building
     2  FROM ubuntu:22.04
     3  
     4  # set up timezone
     5  ENV TZ=GMT
     6  RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
     7  
     8  # update software
     9  RUN apt -y --fix-missing update
    10  RUN apt -y full-upgrade
    11  RUN apt -y autoremove
    12  RUN apt -y clean
    13  
    14  # install docker
    15  RUN apt -y update
    16  RUN apt -y install curl gnupg lsb-release software-properties-common git build-essential wget awscli sudo
    17  
    18  # golang variables
    19  ARG golang_version="1.21.4"
    20  ARG golang_hostarch="linux-amd64"
    21  ARG golang_filename="go${golang_version}.${golang_hostarch}.tar.gz"
    22  ARG golang_url="https://golang.org/dl/${golang_filename}"
    23  ARG golang_sha256="73cac0215254d0c7d1241fa40837851f3b9a8a742d0b54714cbdfb3feaf8f0af"
    24  
    25  # install golang
    26  RUN wget -nv ${golang_url}
    27  RUN echo "${golang_sha256} ${golang_filename}" > "${golang_filename}.sha256"
    28  RUN sha256sum -c ${golang_filename}.sha256
    29  RUN tar -C /usr/local -xzf ${golang_filename}
    30  RUN rm -rf ${golang_filename}*
    31  ENV PATH="${PATH}:/usr/local/go/bin"
    32  ENV GOROOT="/usr/local/go"
    33  
    34  # install go-junit-report
    35  RUN go install -v github.com/RyanLucchese/go-junit-report@latest
    36  ENV PATH="${PATH}:/root/go/bin"
    37  
    38  RUN mkdir -p "/go/src/github.com/energicryptocurrency/go-energi"
    39  WORKDIR "/go/src/github.com/energicryptocurrency/go-energi"
    40  ADD Makefile.release Makefile.release
    41  # this git config supports bind mounting a local repo into a root container
    42  RUN git config --global --add safe.directory /go/src/github.com/energicryptocurrency/go-energi
    43  RUN git config --global --add safe.directory /go/src/github.com/energicryptocurrency/go-energi/energi/governance
    44  RUN git config --global --add safe.directory /go/src/github.com/energicryptocurrency/go-energi/tests/testdata
    45  RUN make -f Makefile.release release-tools
    46  ENV GOPATH="/go"
    47  ENV GOBIN="/go/src/github.com/energicryptocurrency/go-energi/build/bin"
    48  ENV GOFLAGS="-v"