Commit ee9408c5 authored by Tiago de Freitas Pereira's avatar Tiago de Freitas Pereira
Browse files

Changing gitlab ci script

parent c7759fb0
Pipeline #3961 passed with stages
in 14 minutes and 19 seconds
# This build file is defined in two parts: 1) a generic set of instructions you # This build file heavily uses template features from YAML so it is generic
# probably **don't** need to change and 2) a part you may have to tune to your # enough for any Bob project. Don't modify it unless you know what you're
# project. It heavily uses template features from YAML to help you in only # doing.
# changing a minimal part of it and avoid code duplication to a maximum while
# still providing a nice pipeline display on your package.
# 1) Generic instructions (only change if you know what you're doing)
# -------------------------------------------------------------------
# Definition of our build pipeline # Definition of our build pipeline
stages: stages:
- build - build
- test - test
- docs - docs
- wheels - wheels
- deploy
# Global variables # ---------
variables: # Templates
CONDA_PREFIX: env # ---------
# Template for the build stage # Template for the build stage
# Needs to run on all supported architectures, platforms and python versions # Needs to run on all supported architectures, platforms and python versions
...@@ -27,103 +22,98 @@ variables: ...@@ -27,103 +22,98 @@ variables:
stage: build stage: build
before_script: before_script:
- git clean -ffdx - git clean -ffdx
- curl --silent https://gitlab.idiap.ch/bob/bob/snippets/7/raw | tr -d '\r' > bootstrap-conda.sh - mkdir _ci
- chmod 755 ./bootstrap-conda.sh - curl --silent "https://gitlab.idiap.ch/bob/bob.admin/raw/master/gitlab/install.sh" > _ci/install.sh
- ./bootstrap-conda.sh ${CONDA_FOLDER} ${PYTHON_VER} ${CONDA_PREFIX} - chmod 755 _ci/install.sh
variables: &build_variables - ./_ci/install.sh _ci #updates
BOB_DOCUMENTATION_SERVER: "http://www.idiap.ch/software/bob/docs/latest/bob/%s/master/" - ./_ci/before_build.sh
script: script:
- BOB_PREFIX_PATH=${CONDA_FOLDER}/envs/`cat ${CONDA_FOLDER}/envs/latest-devel-${PYTHON_VER}.txt` ./bin/buildout - ./_ci/build.sh
- ./bin/sphinx-build doc sphinx
- ./bin/python setup.py bdist_wheel
after_script: after_script:
- rm -rf ${CONDA_PREFIX} - ./_ci/after_build.sh
artifacts: artifacts:
expire_in: 1 day expire_in: 1 week
paths: paths:
- bootstrap-conda.sh - _ci/
- dist/ - dist/
- sphinx/ - sphinx/
# Template for building on a Linux machine # Template for the test stage - re-installs from uploaded wheels
.build_linux_template: &linux_build_job
<<: *build_job
variables: &linux_build_variables
<<: *build_variables
CONDA_FOLDER: "/local/conda"
CFLAGS: "-D_GLIBCXX_USE_CXX11_ABI=0 -coverage"
CXXFLAGS: "-D_GLIBCXX_USE_CXX11_ABI=0 -coverage"
# Template for building on a Mac OSX machine
.build_mac_template: &macosx_build_job
<<: *build_job
variables: &macosx_build_variables
<<: *build_variables
CONDA_FOLDER: "/opt/conda"
MACOSX_DEPLOYMENT_TARGET: "10.9"
CFLAGS: "-pthread -coverage"
CXXFLAGS: "-pthread -coverage"
LDFLAGS: "-lpthread"
# Template for the test stage - re-install from uploaded wheels
# Needs to run on all supported architectures, platforms and python versions # Needs to run on all supported architectures, platforms and python versions
.test_template: &test_job .test_template: &test_job
stage: test stage: test
before_script: before_script:
- ./bootstrap-conda.sh ${CONDA_FOLDER} ${PYTHON_VER} ${CONDA_PREFIX} - ./_ci/install.sh _ci #updates
- source ${CONDA_FOLDER}/bin/activate ${CONDA_PREFIX} - ./_ci/before_test.sh
- pip install --use-wheel --no-index --pre dist/*.whl
script: script:
- cd ${CONDA_PREFIX} - ./_ci/test.sh
- python -c "from ${CI_PROJECT_NAME} import get_config; print(get_config())"
- coverage run --source=${CI_PROJECT_NAME} ./bin/nosetests -sv ${CI_PROJECT_NAME}
- coverage report
- sphinx-build -b doctest ../doc ../sphinx
after_script: after_script:
- rm -rf ${CONDA_PREFIX} - ./_ci/after_test.sh
# Template for the wheel uploading stage # Template for the wheel uploading stage
# Needs to run against one combination of python 2.x and 3.x if it is a python # Needs to run against all combinations of python and operating systems
# only package, otherwise, needs to run in both pythons to all supported
# architectures (Linux and Mac OSX 64-bit)
.wheels_template: &wheels_job .wheels_template: &wheels_job
stage: wheels stage: wheels
environment: intranet
only: only:
- master - master
- tags - /^v\d+\.\d+\.\d+([abc]\d*)?$/ # PEP-440 compliant version (tags)
before_script: before_script:
- curl --silent https://gitlab.idiap.ch/bob/bob/snippets/8/raw | tr -d '\r' > upload-wheel.sh - ./_ci/install.sh _ci #updates
- chmod 755 upload-wheel.sh - ./_ci/before_wheels.sh
script: script:
- ./upload-wheel.sh - ./_ci/wheels.sh
after_script:
- ./_ci/after_wheels.sh
# Template for (latest) documentation upload stage # Template for (latest) documentation upload stage
# Only one real job needs to do this # Only one real job needs to do this
.docs_template: &docs_job .docs_template: &docs_job
stage: docs stage: docs
environment: intranet
only: only:
- master - master
before_script: before_script:
- curl --silent https://gitlab.idiap.ch/bob/bob/snippets/9/raw | tr -d '\r' > upload-sphinx.sh - ./_ci/install.sh _ci #updates
- chmod 755 upload-sphinx.sh - ./_ci/before_docs.sh
script: script:
- ./upload-sphinx.sh - ./_ci/docs.sh
after_script:
- ./_ci/after_docs.sh
# 2) Package specific instructions (you may tune this if needed) # Template for the deployment stage - re-installs from uploaded wheels
# -------------------------------------------------------------- # Needs to run on a single architecture only
# Will deploy your package to PyPI and other required services
# Only runs for tags
.deploy_template: &deploy_job
stage: deploy
environment: internet
only:
- /^v\d+\.\d+\.\d+([abc]\d*)?$/ # PEP-440 compliant version (tags)
except:
- branches
before_script:
- ./_ci/install.sh _ci #updates
- ./_ci/before_deploy.sh
script:
- ./_ci/deploy.sh
after_script:
- ./_ci/after_deploy.sh
# Linux + Python 2.7: Builds and tests
# -------------
# Build Targets
# -------------
# Linux + Python 2.7: Builds, tests, uploads wheel and deploys (if needed)
build_linux_27: build_linux_27:
<<: *linux_build_job <<: *build_job
variables: &linux_27_build_variables variables: &linux_27_build_variables
<<: *linux_build_variables PYTHON_VERSION: "2.7"
PYTHON_VER: "2.7"
tags: tags:
- conda-linux - conda-linux
...@@ -137,6 +127,15 @@ test_linux_27: ...@@ -137,6 +127,15 @@ test_linux_27:
wheels_linux_27: wheels_linux_27:
<<: *wheels_job <<: *wheels_job
variables: *linux_27_build_variables
dependencies:
- build_linux_27
tags:
- conda-linux
deploy_linux_27:
<<: *deploy_job
variables: *linux_27_build_variables
dependencies: dependencies:
- build_linux_27 - build_linux_27
tags: tags:
...@@ -145,10 +144,9 @@ wheels_linux_27: ...@@ -145,10 +144,9 @@ wheels_linux_27:
# Linux + Python 3.4: Builds and tests # Linux + Python 3.4: Builds and tests
build_linux_34: build_linux_34:
<<: *linux_build_job <<: *build_job
variables: &linux_34_build_variables variables: &linux_34_build_variables
<<: *linux_build_variables PYTHON_VERSION: "3.4"
PYTHON_VER: "3.4"
tags: tags:
- conda-linux - conda-linux
...@@ -162,18 +160,18 @@ test_linux_34: ...@@ -162,18 +160,18 @@ test_linux_34:
wheels_linux_34: wheels_linux_34:
<<: *wheels_job <<: *wheels_job
variables: *linux_34_build_variables
dependencies: dependencies:
- build_linux_34 - build_linux_34
tags: tags:
- conda-linux - conda-linux
# Linux + Python 3.5: Builds and tests # Linux + Python 3.5: Builds, tests and uploads wheel
build_linux_35: build_linux_35:
<<: *linux_build_job <<: *build_job
variables: &linux_35_build_variables variables: &linux_35_build_variables
<<: *linux_build_variables PYTHON_VERSION: "3.5"
PYTHON_VER: "3.5"
tags: tags:
- conda-linux - conda-linux
...@@ -187,6 +185,7 @@ test_linux_35: ...@@ -187,6 +185,7 @@ test_linux_35:
wheels_linux_35: wheels_linux_35:
<<: *wheels_job <<: *wheels_job
variables: *linux_35_build_variables
dependencies: dependencies:
- build_linux_35 - build_linux_35
tags: tags:
...@@ -194,18 +193,18 @@ wheels_linux_35: ...@@ -194,18 +193,18 @@ wheels_linux_35:
docs_linux_35: docs_linux_35:
<<: *docs_job <<: *docs_job
variables: *linux_35_build_variables
dependencies: dependencies:
- build_linux_35 - build_linux_35
tags: tags:
- conda-linux - conda-linux
# Mac OSX + Python 2.7: Builds, tests and uploads the wheel # Mac OSX + Python 2.7: Builds and tests
build_macosx_27: build_macosx_27:
<<: *macosx_build_job <<: *build_job
variables: &macosx_27_build_variables variables: &macosx_27_build_variables
<<: *macosx_build_variables PYTHON_VERSION: "2.7"
PYTHON_VER: "2.7"
tags: tags:
- conda-macosx - conda-macosx
...@@ -219,6 +218,7 @@ test_macosx_27: ...@@ -219,6 +218,7 @@ test_macosx_27:
wheels_macosx_27: wheels_macosx_27:
<<: *wheels_job <<: *wheels_job
variables: *macosx_27_build_variables
dependencies: dependencies:
- build_macosx_27 - build_macosx_27
tags: tags:
...@@ -227,10 +227,9 @@ wheels_macosx_27: ...@@ -227,10 +227,9 @@ wheels_macosx_27:
# Mac OSX + Python 3.4: Builds and tests # Mac OSX + Python 3.4: Builds and tests
build_macosx_34: build_macosx_34:
<<: *macosx_build_job <<: *build_job
variables: &macosx_34_build_variables variables: &macosx_34_build_variables
<<: *macosx_build_variables PYTHON_VERSION: "3.4"
PYTHON_VER: "3.4"
tags: tags:
- conda-macosx - conda-macosx
...@@ -244,18 +243,18 @@ test_macosx_34: ...@@ -244,18 +243,18 @@ test_macosx_34:
wheels_macosx_34: wheels_macosx_34:
<<: *wheels_job <<: *wheels_job
variables: *macosx_34_build_variables
dependencies: dependencies:
- build_macosx_34 - build_macosx_34
tags: tags:
- conda-macosx - conda-macosx
# Mac OSX + Python 3.5: Builds, tests, uploads the wheel and the latest docs # Mac OSX + Python 3.5: Builds and tests
build_macosx_35: build_macosx_35:
<<: *macosx_build_job <<: *build_job
variables: &macosx_35_build_variables variables: &macosx_35_build_variables
<<: *macosx_build_variables PYTHON_VERSION: "3.5"
PYTHON_VER: "3.5"
tags: tags:
- conda-macosx - conda-macosx
...@@ -269,7 +268,8 @@ test_macosx_35: ...@@ -269,7 +268,8 @@ test_macosx_35:
wheels_macosx_35: wheels_macosx_35:
<<: *wheels_job <<: *wheels_job
variables: *macosx_35_build_variables
dependencies: dependencies:
- build_macosx_35 - build_macosx_35
tags: tags:
- conda-macosx - conda-macosx
\ No newline at end of file
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
.. image:: http://img.shields.io/badge/docs-stable-yellow.png .. image:: http://img.shields.io/badge/docs-stable-yellow.png
:target: http://pythonhosted.org/bob.learn.activation/index.html :target: http://pythonhosted.org/bob.learn.activation/index.html
.. image:: http://img.shields.io/badge/docs-latest-orange.png .. image:: http://img.shields.io/badge/docs-latest-orange.png
:target: https://www.idiap.ch/software/bob/docs/latest/bioidiap/bob.learn.activation/master/index.html :target: https://www.idiap.ch/software/bob/docs/latest/bob/bob.learn.activation/master/index.html
.. image:: https://gitlab.idiap.ch/bob/bob.learn.activation/badges/master/build.svg .. image:: https://gitlab.idiap.ch/bob/bob.learn.activation/badges/master/build.svg
:target: https://gitlab.idiap.ch/bob/bob.learn.activation/commits/master :target: https://gitlab.idiap.ch/bob/bob.learn.activation/commits/master
.. image:: https://img.shields.io/badge/gitlab-project-0000c0.svg .. image:: https://img.shields.io/badge/gitlab-project-0000c0.svg
......
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