FROM golang:1-alpine as gobuild

RUN apk add --no-cache git

WORKDIR /go/src/srs.epita.fr/fic-server/

COPY go.mod go.sum ./
COPY settings settings/
COPY libfic ./libfic/
COPY admin ./admin/
COPY repochecker ./repochecker/

RUN apk add --no-cache build-base && \
    go get -d -v ./repochecker && \
    go build -v -o repochecker/repochecker ./repochecker && \
    go build -v -buildmode=plugin -o repochecker/epita-rules.so ./repochecker/epita


FROM alpine:3.16

RUN apk add --no-cache git

ENTRYPOINT ["/usr/bin/repochecker", "--checks-plugins=/usr/lib/epita-rules.so"]

COPY --from=gobuild /go/src/srs.epita.fr/fic-server/repochecker/repochecker /usr/bin/repochecker
COPY --from=gobuild /go/src/srs.epita.fr/fic-server/repochecker/epita-rules.so /usr/lib/epita-rules.so
