From ea0e16c7b0d9e368533d51b635c51755ca7b4882 Mon Sep 17 00:00:00 2001 From: Chandan Singh Date: Fri, 25 Jan 2019 18:33:33 +0000 Subject: DO NOT MERGE: list cache contents --- .gitlab-ci.yml | 274 +-------------------------------------------------------- 1 file changed, 1 insertion(+), 273 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9a3de5154..5bd568250 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -35,8 +35,7 @@ variables: - useradd -Um buildstream - chown -R buildstream:buildstream . - # Run the tests as a simple user to test for permission issues - - su buildstream -c "${TEST_COMMAND}" + - find "${CI_PROJECT_DIR}/cache" after_script: except: @@ -48,274 +47,3 @@ variables: tests-debian-9: image: buildstream/testsuite-debian:9-5da27168-32c47d1c <<: *tests - -tests-fedora-27: - image: buildstream/testsuite-fedora:27-5da27168-32c47d1c - <<: *tests - -tests-fedora-28: - image: buildstream/testsuite-fedora:28-5da27168-32c47d1c - <<: *tests - -tests-ubuntu-18.04: - image: buildstream/testsuite-ubuntu:18.04-5da27168-32c47d1c - <<: *tests - -tests-python-3.7-stretch: - image: buildstream/testsuite-python:3.7-stretch-a60f0c39 - <<: *tests - - variables: - # Note that we explicitly specify TOXENV in this case because this - # image has both 3.6 and 3.7 versions. python3.6 cannot be removed because - # some of our base dependencies declare it as their runtime dependency. - TOXENV: py37 - -tests-centos-7.6: - <<: *tests - image: buildstream/testsuite-centos:7.6-5da27168-32c47d1c - -overnight-fedora-28-aarch64: - image: buildstream/testsuite-fedora:aarch64-28-5da27168-32c47d1c - tags: - - aarch64 - <<: *tests - # We need to override the exclusion from the template - # in order to run on schedules - except: [] - only: - - schedules - before_script: - # grpcio needs to be compiled from source on aarch64 so we additionally - # need a C++ compiler here. - # FIXME: Ideally this would be provided by the base image. This will be - # unblocked by https://gitlab.com/BuildStream/buildstream-docker-images/issues/34 - - dnf install -y gcc-c++ - -tests-unix: - # Use fedora here, to a) run a test on fedora and b) ensure that we - # can get rid of ostree - this is not possible with debian-8 - image: buildstream/testsuite-fedora:27-5da27168-32c47d1c - <<: *tests - variables: - BST_FORCE_BACKEND: "unix" - - 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 - - dnf erase -y bubblewrap ostree - - # Since the unix platform is required to run as root, no user change required - - ${TEST_COMMAND} - -tests-fedora-missing-deps: - # Ensure that tests behave nicely while missing bwrap and ostree - image: buildstream/testsuite-fedora:28-5da27168-32c47d1c - <<: *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 - - dnf erase -y bubblewrap ostree - - - useradd -Um buildstream - - chown -R buildstream:buildstream . - - - ${TEST_COMMAND} - -tests-fedora-update-deps: - # Check if the tests pass after updating requirements to their latest - # allowed version. - allow_failure: true - image: buildstream/testsuite-fedora:28-5da27168-32c47d1c - <<: *tests - - script: - - useradd -Um buildstream - - chown -R buildstream:buildstream . - - - make --always-make --directory requirements - - cat requirements/*.txt - - - su buildstream -c "${TEST_COMMAND}" - -# Lint separately from testing -lint: - stage: test - - before_script: - # Diagnostics - - python3 --version - - script: - - tox -e lint - except: - - schedules - -# 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 - stage: test - variables: - BST_EXT_URL: git+https://gitlab.com/BuildStream/bst-external.git - BST_EXT_REF: 0.9.0-0-g63a19e8068bd777bd9cd59b1a9442f9749ea5a85 - FD_SDK_REF: freedesktop-sdk-18.08.25-0-g250939d465d6dd7768a215f1fa59c4a3412fc337 - before_script: - - | - mkdir -p "${HOME}/.config" - cat <"${HOME}/.config/buildstream.conf" - scheduler: - fetchers: 2 - EOF - - pip3 install -r requirements/requirements.txt -r requirements/plugin-requirements.txt - - pip3 install --no-index . - - pip3 install --user -e ${BST_EXT_URL}@${BST_EXT_REF}#egg=bst_ext - - git clone https://gitlab.com/freedesktop-sdk/freedesktop-sdk.git - - git -C freedesktop-sdk checkout ${FD_SDK_REF} - artifacts: - paths: - - "${HOME}/.cache/buildstream/logs" - only: - - schedules - -overnight-tests: - <<: *overnight-tests-template - script: - - make -C freedesktop-sdk - tags: - - overnight-tests - -overnight-tests-no-cache: - <<: *overnight-tests-template - script: - - sed -i '/artifacts:/,+1 d' freedesktop-sdk/bootstrap/project.conf - - sed -i '/artifacts:/,+1 d' freedesktop-sdk/project.conf - - make -C freedesktop-sdk - tags: - - overnight-tests - -# Check code quality with gitlab's built-in feature. -# -code_quality: - image: docker:stable - stage: test - variables: - DOCKER_DRIVER: overlay2 - allow_failure: true - services: - - docker:stable-dind - script: - - export SP_VERSION=$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/') - - docker run - --env SOURCE_CODE="$PWD" - --volume "$PWD":/code - --volume /var/run/docker.sock:/var/run/docker.sock - "registry.gitlab.com/gitlab-org/security-products/codequality:$SP_VERSION" /code - except: - - schedules - artifacts: - paths: [gl-code-quality-report.json] - -##################################################### -# Post stage # -##################################################### - -analysis: - stage: post - script: - - | - pip3 install radon - mkdir analysis - - - | - echo "Calculating Maintainability Index" - radon mi -s -j buildstream > analysis/mi.json - radon mi -s buildstream - - - | - echo "Calculating Cyclomatic Complexity" - radon cc -a -s -j buildstream > analysis/cc.json - radon cc -a -s buildstream - - - | - echo "Calculating Raw Metrics" - radon raw -s -j buildstream > analysis/raw.json - radon raw -s 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-debian-9 - - tests-fedora-27 - - tests-fedora-28 - - tests-fedora-missing-deps - - tests-ubuntu-18.04 - - tests-unix - except: - - schedules - artifacts: - paths: - - coverage-sources/ - - coverage-report/ - -# Deploy, only for merges which land on master branch. -# -pages: - stage: post - dependencies: - - docs - variables: - ACME_DIR: public/.well-known/acme-challenge - 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) - 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 -- cgit v1.2.1