image: buildstream/buildstream-debian:master-88-4d92c106

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/buildstream-debian:master-88-4d92c106
  <<: *linux-tests

tests-fedora-27:
  image: buildstream/buildstream-fedora:master-88-4d92c106
  <<: *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-88-4d92c106
  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
  - pip3 install .
  - 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-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
