pyzebra/.gitea/workflows/deploy.yaml
Ivan Usov c0567ab6c6
All checks were successful
pyzebra CI/CD pipeline / prepare (push) Successful in 1s
pyzebra CI/CD pipeline / test-env (push) Successful in 1m41s
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 15:39:39 +02:00

62 lines
1.7 KiB
YAML

name: pyzebra CI/CD pipeline
on:
push:
branches:
- main
tags:
- '*'
jobs:
prepare:
runs-on: pyzebra
steps:
- 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: Checkout repository
uses: actions/checkout@v4
- name: Build and deploy to testing
env:
BUILD_DIR: ${{ runner.temp }}/conda_build
run: |
source /opt/miniconda3/etc/profile.d/conda.sh
conda build --no-anaconda-upload --output-folder $BUILD_DIR ./conda-recipe
conda remove --name test --all --keep-env -y
conda install --name test --channel $BUILD_DIR python=3.8 pyzebra -y
sudo systemctl restart pyzebra-test.service
prod-env:
runs-on: pyzebra
needs: prepare
if: startsWith(github.ref, 'refs/tags/')
steps:
- name: Checkout repository
uses: actions/checkout@v4
- 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 remove --name prod --all --keep-env -y
conda install --name prod --use-local python=3.8 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
conda build purge-all