diff options
| author | mo khan <mo.khan@gmail.com> | 2020-05-22 15:48:21 +0000 |
|---|---|---|
| committer | Can Eldem <celdem@gitlab.com> | 2020-05-22 15:48:21 +0000 |
| commit | ef80bee8d1f97830449132afd1a4514c1d9d145b (patch) | |
| tree | 93a45ec7990788dcff4c1c18a29920698889e593 /.gitlab/deploy.yml | |
| parent | 7e044195b5148b1b9ecbb92d88eb2e4c57a3d81b (diff) | |
Add functional tests to the pipeline
* Move jobs to gitlab-ci.yml files that match the stage they belong to.
* Move linter job to build stage
* Add functional test jobs
* Reduce max size to 2 GB
* Pass the current pipeline image to the downstream jobs
* Replace `edge` tag with `latest`
* Use $CI_DEFAULT_BRANCH instead of master
* Move `.env*` files to config dir and update RELEASE instructions
* Combine `tag` and `release` stages into `deploy` stage as recommended in GitLab docs
* Make the `build-docker-image` job interruptible
* Fix issues found in code quality report
Diffstat (limited to '.gitlab/deploy.yml')
| -rw-r--r-- | .gitlab/deploy.yml | 172 |
1 files changed, 172 insertions, 0 deletions
diff --git a/.gitlab/deploy.yml b/.gitlab/deploy.yml new file mode 100644 index 0000000..22c8633 --- /dev/null +++ b/.gitlab/deploy.yml @@ -0,0 +1,172 @@ +.docker_tag: + image: docker:stable + stage: deploy + tags: [gitlab-org-docker] + services: + - docker:stable-dind + script: + - docker info + - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY + - export SOURCE_IMAGE=$TMP_IMAGE + - export TARGET_IMAGE=$CI_REGISTRY_IMAGE:${IMAGE_TAG:-$CI_JOB_NAME} + - | + if [ -z "$DOTENV" ]; then + docker pull $SOURCE_IMAGE + docker tag $SOURCE_IMAGE $TARGET_IMAGE + else + ./bin/docker-dotenv + fi + - docker push $TARGET_IMAGE + +latest: + extends: .docker_tag + variables: + IMAGE_TAG: latest + only: + - $CI_DEFAULT_BRANCH + +version: + extends: .docker_tag + before_script: + - export IMAGE_TAG=${CI_COMMIT_TAG/v/} + - echo "Checking that $CI_COMMIT_TAG is last in the changelog" + - test "$(grep '^## v' CHANGELOG.md |head -n 1)" = "## $CI_COMMIT_TAG" + only: + - tags + allow_failure: false + +.release: + extends: .docker_tag + when: manual + only: + - tags + after_script: + # Also push to registry.gitlab.com/gitlab-org/security-products/analyzers/license-finder + - docker login -u gitlab-ci-token -p $GITLAB_TOKEN $CI_REGISTRY + - docker tag $TARGET_IMAGE registry.gitlab.com/gitlab-org/security-products/analyzers/license-finder:${IMAGE_TAG:-$CI_JOB_NAME} + - docker push registry.gitlab.com/gitlab-org/security-products/analyzers/license-finder:${IMAGE_TAG:-$CI_JOB_NAME} + +major: + extends: .release + variables: + IMAGE_TAG: $MAJOR + +13-0-stable: + extends: .release + variables: + DOTENV: "config/.env.13-0-stable" + +12-10-stable: + extends: .release + variables: + DOTENV: "config/.env.12-10-stable" + +12-9-stable: + extends: .release + variables: + DOTENV: "config/.env.12-9-stable" + +12-8-stable: + extends: .release + variables: + DOTENV: "config/.env.12-8-stable" + +12-7-stable: + extends: .release + variables: + DOTENV: "config/.env.12-7-stable" + +12-6-stable: + extends: .release + variables: + DOTENV: "config/.env.12-6-stable" + +12-5-stable: + extends: .release + variables: + DOTENV: "config/.env.12-5-stable" + +12-4-stable: + extends: .release + variables: + DOTENV: "config/.env.12-4-stable" + +12-3-stable: + extends: .release + variables: + DOTENV: "config/.env.12-3-stable" + +12-2-stable: + extends: .release + variables: + DOTENV: "config/.env.12-2-stable" + +12-1-stable: + extends: .release + variables: + DOTENV: "config/.env.legacy" + +12-0-stable: + extends: .release + variables: + DOTENV: "config/.env.legacy" + +11-11-stable: + extends: .release + variables: + DOTENV: "config/.env.legacy" + +11-10-stable: + extends: .release + variables: + DOTENV: "config/.env.legacy" + +11-9-stable: + extends: .release + variables: + DOTENV: "config/.env.legacy" + +11-8-stable: + extends: .release + variables: + DOTENV: "config/.env.legacy" + +11-7-stable: + extends: .release + variables: + DOTENV: "config/.env.legacy" + +11-6-stable: + extends: .release + variables: + DOTENV: "config/.env.legacy" + +11-5-stable: + extends: .release + variables: + DOTENV: "config/.env.legacy" + +11-4-stable: + extends: .release + variables: + DOTENV: "config/.env.legacy" + +11-3-stable: + extends: .release + variables: + DOTENV: "config/.env.legacy" + +11-2-stable: + extends: .release + variables: + DOTENV: "config/.env.legacy" + +11-1-stable: + extends: .release + variables: + DOTENV: "config/.env.legacy" + +11-0-stable: + extends: .release + variables: + DOTENV: "config/.env.legacy" |
