image: buildstream/testsuite-debian:8-master-57-be5a863

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

tests-debian-9:
  image: buildstream/buildstream-debian:master-81-caa5241
  <<: *linux-tests

tests-fedora-27:
  image: buildstream/buildstream-fedora:master-56-5d7ee17
  <<: *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/buildstream-fedora:master-56-5d7ee17
  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:
  - pip3 install sphinx
  - pip3 install sphinx-click
  - pip3 install sphinx_rtd_theme
  - cd dist && ./unpack.sh && cd buildstream
  - pip3 install .
  - make -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-8
  - tests-debian-9
  - tests-fedora-27
  - 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
