.gitlab-ci.yml 2.58 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
Jait Dixit's avatar
Jait Dixit committed
67 68 69 70 71
    - >
      nosetests -vv --with-coverage --cover-package=nifty --cover-inclusive
      --cover-branches
    - >
      coverage report | grep TOTAL | awk '{ print "TOTAL: "$6; }'
Jait Dixit's avatar
Jait Dixit committed
72

73
release_image_master:
Jait Dixit's avatar
Jait Dixit committed
74 75 76 77 78 79 80
  image: docker:latest
  stage: release
  before_script:
    - pwd
  services:
    - docker:dind
  script:
81
    - docker login -u $DOCKER_HUB_USERNAME -p $DOCKER_HUB_PASSWORD
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
    - 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