.gitlab-ci.yml 2.66 KB
Newer Older
Amir MOHAMMADI's avatar
Amir MOHAMMADI committed
1
2
# This build file uses template features from YAML so it is generic enough for
# any Bob project. Don't modify it unless you know what you're doing.
Tiago de Freitas Pereira's avatar
Tiago de Freitas Pereira committed
3

Amir MOHAMMADI's avatar
Amir MOHAMMADI committed
4
5
6
# Definition of global variables (all stages)
variables:
  CONDA_ROOT: "${CI_PROJECT_DIR}/miniconda"
Tiago de Freitas Pereira's avatar
Tiago de Freitas Pereira committed
7

Amir MOHAMMADI's avatar
Amir MOHAMMADI committed
8
9

# Definition of our build pipeline order
Tiago de Freitas Pereira's avatar
Tiago de Freitas Pereira committed
10
11
stages:
  - build
Tiago de Freitas Pereira's avatar
Tiago de Freitas Pereira committed
12
  - deploy
Amir MOHAMMADI's avatar
Amir MOHAMMADI committed
13
  - pypi
Tiago de Freitas Pereira's avatar
Tiago de Freitas Pereira committed
14
15


Amir MOHAMMADI's avatar
Amir MOHAMMADI committed
16
# Build targets
Tiago de Freitas Pereira's avatar
Tiago de Freitas Pereira committed
17
18
19
.build_template: &build_job
  stage: build
  before_script:
Tiago de Freitas Pereira's avatar
Tiago de Freitas Pereira committed
20
    - mkdir _ci
Amir MOHAMMADI's avatar
Amir MOHAMMADI committed
21
    - curl --silent "https://gitlab.idiap.ch/bob/bob.admin/raw/condapackage/gitlab/install.sh" > _ci/install.sh
Tiago de Freitas Pereira's avatar
Tiago de Freitas Pereira committed
22
    - chmod 755 _ci/install.sh
Amir MOHAMMADI's avatar
Amir MOHAMMADI committed
23
    - ./_ci/install.sh _ci condapackage #installs ci support scripts
Tiago de Freitas Pereira's avatar
Tiago de Freitas Pereira committed
24
    - ./_ci/before_build.sh
Tiago de Freitas Pereira's avatar
Tiago de Freitas Pereira committed
25
  script:
Tiago de Freitas Pereira's avatar
Tiago de Freitas Pereira committed
26
    - ./_ci/build.sh
Amir MOHAMMADI's avatar
Amir MOHAMMADI committed
27
  cache: &build_caches
Tiago de Freitas Pereira's avatar
Tiago de Freitas Pereira committed
28
    paths:
Amir MOHAMMADI's avatar
Amir MOHAMMADI committed
29
30
31
      - miniconda.sh
      - ${CONDA_ROOT}/pkgs/*.tar.bz2
      - ${CONDA_ROOT}/pkgs/urls.txt
Tiago de Freitas Pereira's avatar
Tiago de Freitas Pereira committed
32
33


Amir MOHAMMADI's avatar
Amir MOHAMMADI committed
34
.build_linux_template: &linux_build_job
Tiago de Freitas Pereira's avatar
Tiago de Freitas Pereira committed
35
36
  <<: *build_job
  tags:
Amir MOHAMMADI's avatar
Amir MOHAMMADI committed
37
38
39
40
41
42
43
44
45
46
    - docker
  image: continuumio/conda-concourse-ci
  artifacts:
    expire_in: 1 week
    paths:
      - _ci/
      - ${CONDA_ROOT}/conda-bld/linux-64/*.tar.bz2
  cache:
    <<: *build_caches
    key: "linux-cache"
Tiago de Freitas Pereira's avatar
Tiago de Freitas Pereira committed
47
48


Amir MOHAMMADI's avatar
Amir MOHAMMADI committed
49
.build_macosx_template: &macosx_build_job
Tiago de Freitas Pereira's avatar
Tiago de Freitas Pereira committed
50
  <<: *build_job
Tiago de Freitas Pereira's avatar
Tiago de Freitas Pereira committed
51
  tags:
Amir MOHAMMADI's avatar
Amir MOHAMMADI committed
52
53
54
55
56
57
58
59
60
    - macosx
  artifacts:
    expire_in: 1 week
    paths:
      - _ci/
      - ${CONDA_ROOT}/conda-bld/osx-64/*.tar.bz2
  cache:
    <<: *build_caches
    key: "macosx-cache"
Tiago de Freitas Pereira's avatar
Tiago de Freitas Pereira committed
61
62


Amir MOHAMMADI's avatar
Amir MOHAMMADI committed
63
64
65
66
build_linux_27:
  <<: *linux_build_job
  variables:
    PYTHON_VERSION: "2.7"
Tiago de Freitas Pereira's avatar
Tiago de Freitas Pereira committed
67
68


69
build_linux_36:
Amir MOHAMMADI's avatar
Amir MOHAMMADI committed
70
71
  <<: *linux_build_job
  variables:
72
    PYTHON_VERSION: "3.6"
Amir MOHAMMADI's avatar
Amir MOHAMMADI committed
73
74
75
76
77
78
79
80
    BUILD_EGG: "true"
  artifacts:
    expire_in: 1 week
    paths:
      - _ci/
      - dist/*.zip
      - sphinx
      - ${CONDA_ROOT}/conda-bld/linux-64/*.tar.bz2
81
82


Tiago de Freitas Pereira's avatar
Tiago de Freitas Pereira committed
83
build_macosx_27:
Amir MOHAMMADI's avatar
Amir MOHAMMADI committed
84
85
  <<: *macosx_build_job
  variables:
Tiago de Freitas Pereira's avatar
Tiago de Freitas Pereira committed
86
    PYTHON_VERSION: "2.7"
Tiago de Freitas Pereira's avatar
Tiago de Freitas Pereira committed
87

Amir MOHAMMADI's avatar
Amir MOHAMMADI committed
88
89
90
91
92
93
94
95
96
97
98
99
100
101

build_macosx_36:
  <<: *macosx_build_job
  variables:
    PYTHON_VERSION: "3.6"


# Deploy targets
.deploy_template: &deploy_job
  stage: deploy
  before_script:
    - ./_ci/install.sh _ci condapackage #updates ci support scripts
  script:
    - ./_ci/deploy.sh
Tiago de Freitas Pereira's avatar
Tiago de Freitas Pereira committed
102
  dependencies:
Amir MOHAMMADI's avatar
Amir MOHAMMADI committed
103
104
    - build_linux_27
    - build_linux_36
Tiago de Freitas Pereira's avatar
Tiago de Freitas Pereira committed
105
    - build_macosx_27
Amir MOHAMMADI's avatar
Amir MOHAMMADI committed
106
    - build_macosx_36
Tiago de Freitas Pereira's avatar
Tiago de Freitas Pereira committed
107
  tags:
Amir MOHAMMADI's avatar
Amir MOHAMMADI committed
108
    - deployer
Tiago de Freitas Pereira's avatar
Tiago de Freitas Pereira committed
109
110


Amir MOHAMMADI's avatar
Amir MOHAMMADI committed
111
112
113
114
115
116
deploy_beta:
  <<: *deploy_job
  environment: beta
  only:
    - master
    - condapackage
Tiago de Freitas Pereira's avatar
Tiago de Freitas Pereira committed
117
118


Amir MOHAMMADI's avatar
Amir MOHAMMADI committed
119
120
121
122
123
124
125
deploy_stable:
  <<: *deploy_job
  environment: stable
  only:
    - /^v\d+\.\d+\.\d+([abc]\d*)?$/  # PEP-440 compliant version (tags)
  except:
    - branches
Tiago de Freitas Pereira's avatar
Tiago de Freitas Pereira committed
126
127


Amir MOHAMMADI's avatar
Amir MOHAMMADI committed
128
129
130
131
132
133
134
135
136
137
138
pypi:
  stage: pypi
  environment: pypi
  only:
    - /^v\d+\.\d+\.\d+([abc]\d*)?$/  # PEP-440 compliant version (tags)
  except:
    - branches
  before_script:
    - ./_ci/install.sh _ci condapackage #updates ci support scripts
  script:
    - ./_ci/pypi.sh
Tiago de Freitas Pereira's avatar
Tiago de Freitas Pereira committed
139
  dependencies:
Amir MOHAMMADI's avatar
Amir MOHAMMADI committed
140
    - build_linux_36
Tiago de Freitas Pereira's avatar
Tiago de Freitas Pereira committed
141
  tags:
Amir MOHAMMADI's avatar
Amir MOHAMMADI committed
142
    - deployer