stages: - test - publish - chart variables: DOCKER_TLS_CERTDIR: "" SERVICE_NAME: "vs-scheduler" integration_test: image: devth/helm:v3.6.3 stage: test script: - wget https://github.com/mikefarah/yq/releases/download/v4.14.2/yq_linux_amd64.tar.gz -O - | tar xvfz - && chmod +x yq_linux_amd64 - export SERVICE_NAME=postgresql # for testing - export CI_COMMIT_TAG=10.12.1 # for testing - git config --global user.email "gitlab@eox.at" - git config --global user.name "gitlab" - git clone https://${VS_DEPLOYMENT_GIT_REPOSITORY_CREDENTIALS}@gitlab.eox.at/vs/vs-deployment.git - cd vs-deployment - git switch -c "auto-update-${SERVICE_NAME}-${CI_COMMIT_TAG}" - cat Chart.yaml - ../yq_linux_amd64 eval "( .dependencies[] | select(.name == \"${SERVICE_NAME}\") | .version ) = \"${CI_COMMIT_TAG}\"" -i Chart.yaml - cat Chart.yaml - helm dependency update - git commit --all -m "Bump ${SERVICE_NAME} to ${CI_COMMIT_TAG}" - git push #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 . # #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