.gitlab-ci.yml 2.57 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

before_script:
  - apt-get update
  - >
    apt-get install -y build-essential python python-pip python-dev git 
Jait Dixit's avatar
Jait Dixit committed
16
    gfortran autoconf gsl-bin libgsl-dev wget
Jait Dixit's avatar
Jait Dixit committed
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
  - 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
Jait Dixit's avatar
Jait Dixit committed
61
      libhdf5-openmpi-dev hdf5-tools
Jait Dixit's avatar
Jait Dixit committed
62
63
    - pip install astropy healpy mpi4py
    - pip install git+https://github.com/mrbell/gfft
Jait Dixit's avatar
Jait Dixit committed
64
    - ci/install_h5py.sh
Jait Dixit's avatar
Jait Dixit committed
65
66
67
    - ci/install_libsharp.sh
    - ci/install_pyfftw.sh
    - python setup.py build_ext --inplace
68
    - nosetests -vv --with-coverage --cover-package=nifty --cover-branches
Jait Dixit's avatar
Jait Dixit committed
69
70
    - >
      coverage report | grep TOTAL | awk '{ print "TOTAL: "$6; }'
Jait Dixit's avatar
Jait Dixit committed
71

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

release_image_tagged:
  image: docker:latest
  stage: release
  before_script:
    - pwd
Theo Steininger's avatar
Theo Steininger committed
91
92
#  services:
#    - docker:dind
93
94
95
96
97
98
  script:
    - docker login -u $DOCKER_HUB_USERNAME -p $DOCKER_HUB_PASSWORD
    - docker build -t $RELEASE_IMAGE_TAGGED .
    - docker push $RELEASE_IMAGE_TAGGED
  only:
    - tags