image: samthursfield/buildstream:0.1-20170621.1 cache: paths: - cache/buildstream/sources/ stages: - test - coverage - docs before_script: # Diagnostics - mount - df -h # Work around https://github.com/fedora-cloud/docker-brew-fedora/issues/14 - export LANG="C.UTF-8" - export LC_ALL="C.UTF-8" # Store cache in the project directory - mkdir -p "$(pwd)/cache" - export XDG_CACHE_HOME="$(pwd)/cache" # Run premerge commits # pytest: stage: test script: - dnf install -y bzr patch - python3 setup.py test - mkdir -p coverage-pytest/ - cp .coverage.* coverage-pytest/coverage.pytest artifacts: paths: - coverage-pytest/ # Run integration tests # integration: stage: test script: - dnf install -y findutils bzr which - pip3 install coverage - pip3 install . - git clone https://gitlab.com/BuildStream/buildstream-tests.git - cd buildstream-tests - ./run-test.sh --arg --colors --cov ../.coveragerc test - cd .. - mkdir -p coverage-integration/ - cp buildstream-tests/.coverage coverage-integration/coverage.integration - cp -a cache/buildstream/logs logs-integration artifacts: paths: - coverage-integration/ - logs-integration/ # Collate coverage reports # coverage: stage: coverage script: - pip3 install coverage - pip3 install . - mkdir report - cp coverage-integration/coverage.integration report/.coverage - cp coverage-pytest/coverage.pytest report - cd report - coverage combine --rcfile=../.coveragerc -a coverage.pytest - coverage report --rcfile=../.coveragerc -m dependencies: - pytest - integration # Automatically build documentation, only for merges which land # on master branch. pages: stage: docs script: - dnf install -y findutils python2 - pip3 install sphinx - pip3 install sphinx-click - pip3 install --user -e . - make -C doc - mv doc/build/html public artifacts: paths: - public/ only: - master