# Uncomment if you want to use docker-in-docker # image: gsiupm/dockermake:latest # services: # - docker:dind # When using dind, it's wise to use the overlayfs driver for # improved performance. stages: - test - publish - check_published docker: stage: publish image: name: gcr.io/kaniko-project/executor:debug entrypoint: [""] variables: PYTHON_VERSION: "3.10" tags: - docker script: - sed "s/{{PYVERSION}}/$PYTHON_VERSION/" Dockerfile.template > Dockerfile - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"},\"https://index.docker.io/v1/\":{\"auth\":\"$HUB_AUTH\"}}}" > /kaniko/.docker/config.json # The skip-tls-verify flag is there because our registry certificate is self signed - /kaniko/executor --context $CI_PROJECT_DIR --skip-tls-verify --dockerfile $CI_PROJECT_DIR/Dockerfile --destination $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG --destination $HUB_REPO:$CI_COMMIT_TAG only: - tags testpy37: tags: - docker image: python:3.7 stage: test script: - pip install -r requirements.txt -r test-requirements.txt - python setup.py test testpy310: tags: - docker image: python:3.10 stage: test script: - pip install -r requirements.txt -r test-requirements.txt - python setup.py test push_pypi: only: - tags tags: - docker image: python:3.7 stage: publish script: - echo $CI_COMMIT_TAG > senpy/VERSION - pip install twine - python setup.py sdist bdist_wheel - TWINE_PASSWORD=$PYPI_PASSWORD TWINE_USERNAME=$PYPI_USERNAME python -m twine upload dist/* check_pypi: only: - tags tags: - docker image: python:3.7 stage: check_published script: - pip install senpy==$CI_COMMIT_TAG # Allow PYPI to update its index before we try to install when: delayed start_in: 10 minutes