# This build file uses template features from YAML so it is generic enough for # any Bob project. Don't modify it unless you know what you're doing. # Definition of global variables (all stages) variables: CONDA_ROOT: "${CI_PROJECT_DIR}/miniconda" DOCKER_REGISTRY: docker.idiap.ch TEST_PREFIX_PATH_FILE: 'test_prefix_$CI_JOB_ID.txt' # Definition of our build pipeline order stages: - build - deploy - pypi # Build targets .build_template: &build_job stage: build before_script: - mkdir _ci - curl --silent "https://gitlab.idiap.ch/bob/bob.admin/raw/master/gitlab/install.sh" > _ci/install.sh - chmod 755 _ci/install.sh - ./_ci/install.sh _ci master #installs ci support scripts - ./_ci/before_build.sh - docker info - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN docker.idiap.ch - export BEAT_TEST_PREFIX=`mktemp -d --tmpdir=/var/tmp beat_test_prefix.XXXXXXXXX` - echo $BEAT_TEST_PREFIX > $TEST_PREFIX_PATH_FILE - ./scripts/before_build.sh script: - ./scripts/build.sh after_script: - ./scripts/after_build.sh - ./_ci/after_build.sh cache: &build_caches paths: - miniconda.sh - ${CONDA_ROOT}/pkgs/*.tar.bz2 - ${CONDA_ROOT}/pkgs/urls.txt .build_linux_template: &linux_build_job <<: *build_job tags: - docker-build cache: <<: *build_caches key: "linux-cache" build_linux_36: <<: *linux_build_job variables: PYTHON_VERSION: "3.6" except: - /^v\d+\.\d+\.\d+([abc]\d*)?$/ # PEP-440 compliant version (tags) artifacts: expire_in: 1 week paths: - _ci/ - dist/*.zip - sphinx # Deploy targets .deploy_template: &deploy_job stage: deploy before_script: - ./_ci/install.sh _ci master #updates ci support scripts script: - ./_ci/deploy.sh dependencies: - build_linux_36 tags: - deployer deploy_beta: <<: *deploy_job environment: beta only: - master deploy_stable: <<: *deploy_job environment: stable only: - /^v\d+\.\d+\.\d+([abc]\d*)?$/ # PEP-440 compliant version (tags) except: - branches pypi: stage: pypi environment: pypi only: - /^v\d+\.\d+\.\d+([abc]\d*)?$/ # PEP-440 compliant version (tags) except: - branches before_script: - ./_ci/install.sh _ci master #updates ci support scripts script: - ./_ci/pypi.sh dependencies: - build_linux_36 tags: - deployer