pyzebra/.gitea/workflows/deploy.yaml
Ivan Usov db739a792f
Some checks failed
pyzebra CI/CD pipeline / prepare (push) Successful in 3s
pyzebra CI/CD pipeline / test-env (push) Failing after 41s
pyzebra CI/CD pipeline / prod-env (push) Has been skipped
pyzebra CI/CD pipeline / cleanup (push) Successful in 1s
Replace gitlab with gitea workflow
2025-04-08 13:57:18 +02:00

59 lines
1.5 KiB
YAML

name: pyzebra CI/CD pipeline
on:
push:
branches:
- main
tags:
- '*'
env:
TEST_BUILD_DIR: ${{ runner.temp }}/build-test
jobs:
prepare:
runs-on: pyzebra
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Conda
run: |
source /opt/miniconda3/etc/profile.d/conda.sh
conda config --add channels conda-forge
conda config --set solver libmamba
test-env:
runs-on: pyzebra
needs: prepare
if: github.ref == 'refs/heads/main'
steps:
- name: Build and deploy to testing
run: |
source /opt/miniconda3/etc/profile.d/conda.sh
conda build --no-anaconda-upload --output-folder $TEST_BUILD_DIR ./conda-recipe
conda install --name test --channel $TEST_BUILD_DIR --force-reinstall pyzebra -y
sudo systemctl restart pyzebra-test.service
prod-env:
runs-on: pyzebra
needs: prepare
if: startsWith(github.ref, 'refs/tags/')
steps:
- name: Build, upload and deploy to production
run: |
source /opt/miniconda3/etc/profile.d/conda.sh
conda build --token ${{ secrets.ANACONDA_TOKEN }} ./conda-recipe
conda install --name prod --use-local pyzebra -y
sudo systemctl restart pyzebra-prod.service
cleanup:
runs-on: pyzebra
needs: [test-env, prod-env]
if: always()
steps:
- name: Cleanup
run: |
source /opt/miniconda3/etc/profile.d/conda.sh
rm -rf $TEST_BUILD_DIR
conda build purge-all