From 6b9d8e7bce6de0486ad3f1cbb07f2ea259ae016a Mon Sep 17 00:00:00 2001 From: Tiago Freitas Pereira <tiagofrepereira@gmail.com> Date: Mon, 17 Feb 2020 16:14:06 +0100 Subject: [PATCH] [ci] Accepting private packages TEMPORARILY --- .gitlab-ci.yml | 188 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 187 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 845b719f..392af94c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1 +1,187 @@ -include: 'https://gitlab.idiap.ch/bob/bob.devtools/raw/master/bob/devtools/data/gitlab-ci/single-package.yaml' +# This YAML file contains descriptions for the CI of most of our Bob/BEAT/BATL +# packages - do **not** modify it unless you know what you're doing (and up +# to!) + +# Definition of global variables (all stages) +variables: + PYTHONUNBUFFERED: "1" + CONDA_ROOT: "${CI_PROJECT_DIR}/miniconda" + BOOTSTRAP: "https://gitlab.idiap.ch/bob/bob.devtools/raw/master/bob/devtools/bootstrap.py" + + +# Definition of our build pipeline order +stages: + - build + - deploy + - pypi + + +# All stages are prepared the same, with a base set of commands +.bootstrap: + before_script: + - "[ -r /root/.condarc ] && rm -f /root/.condarc" + - "[ -d /root/.conda ] && rm -rf /root/.conda" + - curl --silent "${BOOTSTRAP}" --output "bootstrap.py" + - python3 bootstrap.py -vv channel base + - source ${CONDA_ROOT}/etc/profile.d/conda.sh + - conda activate base + cache: + paths: + - miniconda.sh + + +# Build targets +.build_template: + extends: .bootstrap + stage: build + script: + - bdt ci build -p -vv + - bdt ci clean -vv + artifacts: + expire_in: 1 week + + +.build_linux_template: + extends: .build_template + tags: + - docker + image: continuumio/conda-concourse-ci + artifacts: + paths: + - ${CONDA_ROOT}/conda-bld/linux-64/*.conda + - ${CONDA_ROOT}/conda-bld/linux-64/*.tar.bz2 + + +.build_macosx_template: + extends: .build_template + tags: + - macosx + artifacts: + paths: + - ${CONDA_ROOT}/conda-bld/osx-64/*.conda + - ${CONDA_ROOT}/conda-bld/osx-64/*.tar.bz2 + + +build_macosx_36: + extends: .build_macosx_template + variables: + PYTHON_VERSION: "3.6" + cache: + key: "build-py36" + +build_macosx_37: + extends: .build_macosx_template + variables: + PYTHON_VERSION: "3.7" + cache: + key: "build-py37" + +build_linux_36: + extends: .build_linux_template + variables: + PYTHON_VERSION: "3.6" + cache: + key: "build-py36" + +build_linux_37: + extends: .build_linux_template + variables: + PYTHON_VERSION: "3.7" + BUILD_EGG: "true" + script: + - bdt ci build -vv + - bdt ci readme -vv dist/*.zip + - bdt ci clean -vv + artifacts: + paths: + - dist/*.zip + - sphinx + - ${CONDA_ROOT}/conda-bld/linux-64/*.conda + - ${CONDA_ROOT}/conda-bld/linux-64/*.tar.bz2 + cache: + key: "build-py37" + + +# Test targets (not normally used) +.test_template: + extends: .bootstrap + stage: test + script: + - bdt ci test -vv + - bdt ci clean -vv + cache: + paths: + - miniconda.sh + + +.test_linux_template: + extends: .test_template + tags: + - docker + image: continuumio/conda-concourse-ci + + +.test_macosx_template: + extends: .test_template + tags: + - macosx + + +# Deploy targets +.deploy_template: + extends: .bootstrap + stage: deploy + script: + - bdt ci deploy -vv + - bdt ci clean -vv + dependencies: + - build_linux_36 + - build_macosx_36 + - build_linux_37 + - build_macosx_37 + tags: + - docker + cache: + paths: + - miniconda.sh + cache: + key: "deploy" + + +deploy_beta: + extends: .deploy_template + environment: beta + only: + - master + + +deploy_stable: + extends: .deploy_template + environment: stable + only: + - /^v\d+\.\d+\.\d+([abc]\d*)?$/ # PEP-440 compliant version (tags) + except: + - branches + + +pypi: + extends: .bootstrap + stage: pypi + environment: pypi + only: + - /^v\d+\.\d+\.\d+([abc]\d*)?$/ # PEP-440 compliant version (tags) + except: + - branches + script: + - bdt ci pypi -vv dist/*.zip + - bdt ci clean -vv + dependencies: + - build_linux_36 + - build_macosx_36 + - build_linux_37 + - build_macosx_37 + tags: + - docker + cache: + key: "pypi" + -- GitLab