users/.gitlab-ci.yml
GnomeZworc 024a9feda2
v1.0.0: ci: add test
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2024-03-15 18:09:30 +01:00

57 lines
No EOL
1.3 KiB
YAML

variables:
IMAGE_VERSION: $CI_COMMIT_SHORT_SHA
IMAGE_TYPE: users
default:
image: debian:11
services:
- name: docker:24.0.7-dind
alias: docker
stages:
- build
- test
- release
- release-latest
before_script:
- id
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
- docker login -u gnomezworc -p $DOCKERHUB_TOKEN
build:
stage: build
image: docker:23.0.3-cli
artifacts:
paths:
- $IMAGE_TYPE-$IMAGE_VERSION-release.tar.gz
variables:
DOCKER_TLS_VERIFY: 1
DOCKER_CERT_PATH: /certs/client
DOCKER_PATH: '.'
script:
- docker build --pull -t $CI_REGISTRY_IMAGE:$IMAGE_VERSION-release --target release $DOCKER_PATH
- docker save $CI_REGISTRY_IMAGE:$IMAGE_VERSION-release | gzip > $IMAGE_TYPE-$IMAGE_VERSION-release.tar.gz
integration_test:
stage: test
image: golang:1.21-alpine
variables:
DOCKER_TLS_VERIFY: 1
DOCKER_CERT_PATH: /certs/client
DOCKER_HOST: tcp://docker:2376/
DOCKER_URL: docker
before_script:
- apk update && apk add --no-cache docker-cli
- apk add bash
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
- docker login -u gnomezworc -p $DOCKERHUB_TOKEN
script:
- bash -ex ./scripts/prepar_test.sh
- . ./config/test.src
- go test -v ./cmd/
needs:
- build