stages: - test - publish variables: GOLANG_VERSION: "1.24" default: image: golang:${GOLANG_VERSION} test: stage: test script: - go test ./... docker: stage: publish image: docker:latest services: - docker:dind variables: DOCKER_BUILDKIT: "1" before_script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY script: - docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG . - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG - docker tag $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG $CI_REGISTRY_IMAGE:latest - docker push $CI_REGISTRY_IMAGE:latest rules: - if: $CI_COMMIT_TAG