diff options
| author | Can Eldem <celdem@gitlab.com> | 2020-01-23 13:07:41 +0000 |
|---|---|---|
| committer | Can Eldem <celdem@gitlab.com> | 2020-01-23 13:07:41 +0000 |
| commit | 9d0efd773673d47e24fc1e5afa7ed0b514849463 (patch) | |
| tree | dd34fe326b95a90ac1fe046b2213cc76a1c71e0a | |
| parent | 2074e7e5ea3012be6f3a72bd4af934a42b7202ca (diff) | |
| parent | 6d9f3615919425493ed460926fc1f050f6632fad (diff) | |
Merge branch 'split-gitlabci' into 'master'
Split test/release jobs into separate files
See merge request gitlab-org/security-products/license-management!106
| -rw-r--r-- | .gitlab-ci.yml | 346 | ||||
| -rw-r--r-- | .gitlab/qa.yml | 198 | ||||
| -rw-r--r-- | .gitlab/release.yml | 113 | ||||
| -rw-r--r-- | .gitlab/test.yml | 25 | ||||
| -rw-r--r-- | README.md | 2 |
5 files changed, 342 insertions, 342 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 626153b..b29663d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -8,6 +8,9 @@ variables: include: - template: Container-Scanning.gitlab-ci.yml - template: Jobs/Code-Quality.gitlab-ci.yml + - local: .gitlab/test.yml + - local: .gitlab/qa.yml + - local: .gitlab/release.yml services: - docker:stable-dind @@ -24,238 +27,14 @@ build commit: script: - docker info - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY - - docker build -t $TMP_IMAGE . + - docker pull $CI_REGISTRY_IMAGE:edge || true + - docker build --cache-from $CI_REGISTRY_IMAGE:edge -t $TMP_IMAGE . - docker push $TMP_IMAGE container_scanning: variables: CI_APPLICATION_REPOSITORY: $CI_REGISTRY_IMAGE/tmp # only predefined variables are parameter-expanded (no $TMP_IMAGE) -.QA: - image: docker:stable - stage: test - variables: - LM_PYTHON_VERSION: 3 - LM_REPORT_VERSION: 1 - script: - - docker info - - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY - - docker pull $TMP_IMAGE - - mkdir results - - IMAGE_NAME=$TMP_IMAGE ./bin/test - artifacts: - paths: - - results/ - when: always - -size: - image: docker:stable - stage: test - allow_failure: true # temporary until we can shrink the image size. - timeout: 1 minute - script: - - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY - - docker pull $TMP_IMAGE - - docker image ls $TMP_IMAGE - - docker image inspect $TMP_IMAGE - -unit: - stage: test - script: - - gem install bundler -v '~> 2.0' - - bundle install - - bundle exec rspec spec/unit - -integration: - image: - name: $TMP_IMAGE - entrypoint: [""] - stage: test - script: - - bash -lc "cd $LM_HOME && bundle install && bundle exec rspec spec/integration" - -QA:php-composer: - extends: .QA - variables: - QA_PROJECT: php-composer - -QA:php-composer-v1-1: - extends: QA:php-composer - variables: - LM_REPORT_VERSION: '1.1' - QA_RESULTS: php-composer-v1.1 - -QA:php-composer-v2: - extends: QA:php-composer - variables: - LM_REPORT_VERSION: 2 - QA_RESULTS: php-composer-v2 - -QA:java-maven: - extends: .QA - variables: - QA_PROJECT: java-maven - QA_REF: 831c7a04 - -QA:java-maven-v1-1: - extends: QA:java-maven - variables: - LM_REPORT_VERSION: '1.1' - QA_RESULTS: java-maven-v1.1 - -QA:java-maven-v2: - extends: QA:java-maven - variables: - LM_REPORT_VERSION: 2 - QA_RESULTS: java-maven-v2 - -QA:python-pip: - extends: .QA - variables: - LM_PYTHON_VERSION: 2 - QA_PROJECT: python-pip - QA_REF: 04dce91b - -QA:python-pip-v1-1: - extends: QA:python-pip - variables: - LM_REPORT_VERSION: '1.1' - QA_RESULTS: python-pip-v1.1 - -QA:python-pip-v2: - extends: QA:python-pip - variables: - LM_REPORT_VERSION: '2.0' - QA_RESULTS: python-pip-v2 - -QA:python3-pip: - extends: .QA - variables: - QA_RESULTS: python3-pip-v1 - QA_PROJECT: python-pip - QA_REF: 48e250a1 - -QA:python3-pip-v1-1: - extends: QA:python3-pip - variables: - LM_REPORT_VERSION: '1.1' - QA_RESULTS: python3-pip-v1.1 - -QA:python3-pip-v2: - extends: QA:python3-pip - variables: - LM_REPORT_VERSION: 2 - QA_RESULTS: python3-pip-v2 - -QA:python3-pipenv: - extends: .QA - variables: - QA_RESULTS: python-pipenv-v1 - QA_PROJECT: python-pipenv - QA_REF: pip-file-lock - -QA:python3-pipenv-v1-1: - extends: QA:python3-pipenv - variables: - LM_REPORT_VERSION: '1.1' - QA_RESULTS: python-pipenv-v1.1 - -QA:python3-pipenv-v2: - extends: QA:python3-pipenv - variables: - LM_REPORT_VERSION: 2 - QA_RESULTS: python-pipenv-v2 - -QA:ruby-bundler: - extends: .QA - variables: - QA_PROJECT: ruby-bundler - QA_REF: master - -QA:ruby-bundler-v1-1: - extends: QA:ruby-bundler - variables: - LM_REPORT_VERSION: '1.1' - QA_RESULTS: ruby-bundler-v1.1 - -QA:ruby-bundler-v2: - extends: QA:ruby-bundler - variables: - LM_REPORT_VERSION: 2 - QA_RESULTS: ruby-bundler-v2 - -QA:go: - extends: .QA - variables: - QA_PROJECT: go-modules - QA_REF: master - -QA:go-v1-1: - extends: QA:go - variables: - LM_REPORT_VERSION: '1.1' - QA_RESULTS: go-modules-v1.1 - -QA:go-v2: - extends: QA:go - variables: - LM_REPORT_VERSION: 2 - QA_RESULTS: go-modules-v2 - -QA:js: - extends: .QA - variables: - QA_PROJECT: js-yarn - QA_REF: master - -QA:js-v1-1: - extends: QA:js - variables: - LM_REPORT_VERSION: '1.1' - QA_RESULTS: js-yarn-v1.1 - -QA:js-v2: - extends: QA:js - variables: - LM_REPORT_VERSION: 2 - QA_RESULTS: js-yarn-v2 - -QA:js-npm: - extends: .QA - variables: - QA_PROJECT: js-npm - QA_REF: master - -QA:js-npm-v1-1: - extends: QA:js-npm - variables: - LM_REPORT_VERSION: '1.1' - QA_RESULTS: js-npm-v1.1 - -QA:js-npm-v2: - extends: QA:js-npm - variables: - LM_REPORT_VERSION: 2 - QA_RESULTS: js-npm-v2 - -QA:dotnet: - extends: .QA - variables: - QA_PROJECT: csharp-nuget-dotnetcore - QA_REF: master - -QA:dotnet-v1-1: - extends: QA:dotnet - variables: - LM_REPORT_VERSION: '1.1' - QA_RESULTS: csharp-nuget-dotnetcore-v1.1 - -QA:dotnet-v2: - extends: QA:dotnet - variables: - LM_REPORT_VERSION: 2 - QA_RESULTS: csharp-nuget-dotnetcore-v2 - .docker_tag: image: docker:stable stage: tag @@ -299,118 +78,3 @@ version: - tags when: manual allow_failure: false - -.release: - extends: .docker_tag - stage: release - only: - - tags - -major: - extends: .release - variables: - IMAGE_TAG: $MAJOR - -latest: - extends: .release - - -12-7-stable: - extends: .release - variables: - DOTENV: ".env.12-7-stable" - -12-6-stable: - extends: .release - variables: - DOTENV: ".env.12-6-stable" - -12-5-stable: - extends: .release - variables: - DOTENV: ".env.12-5-stable" - -12-4-stable: - extends: .release - variables: - DOTENV: ".env.12-4-stable" - -12-3-stable: - extends: .release - variables: - DOTENV: ".env.12-3-stable" - -12-2-stable: - extends: .release - variables: - DOTENV: ".env.12-2-stable" - -12-1-stable: - extends: .release - variables: - DOTENV: ".env.legacy" - -12-0-stable: - extends: .release - variables: - DOTENV: ".env.legacy" - -11-11-stable: - extends: .release - variables: - DOTENV: ".env.legacy" - -11-10-stable: - extends: .release - variables: - DOTENV: ".env.legacy" - -11-9-stable: - extends: .release - variables: - DOTENV: ".env.legacy" - -11-8-stable: - extends: .release - variables: - DOTENV: ".env.legacy" - -11-7-stable: - extends: .release - variables: - DOTENV: ".env.legacy" - -11-6-stable: - extends: .release - variables: - DOTENV: ".env.legacy" - -11-5-stable: - extends: .release - variables: - DOTENV: ".env.legacy" - -11-4-stable: - extends: .release - variables: - DOTENV: ".env.legacy" - -11-3-stable: - extends: .release - variables: - DOTENV: ".env.legacy" - -11-2-stable: - extends: .release - variables: - DOTENV: ".env.legacy" - -11-1-stable: - extends: .release - variables: - DOTENV: ".env.legacy" - -11-0-stable: - extends: .release - variables: - DOTENV: ".env.legacy" diff --git a/.gitlab/qa.yml b/.gitlab/qa.yml new file mode 100644 index 0000000..87cffa2 --- /dev/null +++ b/.gitlab/qa.yml @@ -0,0 +1,198 @@ +.QA: + image: docker:stable + stage: test + variables: + LM_PYTHON_VERSION: 3 + LM_REPORT_VERSION: 1 + script: + - docker info + - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY + - docker pull $TMP_IMAGE + - mkdir results + - IMAGE_NAME=$TMP_IMAGE ./bin/test + artifacts: + paths: + - results/ + when: always + +QA:php-composer: + extends: .QA + variables: + QA_PROJECT: php-composer + +QA:php-composer-v1-1: + extends: QA:php-composer + variables: + LM_REPORT_VERSION: '1.1' + QA_RESULTS: php-composer-v1.1 + +QA:php-composer-v2: + extends: QA:php-composer + variables: + LM_REPORT_VERSION: 2 + QA_RESULTS: php-composer-v2 + +QA:java-maven: + extends: .QA + variables: + QA_PROJECT: java-maven + QA_REF: 831c7a04 + +QA:java-maven-v1-1: + extends: QA:java-maven + variables: + LM_REPORT_VERSION: '1.1' + QA_RESULTS: java-maven-v1.1 + +QA:java-maven-v2: + extends: QA:java-maven + variables: + LM_REPORT_VERSION: 2 + QA_RESULTS: java-maven-v2 + +QA:python-pip: + extends: .QA + variables: + LM_PYTHON_VERSION: 2 + QA_PROJECT: python-pip + QA_REF: 04dce91b + +QA:python-pip-v1-1: + extends: QA:python-pip + variables: + LM_REPORT_VERSION: '1.1' + QA_RESULTS: python-pip-v1.1 + +QA:python-pip-v2: + extends: QA:python-pip + variables: + LM_REPORT_VERSION: '2.0' + QA_RESULTS: python-pip-v2 + +QA:python3-pip: + extends: .QA + variables: + QA_RESULTS: python3-pip-v1 + QA_PROJECT: python-pip + QA_REF: 48e250a1 + +QA:python3-pip-v1-1: + extends: QA:python3-pip + variables: + LM_REPORT_VERSION: '1.1' + QA_RESULTS: python3-pip-v1.1 + +QA:python3-pip-v2: + extends: QA:python3-pip + variables: + LM_REPORT_VERSION: 2 + QA_RESULTS: python3-pip-v2 + +QA:python3-pipenv: + extends: .QA + variables: + QA_RESULTS: python-pipenv-v1 + QA_PROJECT: python-pipenv + QA_REF: pip-file-lock + +QA:python3-pipenv-v1-1: + extends: QA:python3-pipenv + variables: + LM_REPORT_VERSION: '1.1' + QA_RESULTS: python-pipenv-v1.1 + +QA:python3-pipenv-v2: + extends: QA:python3-pipenv + variables: + LM_REPORT_VERSION: 2 + QA_RESULTS: python-pipenv-v2 + +QA:ruby-bundler: + extends: .QA + variables: + QA_PROJECT: ruby-bundler + QA_REF: master + +QA:ruby-bundler-v1-1: + extends: QA:ruby-bundler + variables: + LM_REPORT_VERSION: '1.1' + QA_RESULTS: ruby-bundler-v1.1 + +QA:ruby-bundler-v2: + extends: QA:ruby-bundler + variables: + LM_REPORT_VERSION: 2 + QA_RESULTS: ruby-bundler-v2 + +QA:go: + extends: .QA + variables: + QA_PROJECT: go-modules + QA_REF: master + +QA:go-v1-1: + extends: QA:go + variables: + LM_REPORT_VERSION: '1.1' + QA_RESULTS: go-modules-v1.1 + +QA:go-v2: + extends: QA:go + variables: + LM_REPORT_VERSION: 2 + QA_RESULTS: go-modules-v2 + +QA:js: + extends: .QA + variables: + QA_PROJECT: js-yarn + QA_REF: master + +QA:js-v1-1: + extends: QA:js + variables: + LM_REPORT_VERSION: '1.1' + QA_RESULTS: js-yarn-v1.1 + +QA:js-v2: + extends: QA:js + variables: + LM_REPORT_VERSION: 2 + QA_RESULTS: js-yarn-v2 + +QA:js-npm: + extends: .QA + variables: + QA_PROJECT: js-npm + QA_REF: master + +QA:js-npm-v1-1: + extends: QA:js-npm + variables: + LM_REPORT_VERSION: '1.1' + QA_RESULTS: js-npm-v1.1 + +QA:js-npm-v2: + extends: QA:js-npm + variables: + LM_REPORT_VERSION: 2 + QA_RESULTS: js-npm-v2 + +QA:dotnet: + extends: .QA + variables: + QA_PROJECT: csharp-nuget-dotnetcore + QA_REF: master + +QA:dotnet-v1-1: + extends: QA:dotnet + variables: + LM_REPORT_VERSION: '1.1' + QA_RESULTS: csharp-nuget-dotnetcore-v1.1 + +QA:dotnet-v2: + extends: QA:dotnet + variables: + LM_REPORT_VERSION: 2 + QA_RESULTS: csharp-nuget-dotnetcore-v2 diff --git a/.gitlab/release.yml b/.gitlab/release.yml new file mode 100644 index 0000000..3d52019 --- /dev/null +++ b/.gitlab/release.yml @@ -0,0 +1,113 @@ +.release: + extends: .docker_tag + stage: release + only: + - tags + +major: + extends: .release + variables: + IMAGE_TAG: $MAJOR + +latest: + extends: .release + +12-7-stable: + extends: .release + variables: + DOTENV: ".env.12-7-stable" + +12-6-stable: + extends: .release + variables: + DOTENV: ".env.12-6-stable" + +12-5-stable: + extends: .release + variables: + DOTENV: ".env.12-5-stable" + +12-4-stable: + extends: .release + variables: + DOTENV: ".env.12-4-stable" + +12-3-stable: + extends: .release + variables: + DOTENV: ".env.12-3-stable" + +12-2-stable: + extends: .release + variables: + DOTENV: ".env.12-2-stable" + +12-1-stable: + extends: .release + variables: + DOTENV: ".env.legacy" + +12-0-stable: + extends: .release + variables: + DOTENV: ".env.legacy" + +11-11-stable: + extends: .release + variables: + DOTENV: ".env.legacy" + +11-10-stable: + extends: .release + variables: + DOTENV: ".env.legacy" + +11-9-stable: + extends: .release + variables: + DOTENV: ".env.legacy" + +11-8-stable: + extends: .release + variables: + DOTENV: ".env.legacy" + +11-7-stable: + extends: .release + variables: + DOTENV: ".env.legacy" + +11-6-stable: + extends: .release + variables: + DOTENV: ".env.legacy" + +11-5-stable: + extends: .release + variables: + DOTENV: ".env.legacy" + +11-4-stable: + extends: .release + variables: + DOTENV: ".env.legacy" + +11-3-stable: + extends: .release + variables: + DOTENV: ".env.legacy" + +11-2-stable: + extends: .release + variables: + DOTENV: ".env.legacy" + +11-1-stable: + extends: .release + variables: + DOTENV: ".env.legacy" + +11-0-stable: + extends: .release + variables: + DOTENV: ".env.legacy" diff --git a/.gitlab/test.yml b/.gitlab/test.yml new file mode 100644 index 0000000..2bf8880 --- /dev/null +++ b/.gitlab/test.yml @@ -0,0 +1,25 @@ +size: + image: docker:stable + stage: test + allow_failure: true # temporary until we can shrink the image size. + timeout: 1 minute + script: + - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY + - docker pull $TMP_IMAGE + - docker image ls $TMP_IMAGE + - docker image inspect $TMP_IMAGE + +unit: + stage: test + script: + - gem install bundler -v '~> 2.0' + - bundle install + - bundle exec rspec spec/unit + +integration: + image: + name: $TMP_IMAGE + entrypoint: [""] + stage: test + script: + - bash -lc "cd $LM_HOME && bundle install && bundle exec rspec spec/integration" @@ -108,7 +108,7 @@ to the docker command. ## Versioning and release process -1. Create a new entry in the `.gitlab-ci.yml` file for the new version to release. +1. Create a new entry in the `.gitlab/release.yml` file for the new version to release. ```yaml 12-x-stable: |
