image: buildstream/testsuite-debian:9-master-114-4cab18e3

cache:
  key: "$CI_JOB_NAME-"
  paths:
    - cache/

stages:
  - prepare
  - test
  - post

#####################################################
#                  Prepare stage                    #
#####################################################

# Create a source distribution
#
source_dist:
  stage: prepare
  script:

  # Generate the source distribution tarball
  #
  - python3 setup.py sdist
  - tar -ztf dist/*
  - tarball=$(cd dist && echo $(ls *))

  # Verify that the source distribution tarball can be installed correctly
  #
  - pip3 install dist/*.tar.gz
  - bst --version

  # unpack tarball as `dist/buildstream` directory
  - |
    cat > dist/unpack.sh << EOF
    #!/bin/sh
    tar -zxf ${tarball}
    mv ${tarball%.tar.gz} buildstream
    EOF

  # Make our helpers executable
  - chmod +x dist/unpack.sh
  artifacts:
    paths:
    - dist/


#####################################################
#                    Test stage                     #
#####################################################

# Run premerge commits
#
.linux-tests-template: &linux-tests
  stage: test
  variables:
    PYTEST_ADDOPTS: "--color=yes"
  script:
  # Diagnostics
  - mount
  - df -h

  - echo "CHECKING VERSIONS"
  - pip3 show astroid mccabe isort

  - useradd -Um buildstream
  - chown -R buildstream:buildstream .

  - export INTEGRATION_CACHE="$(pwd)/cache/integration-cache"

  # Unpack and get into dist/buildstream
  - cd dist && ./unpack.sh
  - chown -R buildstream:buildstream buildstream
  - cd buildstream

  # Run the tests from the source distribution, We run as a simple
  # user to test for permission issues
  - su buildstream -c 'python3 setup.py test --index-url invalid://uri --addopts --integration'

  # Go back to the toplevel and collect our reports
  - cd ../..
  - mkdir -p coverage-linux/
  - cp dist/buildstream/.coverage.* coverage-linux/coverage."${CI_JOB_NAME}"
  artifacts:
    paths:
    - coverage-linux/

tests-debian-9:
  image: buildstream/testsuite-debian:9-master-117-aa3a33b3
  <<: *linux-tests

tests-fedora-27:
  image: buildstream/testsuite-fedora:27-master-117-aa3a33b3
  <<: *linux-tests

tests-fedora-28:
  image: buildstream/testsuite-fedora:28-master-117-aa3a33b3
  <<: *linux-tests

tests-ubuntu-18.04:
  image: buildstream/testsuite-ubuntu:18.04-master-117-aa3a33b3
  <<: *linux-tests

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-master-117-aa3a33b3
  stage: test
  variables:
    BST_FORCE_BACKEND: "unix"
    PYTEST_ADDOPTS: "--color=yes"
  script:

    - export INTEGRATION_CACHE="$(pwd)/cache/integration-cache"

    # 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

    # Unpack and get into dist/buildstream
    - cd dist && ./unpack.sh && cd buildstream

    # Since the unix platform is required to run as root, no user change required
    - python3 setup.py test --index-url invalid://uri --addopts --integration

    # Go back to the toplevel and collect our reports
    - cd ../..
    - mkdir -p coverage-unix/
    - cp dist/buildstream/.coverage.* coverage-unix/coverage.unix
  artifacts:
    paths:
    - coverage-unix/
    - logs-unix/


# Automatically build documentation for every commit, we want to know
# if building documentation fails even if we're not deploying it.
# Note: We still do not enforce a consistent installation of python3-sphinx,
#       as it will significantly grow the backing image.
docs:
  stage: test
  script:
  - export BST_SOURCE_CACHE="$(pwd)/cache/integration-cache/sources"
  - pip3 install sphinx
  - pip3 install sphinx-click
  - pip3 install sphinx_rtd_theme
  - cd dist && ./unpack.sh && cd buildstream
  - make BST_FORCE_SESSION_REBUILD=1 -C doc
  - cd ../..
  - mv dist/buildstream/doc/build/html public
  artifacts:
    paths:
    - public/


# 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
  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

  artifacts:
    paths:
    - analysis/

# Collate coverage reports
#
coverage:
  stage: post
  coverage: '/TOTAL +\d+ +\d+ +(\d+\.\d+)%/'
  script:
    - cd dist && ./unpack.sh && cd buildstream
    - pip3 install --no-index .
    - mkdir report
    - cd report
    - cp ../../../coverage-unix/coverage.unix .
    - cp ../../../coverage-linux/coverage.* .
    - ls coverage.*
    - coverage combine --rcfile=../.coveragerc -a coverage.*
    - coverage report --rcfile=../.coveragerc -m
  dependencies:
  - tests-debian-9
  - tests-fedora-27
  - tests-fedora-28
  - tests-unix
  - source_dist

# Deploy, only for merges which land on master branch.
#
pages:
  stage: post
  dependencies:
  - source_dist
  - docs
  script:
  - find public/
  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
