From d458ac963af59a633f48c12c7a86fe1f0ef6033f Mon Sep 17 00:00:00 2001 From: Pierre-Olivier Mercier Date: Fri, 14 May 2021 00:44:55 +0200 Subject: [PATCH] CI: add Dockerfile for repochecker (used for student's CI) --- .drone-manifest-fic-repochecker.yml | 22 ++++++++++++++++ .drone.yml | 41 +++++++++++++++++++++++++++++ Dockerfile-repochecker | 21 +++++++++++++++ 3 files changed, 84 insertions(+) create mode 100644 .drone-manifest-fic-repochecker.yml create mode 100644 Dockerfile-repochecker diff --git a/.drone-manifest-fic-repochecker.yml b/.drone-manifest-fic-repochecker.yml new file mode 100644 index 00000000..9b239931 --- /dev/null +++ b/.drone-manifest-fic-repochecker.yml @@ -0,0 +1,22 @@ +image: nemunaire/fic-repochecker:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}} +{{#if build.tags}} +tags: +{{#each build.tags}} + - {{this}} +{{/each}} +{{/if}} +manifests: + - image: nemunaire/fic-repochecker:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}linux-amd64 + platform: + architecture: amd64 + os: linux + - image: nemunaire/fic-repochecker:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}linux-arm64 + platform: + architecture: arm64 + os: linux + variant: v8 + - image: nemunaire/fic-repochecker:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}linux-arm + platform: + architecture: arm + os: linux + variant: v7 diff --git a/.drone.yml b/.drone.yml index 99d57e0d..2544ba98 100644 --- a/.drone.yml +++ b/.drone.yml @@ -181,6 +181,21 @@ steps: branch: - master + - name: docker repochecker + image: plugins/docker + settings: + username: + from_secret: docker_username + password: + from_secret: docker_password + repo: nemunaire/fic-repochecker + auto_tag: true + auto_tag_suffix: ${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH} + dockerfile: Dockerfile-repochecker + when: + branch: + - master + --- kind: pipeline type: docker @@ -346,6 +361,21 @@ steps: branch: - master + - name: docker repochecker + image: plugins/docker + settings: + username: + from_secret: docker_username + password: + from_secret: docker_password + repo: nemunaire/fic-repochecker + auto_tag: true + auto_tag_suffix: ${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH} + dockerfile: Dockerfile-repochecker + when: + branch: + - master + --- kind: pipeline @@ -395,6 +425,17 @@ steps: password: from_secret: docker_password + - name: publish repochecker + image: plugins/manifest + settings: + auto_tag: true + ignore_missing: true + spec: .drone-manifest-fic-repochecker.yml + username: + from_secret: docker_username + password: + from_secret: docker_password + - name: publish qa image: plugins/manifest settings: diff --git a/Dockerfile-repochecker b/Dockerfile-repochecker new file mode 100644 index 00000000..90f02575 --- /dev/null +++ b/Dockerfile-repochecker @@ -0,0 +1,21 @@ +FROM golang:alpine as gobuild + +RUN apk add --no-cache git + +WORKDIR /go/src/srs.epita.fr/fic-server/ + +ADD go.mod go.sum ./ +ADD settings settings/ +ADD libfic ./libfic/ +ADD admin ./admin/ +ADD repochecker ./repochecker/ + +RUN go get -d -v ./repochecker +RUN go build -v -o repochecker/repochecker ./repochecker + + +FROM alpine + +ENTRYPOINT ["/usr/bin/repochecker"] + +COPY --from=gobuild /go/src/srs.epita.fr/fic-server/repochecker/repochecker /usr/bin/repochecker