Commit 0ae1e814 authored by André Anjos's avatar André Anjos 💬

[ci] Add CI support; Conda recipe

parent d0f789a0
Pipeline #25701 failed with stages
in 4 minutes and 7 seconds
# 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.
# Definition of global variables (all stages)
variables:
CONDA_ROOT: "${CI_PROJECT_DIR}/miniconda"
# Definition of our build pipeline order
stages:
- build
- deploy
- pypi
# Build targets
.build_template: &build_job
stage: build
before_script:
- mkdir _ci
- curl --silent "https://gitlab.idiap.ch/bob/bob.admin/raw/master/gitlab/install.sh" > _ci/install.sh
- chmod 755 _ci/install.sh
- ./_ci/install.sh _ci master #installs ci support scripts
- ./_ci/before_build.sh
script:
- ./_ci/build.sh
after_script:
- ./_ci/after_build.sh
cache: &build_caches
paths:
- miniconda.sh
- ${CONDA_ROOT}/pkgs/*.tar.bz2
- ${CONDA_ROOT}/pkgs/urls.txt
.build_linux_template: &linux_build_job
<<: *build_job
tags:
- 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"
.build_macosx_template: &macosx_build_job
<<: *build_job
tags:
- macosx
artifacts:
expire_in: 1 week
paths:
- _ci/
- ${CONDA_ROOT}/conda-bld/osx-64/*.tar.bz2
cache:
<<: *build_caches
key: "macosx-cache"
build_linux_36:
<<: *linux_build_job
variables:
PYTHON_VERSION: "3.6"
BUILD_EGG: "true"
artifacts:
expire_in: 1 week
paths:
- _ci/
- dist/*.zip
- sphinx
- ${CONDA_ROOT}/conda-bld/linux-64/*.tar.bz2
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 master #updates ci support scripts
script:
- ./_ci/deploy.sh
dependencies:
- build_linux_36
- build_macosx_36
tags:
- deployer
deploy_beta:
<<: *deploy_job
environment: beta
only:
- master
deploy_stable:
<<: *deploy_job
environment: stable
only:
- /^v\d+\.\d+\.\d+([abc]\d*)?$/ # PEP-440 compliant version (tags)
except:
- branches
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 master #updates ci support scripts
script:
- ./_ci/pypi.sh
dependencies:
- build_linux_36
tags:
- deployer
macos_min_version:
- 10.9
macos_machine:
- x86_64-apple-darwin13.4.0
MACOSX_DEPLOYMENT_TARGET:
- 10.9
CONDA_BUILD_SYSROOT: # [osx]
- /opt/MacOSX10.9.sdk # [osx]
# This helps CMAKE find the sysroot. See
# https://cmake.org/cmake/help/v3.11/variable/CMAKE_OSX_SYSROOT.html
SDKROOT: # [osx]
- /opt/MacOSX10.9.sdk # [osx]
# makes autotools verbose
VERBOSE_AT:
- V=1
# makes cmake verbose
VERBOSE_CM:
- VERBOSE=1
# the blas implementations that we build against
blas_impl:
- mkl
pin_run_as_build:
libboost:
max_pin: x.x.x
py_boost:
max_pin: x.x.x
boost:
max_pin: x.x.x
## the dependencies that we build against multiple versions
python:
- 3.6
zip_keys:
- # [win]
- vc # [win]
- c_compiler # [win]
- cxx_compiler # [win]
- fortran_compiler_version # [win]
- python # [win]
# Here is the version of dependencies are used when building packages (build
# and host requirements). We keep a list of **all of them** here to make sure
# everything goes as expected in our conda build process. For the version of
# packages that are used for testing packages, see the recipe of bob-devel.
# The version here do not necessarily match the versions in bob-devel.
# This version of bob-devel will be used at test time of packages:
bob_devel:
- 2018.12.29
# This version of beat-devel will be used at test time of packages. Notice it
# uses bob-devel and should have a version that is greater or equal its value
beat_devel:
- 2018.12.29
# The build time only dependencies (build requirements).
# Updating these to the latest version all the time is OK and a good idea.
# These versions should match the versions inside bob-devel as well (if they
# overlap) so update them in both places.
cmake:
- 3.12.2
pkg_config:
- 0.29.2
cython:
- 0.28.1
# The dependencies that we link against (host requirements).
# Ideally we want to build against the oldest possible version of packages when
# we are linking against them. It is best to keep this in sync with:
# https://github.com/AnacondaRecipes/aggregate/blob/master/conda_build_config.yaml
numpy:
- 1.14.5
boost:
- 1.65.1
cyvlfeat:
- 0.4.6
ffmpeg:
- 3.4
freetype:
- 2.8
giflib:
- 5.1.4
hdf5:
- 1.10.1
jpeg:
- 9b
libblitz:
- 1.0.1
libmatio:
- 1.5.11
libogg:
- 1.3.2
libpng:
- 1.6.35
libsvm:
- 3.22
libtiff:
- 4.0.9
mkl:
- 2018.0.3
openfst:
- 1.6.1
sox:
- 14.4.2
speex:
- 1.2.0
speexdsp:
- 1.2rc3
sqlite:
- 3.20.1
vlfeat:
- 0.9.21
xz:
- 5.2.3
zlib:
- 1.2.11
# The dependencies that are needed for runtime only (run requirements).
# These versions **should** match the versions inside bob-devel recipe.
caffe:
- 1.0
click:
- 6.7
click_plugins:
- 1.0.3
coverage:
- 4.5.1
dlib:
- 19.7
docopt:
- 0.6.2
jinja2:
- 2.10
kaldi:
- 2017.03.13
matplotlib:
- 2.2.3
menpo:
- 0.8.1
menpofit:
- 0.5.0
mne:
- 0.15.2
mr_developer:
- 1.38
nose:
- 1.3.7
opencv:
- 3.3.1
pillow:
- 5.2.0
pyedflib:
- 0.1.11
pytorch:
- 0.4.1
pyyaml:
- 3.13
requests:
- 2.19.1
schema:
- 0.6.7
scikit_image:
- 0.14
scikit_learn:
- 0.19.2
scipy:
- 1.1.0
setuptools:
- 40.2.0
six:
- 1.11.0
sphinx:
- 1.8.1
sphinx_rtd_theme:
- 0.4.1
sqlalchemy:
- 1.2.11
tabulate:
- 0.8.2
tensorflow:
- 1.9.0
torchvision:
- 0.2.1
zc_buildout:
- 2.12.2
zc_recipe_egg:
- 2.0.7
# The dependencies that are needed for runtime only (run requirements) of BEAT
# packages. These versions **should** match the versions inside beat-devel
# recipe.
docker_py:
- 3.6.0
jsonschema:
- 2.6.0
oset:
- 0.1.3
python_graphviz:
- 0.8.4
pyzmq:
- 17.1.2
simplejson:
- 3.16.0
termcolor:
- 1.1.0
sphinxcontrib_programoutput:
- 0.11
sphinxcontrib_httpdomain:
- 1.7.0
nodejs:
- 8.9.3
flask:
- 1.0.2
flask_cors:
- 3.0.7
flask_restful:
- 0.3.6
psycopg2:
- 2.7.6.1
{% set name = 'bob.devtools' %}
package:
name: {{ name }}
version: {{ environ.get('BOB_PACKAGE_VERSION', '0.0.1') }}
build:
entry_points:
- bdt = bob.devtools.scripts.bdt:main
number: {{ environ.get('BOB_BUILD_NUMBER', 0) }}
run_exports:
- {{ pin_subpackage(name) }}
script:
- cd {{ environ.get('RECIPE_DIR') + '/..' }}
{% if environ.get('BUILD_EGG') %}
- python setup.py sdist --formats=zip
{% endif %}
- python setup.py install --single-version-externally-managed --record record.txt
# installs the documentation source, readme and license to share/doc
- install -d ${PREFIX}/share/doc/{{ name }}
- install -m 644 -D README.rst ${PREFIX}/share/doc/{{ name }}
- install -m 644 -D LICENSE ${PREFIX}/share/doc/{{ name }}
- find doc -type f -exec install -Dm 644 "{}" "${PREFIX}/share/doc/{{ name }}/{}" \;
requirements:
host:
- python {{ python }}
- setuptools {{ setuptools }}
run:
- python
- setuptools
- click
- click-plugins
- conda-build
- pytz
- python-dateutil
- gitpython
- python-gitlab
- requests
test:
requires:
- sphinx
- sphinx_rtd_theme
imports:
- {{ name }}
commands:
- bdt -h
- bdt -?
- bdt --help
- bdt lasttag --help
- bdt changelog --help
- bdt release --help
- sphinx-build -aEW ${PREFIX}/share/doc/{{ name }}/doc {{ environ.get('RECIPE_DIR') + '/../sphinx' }}
about:
home: https://www.idiap.ch/software/bob/
license: BSD 3-Clause
summary: Tools for development and CI integration of Bob packages
license_family: BSD
......@@ -10,8 +10,9 @@ requires = [
'click',
'click-plugins',
'conda-build',
'python-gitlab',
'requests',
'gitpython',
'python-gitlab',
]
setup(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment