# 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 python 2 python-2: stage: test image: continuumio/anaconda before_script: - apt install -y libgl1-mesa-glx - pip install -r requirements.txt - pip install lalsuite enum gwpy script: - python setup.py install # Run tests without finding coverage - for test in test/*tests.py; do python $test; done # test example on python 3 python-3: stage: test image: continuumio/anaconda3 before_script: - sed -i '/lalsuite/d' requirements.txt - apt install -y libgl1-mesa-glx - 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 --debug=trace --include=/opt/conda/lib/python3.6/site-packages/tupak* -a test/conversion_tests.py - coverage run --include=/opt/conda/lib/python3.6/site-packages/tupak* -a test/calibration_tests.py - coverage run --include=/opt/conda/lib/python3.6/site-packages/tupak* -a test/detector_tests.py - coverage run --include=/opt/conda/lib/python3.6/site-packages/tupak* -a test/utils_tests.py - coverage run --include=/opt/conda/lib/python3.6/site-packages/tupak* -a test/prior_tests.py - coverage run --include=/opt/conda/lib/python3.6/site-packages/tupak* -a test/sampler_tests.py - coverage run --include=/opt/conda/lib/python3.6/site-packages/tupak* -a test/waveform_generator_tests.py - coverage run --include=/opt/conda/lib/python3.6/site-packages/tupak* -a test/likelihood_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 # Make the documentation - pip install -r docs/requirements.txt - cd docs - conda install -y make - make clean - make html artifacts: paths: - htmlcov/ - coverage_badge.svg - docs/_build/html/ pages: stage: deploy dependencies: - python-3 - python-2 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: - master