feat(ci): add build stage

This commit is contained in:
Adrien Langou 2023-06-10 02:13:23 +02:00 committed by Pierre-Olivier Mercier
parent 979f64845c
commit 4856a2ce2d

View File

@ -3,6 +3,7 @@
stages:
- deps
- sast
- build
before_script:
- export GOPATH="$CI_PROJECT_DIR/.go"
@ -33,7 +34,6 @@ get-deps:
- go get -v -d srs.epita.fr/fic-server/repochecker/videos
- go get -v -d srs.epita.fr/fic-server/qa
build-qa-ui:
stage: deps
image: node:20-alpine3.18
@ -73,3 +73,78 @@ vet:
- go vet -v -buildvcs=false srs.epita.fr/fic-server/repochecker/videos
- go vet -v -buildvcs=false srs.epita.fr/fic-server/qa
- go vet -v -buildvcs=false srs.epita.fr/fic-server/settings
.build-backend: &build-amd64
stage: build
image: golang:alpine3.18
variables:
CGO_ENABLED: 0
BUILD_OS: linux
BUILD_ARCH: amd64
build-backend:
<<: *build-amd64
script:
- go build -v -buildvcs=false -o deploy/backend-${BUILD_OS}-${BUILD_ARCH} srs.epita.fr/fic-server/backend
build-admin-amd64:
<<: *build-amd64
script:
- go build -v -buildvcs=false -tags gitgo -o deploy/admin-gitgo-${BUILD_OS}-${BUILD_ARCH} srs.epita.fr/fic-server/admin
- go build -v -buildvcs=false -o deploy/admin-${BUILD_OS}-${BUILD_ARCH} srs.epita.fr/fic-server/admin
- tar chjf deploy/htdocs-admin.tar.bz2 htdocs-admin
artifacts:
paths:
- deploy/htdocs-admin.tar.bz2
when: on_success
build-evdist:
<<: *build-amd64
script:
- go build -v -buildvcs=false -o deploy/evdist-${BUILD_OS}-${BUILD_ARCH} srs.epita.fr/fic-server/evdist
build-frontend:
<<: *build-amd64
script:
- go build -v -buildvcs=false -o deploy/frontend-${BUILD_OS}-${BUILD_ARCH} srs.epita.fr/fic-server/frontend
build-frontend-ui:
stage: build
image: node:20-alpine3.18
script:
- cd frontend/ui
- npm install --network-timeout=100000
- sed -i 's!@popperjs/core/dist/esm/popper!@popperjs/core!' node_modules/sveltestrap/src/*.js node_modules/sveltestrap/src/*.svelte
- npm run build
- tar chjf ../../deploy/htdocs-frontend.tar.bz2 build
artifacts:
paths:
- deploy/htdocs-frontend.tar.bz2
when: on_success
build-dashboard:
<<: *build-amd64
script:
- go build -v -buildvcs=false -o deploy/dashboard-${BUILD_OS}-${BUILD_ARCH} srs.epita.fr/fic-server/dashboard
- tar chjf deploy/htdocs-dashboard.tar.bz2 htdocs-dashboard
artifacts:
paths:
- deploy/htdocs-dashboard.tar.bz2
when: on_success
build-repochecker:
<<: *build-amd64
script:
- apk --no-cache add build-base
- go build -buildvcs=false --tags checkupdate -v -o deploy/repochecker-${BUILD_OS}-${BUILD_ARCH} srs.epita.fr/fic-server/repochecker
- go build -buildvcs=false -buildmode=plugin -v -o deploy/repochecker-epita-rules-${BUILD_OS}-${BUILD_ARCH}.so srs.epita.fr/fic-server/repochecker/epita
- go build -buildvcs=false -buildmode=plugin -v -o deploy/repochecker-file-inspector-rules-${BUILD_OS}-${BUILD_ARCH}.so srs.epita.fr/fic-server/repochecker/file-inspector
- go build -buildvcs=false -buildmode=plugin -v -o deploy/repochecker-grammalecte-rules-${BUILD_OS}-${BUILD_ARCH}.so srs.epita.fr/fic-server/repochecker/grammalecte
- go build -buildvcs=false -buildmode=plugin -v -o deploy/repochecker-pcap-inspector-rules-${BUILD_OS}-${BUILD_ARCH}.so srs.epita.fr/fic-server/repochecker/pcap-inspector
- go build -buildvcs=false -buildmode=plugin -v -o deploy/repochecker-videos-rules-${BUILD_OS}-${BUILD_ARCH}.so srs.epita.fr/fic-server/repochecker/videos
- grep "const version" repochecker/update.go | sed -r 's/^.*=\s*(\S.*)$/\1/' > deploy/repochecker.version
build-qa:
<<: *build-amd64
script:
- go build -v -buildvcs=false -o deploy/qa-${BUILD_OS}-${BUILD_ARCH} srs.epita.fr/fic-server/qa