.gitlab-ci.yml 2.54 KB
Newer Older
Jait Dixit's avatar
Jait Dixit committed
1 2 3 4 5 6 7 8
image: ubuntu:latest

stages:
  - test
  - release

variables:
  DOCKER_DRIVER: overlay
9
  RELEASE_IMAGE_MASTER: iftmpa/nifty:dev
10
  RELEASE_IMAGE_TAGGED: iftmpa/nifty:$CI_BUILD_TAG
Jait Dixit's avatar
Jait Dixit committed
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66

before_script:
  - apt-get update
  - >
    apt-get install -y build-essential python python-pip python-dev git 
    gfortran autoconf gsl-bin libgsl-dev
  - pip install -r ci/requirements_base.txt
  - chmod +x ci/*.sh

test_min:
  stage: test
  script:
    - python setup.py build_ext --inplace
    - nosetests -vv

test_mpi:
  stage: test
  script:
    - apt-get install -y openmpi-bin libopenmpi-dev
    - pip install astropy healpy mpi4py
    - pip install git+https://github.com/mrbell/gfft
    - ci/install_libsharp.sh
    - python setup.py build_ext --inplace
    - nosetests -vv

test_mpi_fftw:
  stage: test
  script:
    - apt-get install -y openmpi-bin libopenmpi-dev
    - >
      apt-get install -y libatlas-base-dev libfftw3-bin libfftw3-dev
      libfftw3-double3 libfftw3-long3 libfftw3-mpi-dev libfftw3-mpi3
      libfftw3-quad3 libfftw3-single3
    - pip install astropy healpy mpi4py
    - pip install git+https://github.com/mrbell/gfft
    - ci/install_libsharp.sh
    - ci/install_pyfftw.sh
    - python setup.py build_ext --inplace
    - nosetests -vv

test_mpi_fftw_hdf5:
  stage: test
  script:
    - apt-get install -y openmpi-bin libopenmpi-dev
    - >
      apt-get install -y libatlas-base-dev libfftw3-bin libfftw3-dev
      libfftw3-double3 libfftw3-long3 libfftw3-mpi-dev libfftw3-mpi3
      libfftw3-quad3 libfftw3-single3
    - >
      apt-get install -y libhdf5-10 libhdf5-dev libhdf5-openmpi-10
      libhdf5-openmpi-dev hdf5-tools python-h5py
    - pip install astropy healpy mpi4py
    - pip install git+https://github.com/mrbell/gfft
    - ci/install_libsharp.sh
    - ci/install_pyfftw.sh
    - python setup.py build_ext --inplace
67
    - nosetests -vv --with-coverage --cover-package=nifty --cover-branches
Jait Dixit's avatar
Jait Dixit committed
68 69
    - >
      coverage report | grep TOTAL | awk '{ print "TOTAL: "$6; }'
Jait Dixit's avatar
Jait Dixit committed
70

71
release_image_master:
Jait Dixit's avatar
Jait Dixit committed
72 73 74 75 76 77 78
  image: docker:latest
  stage: release
  before_script:
    - pwd
  services:
    - docker:dind
  script:
79
    - docker login -u $DOCKER_HUB_USERNAME -p $DOCKER_HUB_PASSWORD
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
    - docker build -t $RELEASE_IMAGE_MASTER .
    - docker push $RELEASE_IMAGE_MASTER
  only:
    - master

release_image_tagged:
  image: docker:latest
  stage: release
  before_script:
    - pwd
  services:
    - docker:dind
  script:
    - docker login -u $DOCKER_HUB_USERNAME -p $DOCKER_HUB_PASSWORD
    - docker build -t $RELEASE_IMAGE_TAGGED .
    - docker push $RELEASE_IMAGE_TAGGED
  only:
    - tags