-
Gregory Ashton authoredGregory Ashton authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
.gitlab-ci.yml 2.34 KiB
# This script is an edited version of the example found at
# https://git.ligo.org/lscsoft/example-ci-project/blob/python/.gitlab-ci.yml
# Each 0th-indendation level is a job that will be run within GitLab CI
# The only exception are a short list of reserved keywords
#
# https://docs.gitlab.com/ee/ci/yaml/#gitlab-ci-yml
# stages is a reserved keyword that defines job dependencies and
# parallelization. each stage runs in parallel but must complete
# before the next stage begins
stages:
- test
- deploy
# test example on Debian 8 "jessie"
exitcode-jessie:
stage: test
image: ligo/software:jessie
before_script:
# Remove lalsuite from requirements for CI tests - the pip version in the
# CI is too old and fails when trying to install lalsuite
- sed -i '/lalsuite/d' requirements.txt
- pip install -r requirements.txt
- pip install 'coverage>=4.5'
- pip install coverage-badge
script:
- python setup.py install
# Run tests and collect coverage data
- coverage --version
- coverage erase
- coverage run --source /usr/local/lib/python2.7/dist-packages/tupak/ -a test/conversion_tests.py
- coverage run --source /usr/local/lib/python2.7/dist-packages/tupak/ -a test/detector_tests.py
- coverage run --source /usr/local/lib/python2.7/dist-packages/tupak/ -a test/utils_tests.py
- coverage run --source /usr/local/lib/python2.7/dist-packages/tupak/ -a test/prior_tests.py
- coverage run --source /usr/local/lib/python2.7/dist-packages/tupak/ -a test/sampler_tests.py
- coverage run --source /usr/local/lib/python2.7/dist-packages/tupak/ -a test/waveform_generator_tests.py
- coverage html
- coverage-badge -o coverage_badge.svg -f
# Run all other tests (no coverage data collected)
- python test/example_tests.py
- python test/noise_realisation_tests.py
- python test/other_tests.py
# Make the documentation
- pip install -r docs/requirements.txt
- cd docs
- make clean
- make html
artifacts:
paths:
- htmlcov/
- coverage_badge.svg
- docs/_build/html/
pages:
stage: deploy
dependencies:
- exitcode-jessie
script:
- mkdir public/
- mv htmlcov/ public/
- mv /builds/Monash/tupak/coverage_badge.svg public/
- mv docs/_build/html/* public/
artifacts:
paths:
- public
expire_in: 30 days
#only: