stages: - test - publish - chart variables: DOCKER_TLS_CERTDIR: "" test: image: python:3.8-slim stage: test script: - python3 setup.py install - pip3 install -r requirements-test.txt - pip3 install -r requirements-dev.txt - pytest --cov scheduler --cov-report term-missing - flake8 - mypy . coverage: "/TOTAL.+ ([0-9]{1,3}%)/" publish_latest: image: docker:20.10.8 services: - docker:20.10.8-dind stage: publish script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" "$CI_REGISTRY" - docker build -t $CI_REGISTRY_IMAGE . - docker push $CI_REGISTRY_IMAGE:latest only: - master publish: image: docker:20.10.8 services: - docker:20.10.8-dind stage: publish script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" "$CI_REGISTRY" - docker build --cache-from $CI_REGISTRY_IMAGE:latest -t $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG . - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG only: - tags helm: image: devth/helm:v3.6.3 stage: chart script: # push Helm chart - "upload_filename=$(helm package ./chart | sed 's/^Successfully packaged chart and saved it to: \\(.*\\)/\\1/')" - curl -u $HELM_CHART_REPOSITORY_CREDENTIALS -v -X POST https://charts-public.hub.eox.at/api/charts --data-binary "@${upload_filename}" only: - tags