.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