default: image: docker:git stages: - test - build test: stage: test image: golang:alpine script: - go mod download - go test ./... -v -coverprofile=coverage.txt -covermode count - go get github.com/boumenot/gocover-cobertura - go run github.com/boumenot/gocover-cobertura < coverage.txt > coverage.xml artifacts: reports: coverage_report: coverage_format: cobertura path: coverage.xml build: stage: build variables: IMAGE: $CI_REGISTRY_IMAGE TAG: $CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA before_script: - echo $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER --password-stdin $CI_REGISTRY - docker info script: - docker buildx create --name yggdrasil --use - docker buildx build --provenance=false --platform linux/amd64,linux/arm64 -t $IMAGE:$TAG --push . - docker manifest inspect $IMAGE:$TAG