diff options
author | Josh Smith <josh.smith@codethink.co.uk> | 2020-08-21 11:19:28 +0100 |
---|---|---|
committer | Josh Smith <josh.smith@codethink.co.uk> | 2020-08-25 11:08:02 +0100 |
commit | 934c6634edf7cf946f24d877c873b2245844a756 (patch) | |
tree | e20232a787d4c257f24eb999a7f7fe78dfac1cd6 | |
parent | 057d07e2397c66769c808ef93bb62952f9fef15b (diff) | |
download | buildstream-qinusty/remote-asset-ci.tar.gz |
TMP: Disable other CI jobsqinusty/remote-asset-ci
-rw-r--r-- | .gitlab-ci.yml | 726 |
1 files changed, 363 insertions, 363 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ed3c18f57..af8aa316a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -64,255 +64,255 @@ variables: paths: - .coverage-reports -tests-debian-10: - image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-debian:10-${DOCKER_IMAGE_VERSION} - <<: *tests - -tests-fedora-31: - image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:31-${DOCKER_IMAGE_VERSION} - <<: *tests - -tests-fedora-32: - image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:32-${DOCKER_IMAGE_VERSION} - <<: *tests - -tests-ubuntu-18.04: - image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-ubuntu:18.04-${DOCKER_IMAGE_VERSION} - <<: *tests - -tests-centos-7.7: - <<: *tests - image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-centos:7.7.1908-${DOCKER_IMAGE_VERSION} - -# Test the master version of some external plugins -tests-plugins-master: - <<: *tests - allow_failure: true - - variables: - BST_PLUGINS_EXPERIMENTAL_VERSION: master - -tests-userchroot: - image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:31-${DOCKER_IMAGE_VERSION} - <<: *tests - variables: - BST_CAS_STAGING_ROOT: "/builds/userchroot" - - script: - - mkdir -p "${INTEGRATION_CACHE}" - - useradd -Um buildstream - - # Use buildbox-run-userchroot and hardlinking - - ln -svf buildbox-run-userchroot /usr/local/bin/buildbox-run - - rm -vf /usr/local/bin/buildbox-fuse - - # When using userchroot, buildbox-casd must run as a separate user - - useradd -g buildstream buildbox-casd - - chown buildbox-casd:buildstream /usr/local/bin/buildbox-casd - - chmod u+s /usr/local/bin/buildbox-casd - - # Set up staging root with permissions required by userchroot, - # must be on same filesystem as current directory to support hardlinks - - mkdir -p "${BST_CAS_STAGING_ROOT}" - - chown -R buildbox-casd:buildstream "${BST_CAS_STAGING_ROOT}" - # userchroot doesn't allow group/world-writable base directory - - chmod go-w /builds - - echo buildbox-casd:${BST_CAS_STAGING_ROOT} > /etc/userchroot.conf - - - chown -R buildstream:buildstream . - - # Run the tests as a simple user to test for permission issues - - su buildstream -c "umask 002 && ${TEST_COMMAND}" - -tests-fedora-missing-deps: - # Ensure that tests behave nicely while missing bwrap and ostree - image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:32-${DOCKER_IMAGE_VERSION} - <<: *tests - - script: - # We remove the Bubblewrap and OSTree packages here so that we catch any - # codepaths that try to use them. Removing OSTree causes fuse-libs to - # disappear unless we mark it as user-installed. - - dnf mark install fuse-libs systemd-udev - - dnf erase -y bubblewrap ostree - - - useradd -Um buildstream - - chown -R buildstream:buildstream . - - - su buildstream -c "${TEST_COMMAND}" - - -tests-fedora-update-deps: - # Check if the tests pass after updating requirements to their latest - # allowed version. - allow_failure: true - image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:32-${DOCKER_IMAGE_VERSION} - <<: *tests - - script: - - useradd -Um buildstream - - chown -R buildstream:buildstream . - - - make --always-make --directory requirements - - cat requirements/*.txt - - - su buildstream -c "${TEST_COMMAND}" - -.compose-test-boilerplate: &remote-test - allow_failure: true - image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:32-${DOCKER_IMAGE_VERSION} - before_script: - - dnf install -y docker docker-compose - - docker-compose --file ${COMPOSE_MANIFEST} up --detach - after_script: - - docker-compose --file ${COMPOSE_MANIFEST} stop - - docker-compose --file ${COMPOSE_MANIFEST} logs - - docker-compose --file ${COMPOSE_MANIFEST} down - services: - - docker:stable-dind - -.docker-variables-boilerplate: &docker-variables - DOCKER_HOST: tcp://docker:2375 - DOCKER_DRIVER: overlay2 - # Required to be able to connect to the docker daemon. See https://gitlab.com/gitlab-org/gitlab-runner/issues/4501 - DOCKER_TLS_CERTDIR: "" - -tests-remote-execution: - <<: *tests - <<: *remote-test - variables: - <<: *docker-variables - COMPOSE_MANIFEST: .gitlab-ci/buildgrid-remote-execution.yml - ARTIFACT_CACHE_SERVICE: http://docker:50052 - REMOTE_EXECUTION_SERVICE: http://docker:50051 - SOURCE_CACHE_SERVICE: http://docker:50052 - PYTEST_ARGS: "--color=yes --remote-execution" - -tests-remote-cache: - <<: *tests - <<: *remote-test - variables: - <<: *docker-variables - COMPOSE_MANIFEST: .gitlab-ci/cache-server.yml - ARTIFACT_CACHE_SERVICE: http://docker:50052 - PYTEST_ARGS: "--color=yes --remote-cache" - -tests-no-usedevelop: - # Ensure that tests also pass without `--develop` flag. - image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:32-${DOCKER_IMAGE_VERSION} - <<: *tests - variables: - TOXENV: py36-nocover,py37-nocover,py38-nocover - - -# Run type checkers -mypy: - stage: test - - script: - - tox -e mypy - except: - - schedules - -# Lint separately from testing -lint: - image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:32-${DOCKER_IMAGE_VERSION} - stage: test - - before_script: - # Diagnostics - - python3 --version - - script: - - tox -e format-check,lint - except: - - schedules - -# Catch regressions in native windows support -tests-win32-master: - stage: test - variables: - LC_ALL: C.UTF-8 - LANG: C.UTF-8 - tags: - - win32 - script: - - tox -e win32 - only: - - master - except: - - schedules - -# Optional test to catch regressions in native windows support on non-master branches -tests-win32-non-master: - stage: test - variables: - LC_ALL: C.UTF-8 - LANG: C.UTF-8 - tags: - - win32 - script: - - tox -e win32 - except: - - master - when: manual - -tests-wsl-master: - stage: test - variables: - LC_ALL: C.UTF-8 - LANG: C.UTF-8 - tags: - - wsl - before_script: - - mount - - df -h - - PATH=/root/.local/bin:$PATH tox --version - script: - # Install static buildbox binaries - - wget https://buildbox-casd-binaries.nyc3.cdn.digitaloceanspaces.com/buildbox-x86_64-linux-0.0.14-872f221d.tar.xz - - tar -C /root/.local/bin -xf buildbox-x86_64-linux-0.0.14-872f221d.tar.xz - - - PATH=/root/.local/bin:$PATH ${TEST_COMMAND} - only: - - master - except: - - schedules - -tests-wsl-non-master: - stage: test - variables: - LC_ALL: C.UTF-8 - LANG: C.UTF-8 - tags: - - wsl - before_script: - - mount - - df -h - - PATH=/root/.local/bin:$PATH tox --version - script: - # Install static buildbox binaries - - wget https://buildbox-casd-binaries.nyc3.cdn.digitaloceanspaces.com/buildbox-x86_64-linux-0.0.14-872f221d.tar.xz - - tar -C /root/.local/bin -xf buildbox-x86_64-linux-0.0.14-872f221d.tar.xz - - - PATH=/root/.local/bin:$PATH ${TEST_COMMAND} - when: manual - except: - - master - -# Automatically build documentation for every commit, we want to know -# if building documentation fails even if we're not deploying it. -docs: - stage: test - variables: - BST_FORCE_SESSION_REBUILD: 1 - script: - - env BST_SOURCE_CACHE="$(pwd)/cache/integration-cache/sources" tox -e docs - - mv doc/build/html public - except: - - schedules - artifacts: - paths: +# tests-debian-10: +# image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-debian:10-${DOCKER_IMAGE_VERSION} +# <<: *tests + +# tests-fedora-31: +# image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:31-${DOCKER_IMAGE_VERSION} +# <<: *tests + +# tests-fedora-32: +# image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:32-${DOCKER_IMAGE_VERSION} +# <<: *tests + +# tests-ubuntu-18.04: +# image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-ubuntu:18.04-${DOCKER_IMAGE_VERSION} +# <<: *tests + +# tests-centos-7.7: +# <<: *tests +# image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-centos:7.7.1908-${DOCKER_IMAGE_VERSION} + +# # Test the master version of some external plugins +# tests-plugins-master: +# <<: *tests +# allow_failure: true + +# variables: +# BST_PLUGINS_EXPERIMENTAL_VERSION: master + +# tests-userchroot: +# image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:31-${DOCKER_IMAGE_VERSION} +# <<: *tests +# variables: +# BST_CAS_STAGING_ROOT: "/builds/userchroot" + +# script: +# - mkdir -p "${INTEGRATION_CACHE}" +# - useradd -Um buildstream + +# # Use buildbox-run-userchroot and hardlinking +# - ln -svf buildbox-run-userchroot /usr/local/bin/buildbox-run +# - rm -vf /usr/local/bin/buildbox-fuse + +# # When using userchroot, buildbox-casd must run as a separate user +# - useradd -g buildstream buildbox-casd +# - chown buildbox-casd:buildstream /usr/local/bin/buildbox-casd +# - chmod u+s /usr/local/bin/buildbox-casd + +# # Set up staging root with permissions required by userchroot, +# # must be on same filesystem as current directory to support hardlinks +# - mkdir -p "${BST_CAS_STAGING_ROOT}" +# - chown -R buildbox-casd:buildstream "${BST_CAS_STAGING_ROOT}" +# # userchroot doesn't allow group/world-writable base directory +# - chmod go-w /builds +# - echo buildbox-casd:${BST_CAS_STAGING_ROOT} > /etc/userchroot.conf + +# - chown -R buildstream:buildstream . + +# # Run the tests as a simple user to test for permission issues +# - su buildstream -c "umask 002 && ${TEST_COMMAND}" + +# tests-fedora-missing-deps: +# # Ensure that tests behave nicely while missing bwrap and ostree +# image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:32-${DOCKER_IMAGE_VERSION} +# <<: *tests + +# script: +# # We remove the Bubblewrap and OSTree packages here so that we catch any +# # codepaths that try to use them. Removing OSTree causes fuse-libs to +# # disappear unless we mark it as user-installed. +# - dnf mark install fuse-libs systemd-udev +# - dnf erase -y bubblewrap ostree + +# - useradd -Um buildstream +# - chown -R buildstream:buildstream . + +# - su buildstream -c "${TEST_COMMAND}" + + +# tests-fedora-update-deps: +# # Check if the tests pass after updating requirements to their latest +# # allowed version. +# allow_failure: true +# image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:32-${DOCKER_IMAGE_VERSION} +# <<: *tests + +# script: +# - useradd -Um buildstream +# - chown -R buildstream:buildstream . + +# - make --always-make --directory requirements +# - cat requirements/*.txt + +# - su buildstream -c "${TEST_COMMAND}" + +# .compose-test-boilerplate: &remote-test +# allow_failure: true +# image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:32-${DOCKER_IMAGE_VERSION} +# before_script: +# - dnf install -y docker docker-compose +# - docker-compose --file ${COMPOSE_MANIFEST} up --detach +# after_script: +# - docker-compose --file ${COMPOSE_MANIFEST} stop +# - docker-compose --file ${COMPOSE_MANIFEST} logs +# - docker-compose --file ${COMPOSE_MANIFEST} down +# services: +# - docker:stable-dind + +# .docker-variables-boilerplate: &docker-variables +# DOCKER_HOST: tcp://docker:2375 +# DOCKER_DRIVER: overlay2 +# # Required to be able to connect to the docker daemon. See https://gitlab.com/gitlab-org/gitlab-runner/issues/4501 +# DOCKER_TLS_CERTDIR: "" + +# tests-remote-execution: +# <<: *tests +# <<: *remote-test +# variables: +# <<: *docker-variables +# COMPOSE_MANIFEST: .gitlab-ci/buildgrid-remote-execution.yml +# ARTIFACT_CACHE_SERVICE: http://docker:50052 +# REMOTE_EXECUTION_SERVICE: http://docker:50051 +# SOURCE_CACHE_SERVICE: http://docker:50052 +# PYTEST_ARGS: "--color=yes --remote-execution" + +# tests-remote-cache: +# <<: *tests +# <<: *remote-test +# variables: +# <<: *docker-variables +# COMPOSE_MANIFEST: .gitlab-ci/cache-server.yml +# ARTIFACT_CACHE_SERVICE: http://docker:50052 +# PYTEST_ARGS: "--color=yes --remote-cache" + +# tests-no-usedevelop: +# # Ensure that tests also pass without `--develop` flag. +# image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:32-${DOCKER_IMAGE_VERSION} +# <<: *tests +# variables: +# TOXENV: py36-nocover,py37-nocover,py38-nocover + + +# # Run type checkers +# mypy: +# stage: test + +# script: +# - tox -e mypy +# except: +# - schedules + +# # Lint separately from testing +# lint: +# image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:32-${DOCKER_IMAGE_VERSION} +# stage: test + +# before_script: +# # Diagnostics +# - python3 --version + +# script: +# - tox -e format-check,lint +# except: +# - schedules + +# # Catch regressions in native windows support +# tests-win32-master: +# stage: test +# variables: +# LC_ALL: C.UTF-8 +# LANG: C.UTF-8 +# tags: +# - win32 +# script: +# - tox -e win32 +# only: +# - master +# except: +# - schedules + +# # Optional test to catch regressions in native windows support on non-master branches +# tests-win32-non-master: +# stage: test +# variables: +# LC_ALL: C.UTF-8 +# LANG: C.UTF-8 +# tags: +# - win32 +# script: +# - tox -e win32 +# except: +# - master +# when: manual + +# tests-wsl-master: +# stage: test +# variables: +# LC_ALL: C.UTF-8 +# LANG: C.UTF-8 +# tags: +# - wsl +# before_script: +# - mount +# - df -h +# - PATH=/root/.local/bin:$PATH tox --version +# script: +# # Install static buildbox binaries +# - wget https://buildbox-casd-binaries.nyc3.cdn.digitaloceanspaces.com/buildbox-x86_64-linux-0.0.14-872f221d.tar.xz +# - tar -C /root/.local/bin -xf buildbox-x86_64-linux-0.0.14-872f221d.tar.xz + +# - PATH=/root/.local/bin:$PATH ${TEST_COMMAND} +# only: +# - master +# except: +# - schedules + +# tests-wsl-non-master: +# stage: test +# variables: +# LC_ALL: C.UTF-8 +# LANG: C.UTF-8 +# tags: +# - wsl +# before_script: +# - mount +# - df -h +# - PATH=/root/.local/bin:$PATH tox --version +# script: +# # Install static buildbox binaries +# - wget https://buildbox-casd-binaries.nyc3.cdn.digitaloceanspaces.com/buildbox-x86_64-linux-0.0.14-872f221d.tar.xz +# - tar -C /root/.local/bin -xf buildbox-x86_64-linux-0.0.14-872f221d.tar.xz + +# - PATH=/root/.local/bin:$PATH ${TEST_COMMAND} +# when: manual +# except: +# - master + +# # Automatically build documentation for every commit, we want to know +# # if building documentation fails even if we're not deploying it. +# docs: +# stage: test +# variables: +# BST_FORCE_SESSION_REBUILD: 1 +# script: +# - env BST_SOURCE_CACHE="$(pwd)/cache/integration-cache/sources" tox -e docs +# - mv doc/build/html public +# except: +# - schedules +# artifacts: +# paths: - public/ .overnight-tests: &overnight-tests-template @@ -371,122 +371,122 @@ overnight-tests: tags: - overnight-tests -overnight-tests-no-cache: - <<: *overnight-tests-template - script: - - sed -i '/artifacts:/,+1 d' freedesktop-sdk/project.conf - - make -C freedesktop-sdk - tags: - - overnight-tests - only: - - schedules - -# These tests might be a bit more flaky since they randomize the order -# They will also take longer to run. Hence run them only nightly -overnight-randomized: - image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:32-${DOCKER_IMAGE_VERSION} - <<: *tests - - script: - - mkdir -p "${INTEGRATION_CACHE}" - - useradd -Um buildstream - - chown -R buildstream:buildstream . - - # Don't run tests multiprocessed here, the randomized order doesn't like that - - su buildstream -c "tox -e py36-randomized,py37-randomized,py38-randomized -- --color=yes --integration" - - su buildstream -c "tox -e py36-randomized-external,py37-randomized-external,py38-randomized-external -- --color=yes --integration" - - # We need to override the exclusion from the template in order to run on schedules - except: [] - only: - - schedules +# overnight-tests-no-cache: +# <<: *overnight-tests-template +# script: +# - sed -i '/artifacts:/,+1 d' freedesktop-sdk/project.conf +# - make -C freedesktop-sdk +# tags: +# - overnight-tests +# only: +# - schedules + +# # These tests might be a bit more flaky since they randomize the order +# # They will also take longer to run. Hence run them only nightly +# overnight-randomized: +# image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:32-${DOCKER_IMAGE_VERSION} +# <<: *tests + +# script: +# - mkdir -p "${INTEGRATION_CACHE}" +# - useradd -Um buildstream +# - chown -R buildstream:buildstream . + +# # Don't run tests multiprocessed here, the randomized order doesn't like that +# - su buildstream -c "tox -e py36-randomized,py37-randomized,py38-randomized -- --color=yes --integration" +# - su buildstream -c "tox -e py36-randomized-external,py37-randomized-external,py38-randomized-external -- --color=yes --integration" + +# # We need to override the exclusion from the template in order to run on schedules +# except: [] +# only: +# - schedules ##################################################### # Post stage # ##################################################### -analysis: - stage: post - script: - - | - pip3 install radon - mkdir analysis - - - | - echo "Calculating Maintainability Index" - radon mi -s -j src/buildstream > analysis/mi.json - radon mi -s src/buildstream - - - | - echo "Calculating Cyclomatic Complexity" - radon cc -a -s -j src/buildstream > analysis/cc.json - radon cc -a -s src/buildstream - - - | - echo "Calculating Raw Metrics" - radon raw -s -j src/buildstream > analysis/raw.json - radon raw -s src/buildstream - - except: - - schedules - artifacts: - paths: - - analysis/ - -# Collate coverage reports -# -coverage: - stage: post - coverage: '/TOTAL +\d+ +\d+ +(\d+\.\d+)%/' - script: - - cp -a .coverage-reports/ ./coverage-sources - - tox -e coverage - - cp -a .coverage-reports/ ./coverage-report - dependencies: - - tests-centos-7.7 - - tests-debian-10 - - tests-fedora-31 - - tests-remote-execution - - tests-ubuntu-18.04 - - tests-userchroot - except: - - schedules - artifacts: - paths: - - coverage-sources/ - - coverage-report/ - -# Deploy, only for merges which land on master branch. -# -pages: - stage: publish - dependencies: - - coverage - - docs - variables: - ACME_DIR: public/.well-known/acme-challenge - COVERAGE_DIR: public/coverage - script: - - mkdir -p ${ACME_DIR} - # Required to finish the creation of the Let's Encrypt certificate, - # which allows using https://docs.buildstream.build/ for accessing - # the documentation. - - echo ${ACME_CHALLENGE} > ${ACME_DIR}/$(echo ${ACME_CHALLENGE} | cut -c1-43) - - mkdir -p ${COVERAGE_DIR} - - cp -a ./coverage-report/ ${COVERAGE_DIR} - artifacts: - paths: - - public/ - only: - # - # FIXME: - # - # Ideally we want to publish to a different subdir of - # pages depending on which stable branch we are building here, - # not currently automatically supported but can be worked around. - # - # See https://gitlab.com/gitlab-org/gitlab-ce/issues/35141 - # - - master - except: - - schedules +# analysis: +# stage: post +# script: +# - | +# pip3 install radon +# mkdir analysis + +# - | +# echo "Calculating Maintainability Index" +# radon mi -s -j src/buildstream > analysis/mi.json +# radon mi -s src/buildstream + +# - | +# echo "Calculating Cyclomatic Complexity" +# radon cc -a -s -j src/buildstream > analysis/cc.json +# radon cc -a -s src/buildstream + +# - | +# echo "Calculating Raw Metrics" +# radon raw -s -j src/buildstream > analysis/raw.json +# radon raw -s src/buildstream + +# except: +# - schedules +# artifacts: +# paths: +# - analysis/ + +# # Collate coverage reports +# # +# coverage: +# stage: post +# coverage: '/TOTAL +\d+ +\d+ +(\d+\.\d+)%/' +# script: +# - cp -a .coverage-reports/ ./coverage-sources +# - tox -e coverage +# - cp -a .coverage-reports/ ./coverage-report +# dependencies: +# - tests-centos-7.7 +# - tests-debian-10 +# - tests-fedora-31 +# - tests-remote-execution +# - tests-ubuntu-18.04 +# - tests-userchroot +# except: +# - schedules +# artifacts: +# paths: +# - coverage-sources/ +# - coverage-report/ + +# # Deploy, only for merges which land on master branch. +# # +# pages: +# stage: publish +# dependencies: +# - coverage +# - docs +# variables: +# ACME_DIR: public/.well-known/acme-challenge +# COVERAGE_DIR: public/coverage +# script: +# - mkdir -p ${ACME_DIR} +# # Required to finish the creation of the Let's Encrypt certificate, +# # which allows using https://docs.buildstream.build/ for accessing +# # the documentation. +# - echo ${ACME_CHALLENGE} > ${ACME_DIR}/$(echo ${ACME_CHALLENGE} | cut -c1-43) +# - mkdir -p ${COVERAGE_DIR} +# - cp -a ./coverage-report/ ${COVERAGE_DIR} +# artifacts: +# paths: +# - public/ +# only: +# # +# # FIXME: +# # +# # Ideally we want to publish to a different subdir of +# # pages depending on which stable branch we are building here, +# # not currently automatically supported but can be worked around. +# # +# # See https://gitlab.com/gitlab-org/gitlab-ce/issues/35141 +# # +# - master +# except: +# - schedules |