Reverted to the old ci

parent d91631ef
Pipeline #4167 failed with stages
in 3 minutes and 41 seconds
# This build file heavily uses template features from YAML so it is generic # This build file is defined in two parts: 1) a generic set of instructions you
# enough for any Bob project. Don't modify it unless you know what you're # probably **don't** need to change and 2) a part you may have to tune to your
# doing. # project. It heavily uses template features from YAML to help you in only
# 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
# Templates variables:
# --------- 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
...@@ -22,101 +27,112 @@ stages: ...@@ -22,101 +27,112 @@ stages:
stage: build stage: build
before_script: before_script:
- git clean -ffdx - git clean -ffdx
- mkdir _ci - curl --silent https://gitlab.idiap.ch/bob/bob/snippets/7/raw | tr -d '\r' > bootstrap-conda.sh
- curl --silent "https://gitlab.idiap.ch/bob/bob.admin/raw/master/gitlab/install.sh" > _ci/install.sh - chmod 755 ./bootstrap-conda.sh
- chmod 755 _ci/install.sh - ./bootstrap-conda.sh ${CONDA_FOLDER} ${PYTHON_VER} ${CONDA_PREFIX}
- ./_ci/install.sh _ci #updates variables: &build_variables
- ./_ci/before_build.sh BOB_DOCUMENTATION_SERVER: "http://www.idiap.ch/software/bob/docs/latest/bob/%s/master/"
script: script:
- cp build.sh ./_ci
- ./_ci/build.sh - ./bin/buildout -c buildout-before-patch.cfg
- wget https://www.idiap.ch/software/bob/databases/latest/PythonFaceEvaluation.tar.bz2
- mkdir PythonFaceEvaluation
- tar -xjf PythonFaceEvaluation.tar.bz2 -C PythonFaceEvaluation
- ./bin/patch_CSU.py PythonFaceEvaluation
- ./bin/buildout buildout:csu-dir=./PythonFaceEvaluation
- if [ -x ./bin/bob_dbmanage.py ]; then ./bin/bob_dbmanage.py all download --force; fi
- ./bin/sphinx-build doc sphinx
- ./bin/python setup.py bdist_wheel --python-tag ${WHEEL_TAG}
after_script: after_script:
- ./_ci/after_build.sh - rm -rf ${CONDA_PREFIX}
artifacts: artifacts:
expire_in: 1 week expire_in: 1 day
paths: paths:
- _ci/ - bootstrap-conda.sh
- dist/ - dist/
- sphinx/ - sphinx/
- PythonFaceEvaluation/ - PythonFaceEvaluation/
# Template for the test stage - re-installs from uploaded wheels # Template for building on a Linux machine
.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:
- ./_ci/install.sh _ci #updates - ./bootstrap-conda.sh ${CONDA_FOLDER} ${PYTHON_VER} ${CONDA_PREFIX}
- ./_ci/before_test.sh - source ${CONDA_FOLDER}/bin/activate ${CONDA_PREFIX}
- conda install --yes -c conda-forge -p ${CONDA_PREFIX} opencv==2.4.12
- pip install --use-wheel --no-index --pre dist/*.whl
script: script:
- cp test.sh ./_ci - 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:
- ./_ci/after_test.sh - rm -rf ${CONDA_PREFIX}
# Template for the wheel uploading stage # Template for the wheel uploading stage
# Needs to run against one supported architecture, platform and python version # Needs to run against one combination of python 2.x and 3.x if it is a python
# 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
- /^v\d+\.\d+\.\d+([abc]\d*)?$/ # PEP-440 compliant version (tags) - tags
before_script: before_script:
- ./_ci/install.sh _ci #updates - curl --silent https://gitlab.idiap.ch/bob/bob/snippets/8/raw | tr -d '\r' > upload-wheel.sh
- ./_ci/before_wheels.sh - chmod 755 upload-wheel.sh
script: script:
- ./_ci/wheels.sh - ./upload-wheel.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:
- ./_ci/install.sh _ci #updates - curl --silent https://gitlab.idiap.ch/bob/bob/snippets/9/raw | tr -d '\r' > upload-sphinx.sh
- ./_ci/before_docs.sh - chmod 755 upload-sphinx.sh
script:
- ./_ci/docs.sh
after_script:
- ./_ci/after_docs.sh
# 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: script:
- ./_ci/deploy.sh - ./upload-sphinx.sh
after_script:
- ./_ci/after_deploy.sh
# ------------- # 2) Package specific instructions (you may tune this if needed)
# Build Targets # --------------------------------------------------------------
# -------------
# Linux + Python 2.7: Builds, tests, uploads wheel and deploys (if needed) # Linux + Python 2.7: Builds, tests, uploads wheel
build_linux_27: build_linux_27:
<<: *build_job <<: *linux_build_job
variables: &linux_27_build_variables variables: &linux_27_build_variables
PYTHON_VERSION: "2.7" <<: *linux_build_variables
PYTHON_VER: "2.7"
WHEEL_TAG: "py27" WHEEL_TAG: "py27"
tags: tags:
- conda-linux - conda-linux
...@@ -129,25 +145,15 @@ test_linux_27: ...@@ -129,25 +145,15 @@ test_linux_27:
tags: tags:
- conda-linux - conda-linux
wheels_linux_27: docs_linux_27:
<<: *wheels_job <<: *docs_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:
- conda-linux - conda-linux
docs_linux_27: wheels_linux_27:
<<: *docs_job <<: *wheels_job
variables: *linux_27_build_variables
dependencies: dependencies:
- build_linux_27 - build_linux_27
tags: tags:
......
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