image: buildstream/testsuite-debian:9-master-112-a9f63c5e

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 *))

  # Create an installer script
  - |
    cat > dist/install.sh << EOF
    #!/bin/sh
    tar -zxf ${tarball}
    cd ${tarball%.tar.gz}
    pip3 install --no-index .
    EOF

  # 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/install.sh
  - 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

  - 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-112-a9f63c5e
  <<: *linux-tests

tests-fedora-27:
  image: buildstream/testsuite-fedora:27-master-112-a9f63c5e
  <<: *linux-tests

tests-fedora-28:
  image: buildstream/testsuite-fedora:28-master-112-a9f63c5e
  <<: *linux-tests

tests-ubuntu-18.04:
  image: buildstream/testsuite-ubuntu:18.04-master-112-a9f63c5e
  <<: *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-112-a9f63c5e
  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/


#####################################################
#                    Post stage                     #
#####################################################

# Check code quality with codeclimate
# This needs some refactoring; we probably just want to provide the codeclimate.json directly
# as an output of radon, with some conversion
#
codequality:
  image: docker:stable
  stage: post
  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: [codeclimate.json]

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
