mirror of
https://github.com/kaspanet/kaspad.git
synced 2025-03-30 15:08:33 +00:00

* [NOD-1521] Use static check as part of jenkins to check for swallowed errors * [NOD-1521] added staticcheck installation * [NOD-1521] Fix static check errors Co-authored-by: Ori Newman <orinewman1@gmail.com>
37 lines
930 B
Docker
37 lines
930 B
Docker
# -- multistage docker build: stage #1: build stage
|
|
FROM golang:1.14-alpine AS build
|
|
|
|
RUN mkdir -p /go/src/github.com/kaspanet/kaspad
|
|
|
|
WORKDIR /go/src/github.com/kaspanet/kaspad
|
|
|
|
RUN apk add --no-cache curl git openssh binutils gcc musl-dev
|
|
RUN go get -u golang.org/x/lint/golint \
|
|
honnef.co/go/tools/cmd/staticcheck
|
|
|
|
COPY go.mod .
|
|
COPY go.sum .
|
|
|
|
RUN go mod download
|
|
|
|
COPY . .
|
|
|
|
WORKDIR /go/src/github.com/kaspanet/kaspad/cmd/kaspactl
|
|
|
|
RUN GOFMT_RESULT=`go fmt ./...`; echo $GOFMT_RESULT; test -z "$GOFMT_RESULT"
|
|
RUN go vet ./...
|
|
RUN golint -set_exit_status ./...
|
|
RUN staticcheck -checks SA4006 ./...
|
|
RUN GOOS=linux go build -a -installsuffix cgo -o kaspactl .
|
|
|
|
# --- multistage docker build: stage #2: runtime image
|
|
FROM alpine
|
|
WORKDIR /app
|
|
|
|
RUN apk add --no-cache ca-certificates tini
|
|
|
|
COPY --from=build /go/src/github.com/kaspanet/kaspad/cmd/kaspactl/kaspactl /app/
|
|
|
|
USER nobody
|
|
ENTRYPOINT [ "/sbin/tini", "--" ]
|