# Publishes veloren-server-cli to the gitlab container registry # https://gitlab.com/veloren/veloren/container_registry .publish: stage: publish rules: - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH when: on_success - when: never docker: extends: .publish image: name: gcr.io/kaniko-project/executor:debug entrypoint: [""] tags: ["veloren/veloren", "publish", "trusted"] dependencies: - linux-x86_64 before_script: - ls "$CI_PROJECT_DIR/server-cli/" script: # Help kaniko identify that it is running in a container. # avoids this issue: https://github.com/GoogleContainerTools/kaniko/issues/1542 - export container=docker - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json - | source "$CI_PROJECT_DIR/.gitlab/scripts/util.sh"; publishdockertag; if [ "${PUBLISH_DOCKER_TAG}" != "" ]; then /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/server-cli/Dockerfile --destination "${CI_REGISTRY_IMAGE}/server-cli:${PUBLISH_DOCKER_TAG}" fi gittag: extends: .publish rules: - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PIPELINE_SOURCE == "schedule" image: bitnami/git:latest dependencies: [] tags: ["veloren/veloren", "publish", "trusted"] before_script: - git --version - git lfs --version script: - git config --global user.email "gitlab-veloren-bot@veloren.net" - git config --global user.name "veloren-bot" - git config --global http.postBuffer 52428800 - git remote set-url origin https://veloren-bot:${GITLAB_TOKEN_WRITE}@${CI_PROJECT_URL:8} - | if [[ ! "${SCHEDULE_CADENCE}" =~ ${TAG_REGEX} ]]; then git reflog expire --expire=now --all; git gc --prune=now; git fetch; git tag -a "${SCHEDULE_CADENCE}" -m '' -f; git push origin "${SCHEDULE_CADENCE}" -f || echo "failed pushed, trying again" && sleep 5 && git status && git fsck && git push origin "${SCHEDULE_CADENCE}" -f; fi pages: extends: .publish rules: - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PIPELINE_SOURCE != "schedule" image: registry.gitlab.com/veloren/veloren-docker-ci/cache/quality:${CACHE_IMAGE_TAG} dependencies: [] tags: ["veloren/veloren", "publish"] artifacts: paths: - public script: - rm -rf public - mkdir -p public - RUSTDOCFLAGS="--enable-index-page -Zunstable-options" cargo doc --no-deps --document-private-items - mv target/doc/* public