Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
.gitlab-ci.yml 8.69 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-indentation 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:
  - initial
  - test
  - docs
  - deploy

# ------------------- Initial stage -------------------------------------------

# Check author list is up to date
authors:
  stage: initial
  image: containers.ligo.org/lscsoft/bilby/v2-bilby-python37
  script:
    - python test/check_author_list.py

# Test containers scripts are up to date
containers:
  stage: initial
  image: containers.ligo.org/lscsoft/bilby/v2-bilby-python37
  script:
    - cd containers
    - python write_dockerfiles.py #HACK
    # Fail if differences exist. If this fails, you may need to run
    # write_dockerfiles.py and commit the changes.
    - git diff --exit-code

.test-python: &test-python
  stage: initial
  image: python
  before_script:
    # this is required because pytables doesn't use a wheel on py37
    - apt-get -yqq update
    - apt-get -yqq install libhdf5-dev
  script:
    - python -m pip install .
    - python -c "import bilby"
    - python -c "import bilby.bilby_mcmc"
    - python -c "import bilby.core"
    - python -c "import bilby.core.prior"
    - python -c "import bilby.core.sampler"
    - python -c "import bilby.core.utils"
    - python -c "import bilby.gw"
    - python -c "import bilby.gw.detector"
    - python -c "import bilby.gw.eos"
    - python -c "import bilby.gw.likelihood"
    - python -c "import bilby.gw.sampler"
    - python -c "import bilby.hyper"
    - python -c "import cli_bilby"
    - python test/import_test.py
    - for script in $(pip show -f bilby | grep "bin\/" | xargs -I {} basename {}); do
          ${script} --help;
      done

# Test basic setup on python 3.7
basic-3.7:
  <<: *test-python
  image: python:3.7

# Test basic setup on python 3.8