Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
bob
bob.pad.base
Commits
3312b848
Commit
3312b848
authored
Sep 16, 2016
by
Pavel KORSHUNOV
Browse files
Added CI
parent
a634e545
Pipeline
#3756
failed with stage
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
.gitlab-ci.yml
0 → 100644
View file @
3312b848
# This build file is defined in two parts: 1) a generic set of instructions you
# probably **don't** need to change and 2) a part you may have to tune to your
# 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
stages
:
-
build
-
test
-
docs
-
wheels
# Global variables
variables
:
CONDA_PREFIX
:
env
# Template for the build stage
# Needs to run on all supported architectures, platforms and python versions
.build_template
:
&build_job
stage
:
build
before_script
:
-
git clean -ffdx
-
curl --silent https://gitlab.idiap.ch/bob/bob/snippets/7/raw | tr -d '\r' > bootstrap-conda.sh
-
chmod 755 ./bootstrap-conda.sh
-
./bootstrap-conda.sh ${CONDA_FOLDER} ${PYTHON_VER} ${CONDA_PREFIX}
variables
:
&build_variables
BOB_DOCUMENTATION_SERVER
:
"
http://www.idiap.ch/software/bob/docs/latest/bob/%s/master/"
script
:
-
./bin/buildout
-
./bin/sphinx-build doc sphinx
-
./bin/python setup.py bdist_wheel --python-tag ${WHEEL_TAG}
after_script
:
-
rm -rf ${CONDA_PREFIX}
artifacts
:
expire_in
:
1 day
paths
:
-
bootstrap-conda.sh
-
dist/
-
sphinx/
# 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
.test_template
:
&test_job
stage
:
test
before_script
:
-
./bootstrap-conda.sh ${CONDA_FOLDER} ${PYTHON_VER} ${CONDA_PREFIX}
-
source ${CONDA_FOLDER}/bin/activate ${CONDA_PREFIX}
-
pip install --use-wheel --no-index --pre dist/*.whl
script
:
-
cd ${CONDA_PREFIX}
-
python -c "from ${CI_PROJECT_NAME} import get_config; print(get_config())"
-
if [ -x ./bin/bob_dbmanage.py ]; then ./bin/bob_dbmanage.py all download --force; fi
-
coverage run --source=${CI_PROJECT_NAME} ./bin/nosetests -sv ${CI_PROJECT_NAME}
-
coverage report
-
sphinx-build -b doctest ../doc ../sphinx
after_script
:
-
rm -rf ${CONDA_PREFIX}
# Template for the wheel uploading stage
# 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
stage
:
wheels
only
:
-
master
-
tags
before_script
:
-
curl --silent https://gitlab.idiap.ch/bob/bob/snippets/8/raw | tr -d '\r' > upload-wheel.sh
-
chmod 755 upload-wheel.sh
script
:
-
./upload-wheel.sh
# Template for (latest) documentation upload stage
# Only one real job needs to do this
.docs_template
:
&docs_job
stage
:
docs
only
:
-
master
before_script
:
-
curl --silent https://gitlab.idiap.ch/bob/bob/snippets/9/raw | tr -d '\r' > upload-sphinx.sh
-
chmod 755 upload-sphinx.sh
script
:
-
./upload-sphinx.sh
# 2) Package specific instructions (you may tune this if needed)
# --------------------------------------------------------------
# Linux + Python 2.7: Builds, tests, uploads wheel
build_linux_27
:
<<
:
*linux_build_job
variables
:
&linux_27_build_variables
<<
:
*linux_build_variables
PYTHON_VER
:
"
2.7"
WHEEL_TAG
:
"
py27"
tags
:
-
conda-linux
test_linux_27
:
<<
:
*test_job
variables
:
*linux_27_build_variables
dependencies
:
-
build_linux_27
tags
:
-
conda-linux
wheels_linux_27
:
<<
:
*wheels_job
dependencies
:
-
build_linux_27
tags
:
-
conda-linux
# Linux + Python 3.4: Builds and tests
build_linux_34
:
<<
:
*linux_build_job
variables
:
&linux_34_build_variables
<<
:
*linux_build_variables
PYTHON_VER
:
"
3.4"
WHEEL_TAG
:
"
py3"
tags
:
-
conda-linux
test_linux_34
:
<<
:
*test_job
variables
:
*linux_34_build_variables
dependencies
:
-
build_linux_34
tags
:
-
conda-linux
# Linux + Python 3.5: Builds, tests, uploads wheel
build_linux_35
:
<<
:
*linux_build_job
variables
:
&linux_35_build_variables
<<
:
*linux_build_variables
PYTHON_VER
:
"
3.5"
WHEEL_TAG
:
"
py3"
tags
:
-
conda-linux
test_linux_35
:
<<
:
*test_job
variables
:
*linux_35_build_variables
dependencies
:
-
build_linux_35
tags
:
-
conda-linux
wheels_linux_35
:
<<
:
*wheels_job
dependencies
:
-
build_linux_35
tags
:
-
conda-linux
docs_linux_35
:
<<
:
*docs_job
dependencies
:
-
build_linux_35
tags
:
-
conda-linux
# Mac OSX + Python 2.7: Builds and tests
build_macosx_27
:
<<
:
*macosx_build_job
variables
:
&macosx_27_build_variables
<<
:
*macosx_build_variables
PYTHON_VER
:
"
2.7"
WHEEL_TAG
:
"
py27"
tags
:
-
conda-macosx
test_macosx_27
:
<<
:
*test_job
variables
:
*macosx_27_build_variables
dependencies
:
-
build_macosx_27
tags
:
-
conda-macosx
# Mac OSX + Python 3.4: Builds and tests
build_macosx_34
:
<<
:
*macosx_build_job
variables
:
&macosx_34_build_variables
<<
:
*macosx_build_variables
PYTHON_VER
:
"
3.4"
WHEEL_TAG
:
"
py3"
tags
:
-
conda-macosx
test_macosx_34
:
<<
:
*test_job
variables
:
*macosx_34_build_variables
dependencies
:
-
build_macosx_34
tags
:
-
conda-macosx
# Mac OSX + Python 3.5: Builds and tests
build_macosx_35
:
<<
:
*macosx_build_job
variables
:
&macosx_35_build_variables
<<
:
*macosx_build_variables
PYTHON_VER
:
"
3.5"
WHEEL_TAG
:
"
py3"
tags
:
-
conda-macosx
test_macosx_35
:
<<
:
*test_job
variables
:
*macosx_35_build_variables
dependencies
:
-
build_macosx_35
tags
:
-
conda-macosx
\ No newline at end of file
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment