mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
71 lines
2.5 KiB
YAML
71 lines
2.5 KiB
YAML
# 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
|