diff options
| author | celdem <celdem@gitlab.com> | 2019-12-13 17:33:41 +0000 |
|---|---|---|
| committer | celdem <celdem@gitlab.com> | 2019-12-13 17:33:41 +0000 |
| commit | 8054e28e99a304ef36525a51c8a822554f51feda (patch) | |
| tree | 903f74ec89ca542da6dd47ca341803fb5e588f43 | |
| parent | fcd3ec047d42a3c5cd44c5c4ce1dd525fe0f52fc (diff) | |
Automate updating-spdx-licensesupdate-spdx-licenses
| -rw-r--r-- | .gitlab-ci.yml | 389 |
1 files changed, 25 insertions, 364 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6c1c90f..af341f0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -5,368 +5,29 @@ variables: MAJOR: 1 TMP_IMAGE: $CI_REGISTRY_IMAGE/tmp:$CI_COMMIT_SHA -include: - - template: Container-Scanning.gitlab-ci.yml - - template: Jobs/Code-Quality.gitlab-ci.yml - -services: - - docker:stable-dind - stages: - - build - - test - - tag - - release - -build commit: - image: docker:stable - stage: build - script: - - docker info - - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY - - docker build -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 - -unit: - stage: test - script: - - gem install bundler -v '~> 2.0' - - bundle install - - bundle exec rspec - -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: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 - 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 - -branch: - extends: .docker_tag - variables: - IMAGE_TAG: $CI_COMMIT_REF_SLUG - only: - - branches - except: - - master - -edge: - extends: .docker_tag - variables: - IMAGE_TAG: edge - only: - - master - -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 - when: manual - allow_failure: false - -.release: - extends: .docker_tag - stage: release - only: - - tags - -major: - extends: .release - variables: - IMAGE_TAG: $MAJOR - -latest: - extends: .release - -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" + - update + +update-spdx: + stage: update + image: alpine:3.9 + script: + - apk add --no-cache git + - git config --global user.email "gitlab-bot@gitlab.com" + - git config --global user.name "GitLab Bot" + - git config --global credential.username "gitlab-bot" + - git checkout --force ${CI_DEFAULT_BRANCH} + - git pull origin ${CI_DEFAULT_BRANCH} + - "before=$(cksum spdx-licenses.json | awk -F' ' '{ print $1 }')" + - echo ${before} + - ./bin/update-spdx + - "after=$(cksum spdx-licenses.json | awk -F' ' '{ print $1 }')" + - echo ${after} + - test $before -eq $after && exit 0 + - export BRANCH="$CI_JOB_NAME-$CI_PIPELINE_IID" + - git checkout -b $BRANCH + - git add spdx-licenses.json + - git commit -m "Update spdx-licenses.json" + - git push -o merge_request.label=\"group::composition analysis\" -o merge_request.create -o merge_request.remove_source_branch ${CI_PROJECT_URL/https:\/\/gitlab.com/https://gitlab-bot:$GITLAB_TOKEN@gitlab.com}.git $BRANCH + rules: + - if: '$CI_UPDATE_SPDX == "true"' |
