implement a new tag system for all veloren runners, including

- project tag:
   - `veloren/veloren`: for the veloren repo only
   - `veloren/*`: for projects thats are in the veloren namespace, e.g. usefull for smaller projects that dont have their own tag
   - `*/*` for projects by 3rd parties, e.g. personal projects
 - trusted tag:
   - `owned`:  The runner is hosted on veloren hardware
   - `trusted`: The runner is hosted by a private person, trusted by the veloren devs
   - NONE: if no special trust is given in a runner
 - check/build tag:
   - `check`: a job only performs a check and NO executable is build for users
   - `build`: the job contains atleast 1 executable that can be run by users
   - NONE: neither a check nor a executable is build, e.g. usefull for pages or meta jobs
 - publish tag:
   - `publish`: this job produces a artifact that is automatically pushed to users
   - NONE: no artifact is pushed automatically to users
 - pin tags:
   - `benchmark`: pin a runner to a specific job for the cause of benchmarks
   - `veloren/*:macos`: runs on a native macos runner ONLY, this needs to be a modified project tag, as otherwise also normal checks would run on this runner.
   - NONE: no runner is pinned
This commit is contained in:
Marcel Märtens
2021-08-17 13:22:18 +02:00
parent 5b4a7722b1
commit edce01c336
4 changed files with 20 additions and 21 deletions

View File

@ -25,7 +25,7 @@ default:
- runner_system_failure - runner_system_failure
- stuck_or_timeout_failure - stuck_or_timeout_failure
tags: tags:
- veloren-build - veloren/veloren
# NOTE: overriden for the `.tmacos` template so relevant changes need to be mirrored there # NOTE: overriden for the `.tmacos` template so relevant changes need to be mirrored there
before_script: before_script:

View File

@ -2,8 +2,7 @@ unittests:
extends: .recompile-branch extends: .recompile-branch
stage: build stage: build
image: registry.gitlab.com/veloren/veloren-docker-ci/cache/quality:${CACHE_IMAGE_TAG} image: registry.gitlab.com/veloren/veloren-docker-ci/cache/quality:${CACHE_IMAGE_TAG}
tags: tags: ["veloren/veloren", "check"]
- veloren-build
variables: variables:
GIT_DEPTH: 9999999999999 GIT_DEPTH: 9999999999999
script: script:
@ -17,6 +16,7 @@ translation:
extends: .release extends: .release
stage: build stage: build
image: registry.gitlab.com/veloren/veloren-docker-ci/cache/quality:${CACHE_IMAGE_TAG} image: registry.gitlab.com/veloren/veloren-docker-ci/cache/quality:${CACHE_IMAGE_TAG}
tags: ["veloren/veloren", "check"]
script: script:
- ln -s /dockercache/target target - ln -s /dockercache/target target
- cat ./.gitlab/scripts/translation.sh - cat ./.gitlab/scripts/translation.sh
@ -36,8 +36,7 @@ benchmarks:
extends: .release extends: .release
stage: build stage: build
image: registry.gitlab.com/veloren/veloren-docker-ci/cache/bench:${CACHE_IMAGE_TAG} image: registry.gitlab.com/veloren/veloren-docker-ci/cache/bench:${CACHE_IMAGE_TAG}
tags: tags: ["veloren/veloren", "check", "benchmark"]
- veloren-benchmark
script: script:
- unset DISABLE_GIT_LFS_CHECK - unset DISABLE_GIT_LFS_CHECK
- ln -s /dockercache/target target - ln -s /dockercache/target target
@ -60,8 +59,7 @@ coverage:
extends: .release extends: .release
stage: build stage: build
image: registry.gitlab.com/veloren/veloren-docker-ci/cache/tarpaulin:${CACHE_IMAGE_TAG} image: registry.gitlab.com/veloren/veloren-docker-ci/cache/tarpaulin:${CACHE_IMAGE_TAG}
tags: tags: ["veloren/veloren", "check"]
- veloren-build
script: script:
- ln -s /dockercache/target target - ln -s /dockercache/target target
- cat ./.gitlab/scripts/coverage.sh - cat ./.gitlab/scripts/coverage.sh
@ -150,54 +148,57 @@ linux:
extends: extends:
- .tlinux - .tlinux
- .release - .release
tags: ["veloren/veloren", "build", "publish", "trusted"]
windows: windows:
extends: extends:
- .twindows - .twindows
- .release - .release
tags: ["veloren/veloren", "build", "publish", "trusted"]
macos: macos:
extends: extends:
- .tmacos - .tmacos
- .release - .release
- .tmacos-master-cache - .tmacos-master-cache
tags: ["veloren/veloren:macos", "build", "publish", "trusted"]
# build on schedule quickfix till airshipper 0.5 # build on schedule quickfix till airshipper 0.5
air-linux: air-linux:
extends: extends:
- .tlinux - .tlinux
- .release-nightly-tmp-fix-airshipper - .release-nightly-tmp-fix-airshipper
tags: tags: ["veloren/veloren", "build", "publish", "trusted"]
- veloren-publish
air-windows: air-windows:
extends: extends:
- .twindows - .twindows
- .release-nightly-tmp-fix-airshipper - .release-nightly-tmp-fix-airshipper
tags: tags: ["veloren/veloren", "build", "publish", "trusted"]
- veloren-publish
air-macos: air-macos:
extends: extends:
- .tmacos - .tmacos
- .release-nightly-tmp-fix-airshipper - .release-nightly-tmp-fix-airshipper
- .tmacos-master-cache - .tmacos-master-cache
tags: tags: ["veloren/veloren:macos", "build", "publish", "trusted"]
- veloren-publish
# if NOT release or master, allow optional builds # if NOT release or master, allow optional builds
opt-linux: opt-linux:
extends: extends:
- .tlinux - .tlinux
- .optional-release - .optional-release
tags: ["veloren/veloren", "build"]
opt-windows: opt-windows:
extends: extends:
- .twindows - .twindows
- .optional-release - .optional-release
tags: ["veloren/veloren", "build"]
opt-macos: opt-macos:
extends: extends:
- .tmacos - .tmacos
- .optional-release - .optional-release
- .tmacos-mr-cache - .tmacos-mr-cache
tags: ["veloren/veloren:macos", "build"]

View File

@ -3,8 +3,7 @@ code-quality:
extends: .recompile-branch extends: .recompile-branch
stage: check stage: check
image: registry.gitlab.com/veloren/veloren-docker-ci/cache/quality:${CACHE_IMAGE_TAG} image: registry.gitlab.com/veloren/veloren-docker-ci/cache/quality:${CACHE_IMAGE_TAG}
tags: tags: ["veloren/veloren", "check"]
- veloren-build
script: script:
- ln -s /dockercache/target target - ln -s /dockercache/target target
- cat ./.gitlab/scripts/code-quality.sh - cat ./.gitlab/scripts/code-quality.sh
@ -14,8 +13,7 @@ security:
extends: .recompile-branch extends: .recompile-branch
stage: check stage: check
image: registry.gitlab.com/veloren/veloren-docker-ci/cache/quality:${CACHE_IMAGE_TAG} image: registry.gitlab.com/veloren/veloren-docker-ci/cache/quality:${CACHE_IMAGE_TAG}
tags: tags: ["veloren/veloren", "check"]
- veloren-build
allow_failure: true allow_failure: true
script: script:
- ln -s /dockercache/target target - ln -s /dockercache/target target

View File

@ -19,6 +19,7 @@ docker:
image: image:
name: gcr.io/kaniko-project/executor:debug name: gcr.io/kaniko-project/executor:debug
entrypoint: [""] entrypoint: [""]
tags: ["veloren/veloren", "publish", "trusted"]
dependencies: dependencies:
- linux - linux
before_script: before_script:
@ -35,8 +36,7 @@ docker-nightly:
image: image:
name: gcr.io/kaniko-project/executor:debug name: gcr.io/kaniko-project/executor:debug
entrypoint: [""] entrypoint: [""]
tags: tags: ["veloren/veloren", "publish", "trusted"]
- veloren-publish
dependencies: dependencies:
- air-linux - air-linux
before_script: before_script:
@ -51,8 +51,7 @@ docker-nightly:
tag-nightly: tag-nightly:
extends: .publish-nightly extends: .publish-nightly
image: registry.gitlab.com/veloren/veloren-docker-ci/cache/quality:${CACHE_IMAGE_TAG} image: registry.gitlab.com/veloren/veloren-docker-ci/cache/quality:${CACHE_IMAGE_TAG}
tags: tags: ["veloren/veloren", "publish", "trusted"]
- veloren-benchmark
script: script:
- git config --global user.email "gitlab-veloren-bot@veloren.net" - git config --global user.email "gitlab-veloren-bot@veloren.net"
- git config --global user.name "veloren-bot" - git config --global user.name "veloren-bot"
@ -64,6 +63,7 @@ tag-nightly:
pages: pages:
extends: .publish extends: .publish
image: registry.gitlab.com/veloren/veloren-docker-ci/cache/quality:${CACHE_IMAGE_TAG} image: registry.gitlab.com/veloren/veloren-docker-ci/cache/quality:${CACHE_IMAGE_TAG}
tags: ["veloren/veloren", "publish"]
artifacts: artifacts:
paths: paths:
- public - public