@@ -5,38 +5,38 @@ FROM golang:${GOLANG_VERSION}-alpine${ALPINE_VERSION} AS builder
55
66RUN apk add --no-cache make
77
8- # Shared
8+ # Cached golang dependencies
99WORKDIR /build/shared
10-
11- COPY .shared/go.mod .shared/go.sum ./
10+ COPY ./shared/go.mod ./shared/go.sum ./
1211RUN go mod download
1312
14- COPY .shared/pkg pkg
15-
16- # Clickhouse
1713WORKDIR /build/clickhouse
18-
19- COPY .clickhouse/go.mod .clickhouse/go.sum ./
14+ COPY ./clickhouse/go.mod ./clickhouse/go.sum ./
2015RUN go mod download
2116
22- COPY .clickhouse/pkg pkg
23-
24- # DB
2517WORKDIR /build/db
18+ COPY ./db/go.mod ./db/go.sum ./
19+ RUN go mod download
2620
27- COPY .db/go.mod .db/go.sum ./
21+ WORKDIR /build/api
22+ COPY ./api/go.mod ./api/go.sum ./
2823RUN go mod download
2924
30- COPY .db .
25+ # Copy source code
26+ WORKDIR /build
3127
32- # API
33- WORKDIR /build/api
28+ COPY ./clickhouse/pkg ./clickhouse/pkg
29+ COPY ./shared/pkg ./shared/pkg
30+ COPY ./db/client ./db/client
31+ COPY ./db/dberrors ./db/dberrors
32+ COPY ./db/queries ./db/queries
33+ COPY ./db/types ./db/types
3434
35- COPY go.mod go.sum Makefile ./
36- RUN go mod download
35+ COPY ./api/internal ./api/internal
36+ COPY ./api/main.go ./api/main.go
37+ COPY ./api/Makefile ./api/Makefile
3738
38- COPY internal internal
39- COPY main.go main.go
39+ WORKDIR /build/api
4040
4141ARG COMMIT_SHA
4242ARG EXPECTED_MIGRATION_TIMESTAMP
@@ -50,4 +50,5 @@ COPY --from=builder /build/api/bin/api .
5050
5151# Set Gin server to the production mode
5252ENV GIN_MODE=release
53+
5354ENTRYPOINT [ "./api" ]
0 commit comments