image: buildstream/buildstream-fedora:master-26-3fd7fe1

cache:
  paths:
    - cache/buildstream/sources/

stages:
  - dist
  - test
  - coverage
  - docs

before_script:
  # Diagnostics
  - mount
  - df -h

  # Store cache in the project directory
  - if [ -d "$(pwd)/cache" ]; then chmod -R a+rw "$(pwd)/cache"; fi
  - export XDG_CACHE_HOME="$(pwd)/cache"
  - adduser -m buildstream
  - chown -R buildstream:buildstream .

# Create a source distribution
#
distcheck:
  stage: dist
  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/

# Run premerge commits
#
pytest_linux:
  stage: test
  script:

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

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

# Run integration tests
#
integration_linux:
  stage: test

  script:
    - cd dist && ./install.sh && cd ..
    - cd integration-tests

    # We run as a simple user to test for permission issues
    - su buildstream -c './run-test.sh --arg --colors --cov ../.coveragerc --sources ${XDG_CACHE_HOME}/buildstream/sources test'

    - cd ..
    - mkdir -p coverage-linux/
    - cp integration-tests/.coverage coverage-linux/coverage.linux
    - cp -a integration-tests/tmp/logs logs-linux

  artifacts:
    paths:
    - coverage-linux/
    - logs-linux/

  dependencies:
  - distcheck

pytest_unix:
  stage: test
  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

    # 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

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

integration_unix:
  stage: test
  variables:
    BST_FORCE_BACKEND: "unix"
  script:
    - cd dist && ./install.sh && cd ..
    - cd integration-tests

    # Since the unix platform is required to run as root, no user change required
    - ./run-test.sh --arg --colors --cov ../.coveragerc --sources ${XDG_CACHE_HOME}/buildstream/sources test

    - cd ..
    - mkdir -p coverage-unix/
    - cp integration-tests/.coverage coverage-unix/coverage.unix
    - cp -a integration-tests/tmp/logs logs-unix

  artifacts:
    paths:
    - coverage-unix/
    - logs-unix/

  dependencies:
  - distcheck

# Collate coverage reports
#
coverage:
  stage: coverage
  script:
    - pip3 install --no-index .
    - mkdir report
    - cd report
    - cp ../coverage-linux/coverage.linux .coverage
    - cp ../coverage-unix/coverage.unix .
    - coverage combine --rcfile=../.coveragerc -a ../coverage-unix/coverage.unix
    - cp ../coverage-pytest-linux/coverage.pytest-linux .
    - coverage combine --rcfile=../.coveragerc -a coverage.pytest-linux
    - cp ../coverage-pytest-unix/coverage.pytest-unix .
    - coverage combine --rcfile=../.coveragerc -a coverage.pytest-unix
    - coverage report --rcfile=../.coveragerc -m
  dependencies:
  - pytest_linux
  - integration_linux
  - pytest_unix
  - integration_unix

# Automatically build documentation, only for merges which land
# on master branch.
#
# Note: We still do not enforce a consistent installation of python2
#       or sphinx, as python2 will significantly grow the backing image.
#
pages:
  stage: docs
  script:
  - dnf install -y python2
  - pip3 install sphinx
  - pip3 install sphinx-click
  - cd dist && ./unpack.sh && cd buildstream
  - pip3 install .
  - make -C doc
  - cd ../..
  - mv dist/buildstream/doc/build/html public
  artifacts:
    paths:
    - public/
  only:
  - master
  dependencies:
  - distcheck
