stages: - build - deploy - publish - cleanup 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 ./conda-recipe deploy-test-job: stage: deploy environment: testing rules: - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH script: - conda activate test - conda install --use-local --force-reinstall pyzebra -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 --use-local pyzebra -y - sudo systemctl restart pyzebra-prod.service publish-job: stage: publish rules: - if: $CI_COMMIT_TAG script: - anaconda --token $ANACONDA_TOKEN upload $(conda build ./conda-recipe --output) cleanup-job: stage: cleanup script: - conda build purge-all