pyzebra/.gitlab-ci.yml

60 lines
1.4 KiB
YAML

stages:
- build
- deploy
- publish
- cleanup
workflow:
rules:
- if: $CI_COMMIT_TAG
variables:
BUILD_PATH: $CI_BUILDS_DIR/build-prod
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
variables:
BUILD_PATH: $CI_BUILDS_DIR/build-test
default:
before_script:
- source /opt/miniconda3/etc/profile.d/conda.sh
build-job:
stage: build
script:
- conda config --add channels conda-forge
- conda config --set solver libmamba
- conda build --no-anaconda-upload --output-folder $BUILD_PATH ./conda-recipe
deploy-test-job:
stage: deploy
environment: testing
rules:
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
script:
- conda activate test
- conda install $(conda build --output-folder $BUILD_PATH ./conda-recipe --output) --force-reinstall -y
- sudo systemctl restart pyzebra-test.service
deploy-prod-job:
stage: deploy
environment: production
rules:
- if: $CI_COMMIT_TAG
script:
- conda activate prod
- conda install $(conda build --output-folder $BUILD_PATH ./conda-recipe --output) -y
- sudo systemctl restart pyzebra-prod.service
publish-job:
stage: publish
rules:
- if: $CI_COMMIT_TAG
script:
- conda activate base
- anaconda --token $ANACONDA_TOKEN upload $(conda build --output-folder $BUILD_PATH ./conda-recipe --output)
cleanup-job:
stage: cleanup
script:
- rm -rf $BUILD_PATH
- conda build purge-all