diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 75fe4d8..6b4bb40 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,6 +1,12 @@ stages: - test - quality-assurance + - build + - release + +variables: + CONTAINER_TEST_IMAGE: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG + CONTAINER_RELEASE_IMAGE: $CI_REGISTRY_IMAGE:latest py312: stage: test @@ -27,3 +33,29 @@ linters: - pip install tox --no-cache-dir script: tox -e linters allow_failure: true + +build-image: + image: docker + stage: build + services: + - docker:dind + before_script: + - echo "$CI_REGISTRY_PASSWORD" | docker login $CI_REGISTRY -u $CI_REGISTRY_USER --password-stdin + script: + - docker build --pull -t $CONTAINER_TEST_IMAGE . + - docker push $CONTAINER_TEST_IMAGE + +release-image: + image: docker + stage: release + services: + - docker:dind + before_script: + - echo "$CI_REGISTRY_PASSWORD" | docker login $CI_REGISTRY -u $CI_REGISTRY_USER --password-stdin + script: + - docker pull $CONTAINER_TEST_IMAGE + - docker tag $CONTAINER_TEST_IMAGE $CONTAINER_RELEASE_IMAGE + - docker push $CONTAINER_RELEASE_IMAGE + rules: + - if: $CI_COMMIT_BRANCH == "main" +