diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f99af945..1ac2c031 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -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