Newer
Older
# Definition of global variables (all stages)
variables:
PRE_COMMIT_HOME: "${CI_PROJECT_DIR}/.cache/pre-commit"
- if [[ $CI_RUNNER_TAGS == *"docker,"* ]]; then git config --global --add safe.directory ${CI_PROJECT_DIR}; fi
- python3 ./bob/devtools/bootstrap.py -vv build
- source ${CONDA_ROOT}/etc/profile.d/conda.sh
- conda activate base
# Definition of our build pipeline order
stages:
.build_template:
artifacts:
expire_in: 1 week
cache:
extends: .build_template
variables:
BUILD_EGG: "true"
image: quay.io/condaforge/linux-anvil-cos7-x86_64
- ${CONDA_ROOT}/conda-bld/linux-64/*.conda
- ${CONDA_ROOT}/conda-bld/noarch/*.conda
- ${CONDA_ROOT}/conda-bld/linux-64/*.tar.bz2
- ${CONDA_ROOT}/conda-bld/noarch/*.tar.bz2

Tiago de Freitas Pereira
committed
extends: .build_template
tags:

Tiago de Freitas Pereira
committed
- macos
- intel
artifacts:
paths:
- ${CONDA_ROOT}/conda-bld/osx-64/*.conda
- ${CONDA_ROOT}/conda-bld/osx-64/*.tar.bz2
cache:
key: "macos-intel-cache"
.build_macos_arm_template:
extends: .build_template
tags:
- macos
- arm
artifacts:
paths:
- ${CONDA_ROOT}/conda-bld/osx-arm64/*.conda
- ${CONDA_ROOT}/conda-bld/osx-arm64/*.tar.bz2
cache:
key: "macos-arm-cache"
code_quality:
tags:
- docker
stage: qa
image: quay.io/condaforge/linux-anvil-cos7-x86_64
cache:
key: "$CI_JOB_STAGE"
paths:
- ${PRE_COMMIT_HOME}
before_script:
- git config --global --add safe.directory ${CI_PROJECT_DIR}
script:
- sudo yum install -y git python3-pip
- pip3 install pre-commit
- pre-commit run --all-files --show-diff-on-failure
build_linux_bob_devel:
extends: .build_linux_template
variables:
# The version of cuda at Idiap
CONDA_OVERRIDE_CUDA: "11.6"
# run bob-devel test only when bob/devtools/data/conda_build_config.yaml changes
only:
changes:
- bob/devtools/data/conda_build_config.yaml
- sudo yum install -y mesa-libGL-devel # need this for pyopengl
- python3 ./bob/devtools/build.py -vv build-bob-devel
build_linux_deps:
extends: .build_linux_template
# run deps test only when deps changes
only:
changes:
- deps/**/*
script:
- python3 ./bob/devtools/build.py -vv build-deps
build_linux_bob_devtools:
extends: .build_linux_template
script:
- python3 ./bob/devtools/build.py -vv build-devtools --twine-check
build_macos_intel_bob_devel:
extends: .build_macos_intel_template
# run bob-devel test only when bob/devtools/data/conda_build_config.yaml changes
only:
changes:
- bob/devtools/data/conda_build_config.yaml
script:
- python3 ./bob/devtools/build.py -vv build-bob-devel
build_macos_arm_bob_devel:
extends: .build_macos_arm_template
# run bob-devel test only when bob/devtools/data/conda_build_config.yaml changes
only:
changes:
- bob/devtools/data/conda_build_config.yaml
script:
- python3 ./bob/devtools/build.py -vv build-bob-devel
build_macos_intel_deps:
extends: .build_macos_intel_template
# run deps test only when deps changes
only:
changes:
- deps/**/*
script:
- python3 ./bob/devtools/build.py -vv build-deps
build_macos_arm_deps:
extends: .build_macos_arm_template
# run deps test only when deps changes
only:
changes:
- deps/**/*
script:
- python3 ./bob/devtools/build.py -vv build-deps
build_macos_intel_bob_devtools:
extends: .build_macos_intel_template
script:
- python3 ./bob/devtools/build.py -vv build-devtools
build_macos_arm_bob_devtools:
extends: .build_macos_arm_template
script:
- python3 ./bob/devtools/build.py -vv build-devtools
.release_template:
before_script:
- python3 ./bob/devtools/bootstrap.py -vv local base
- conda activate base
after_script:
- python3 ./bob/devtools/bootstrap.py -vv local base
- source ${CONDA_ROOT}/etc/profile.d/conda.sh
- conda activate base
- build_linux_deps
- build_linux_bob_devtools
- build_macos_intel_deps
- build_macos_intel_bob_devtools
- build_macos_arm_bob_devel
- build_macos_arm_deps
- build_macos_arm_bob_devtools
.deploy_template:
extends: .release_template
stage: deploy
script:
- bdt ci base-deploy -vv
- bdt ci deploy -vv
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
extends: .release_template
stage: pypi
environment: pypi
only:
- /^v\d+\.\d+\.\d+([abc]\d*)?$/ # PEP-440 compliant version (tags)
except:
- branches
script: