anomalyOS / .github /workflows /ci_cd.yml
CaffeinatedCoding's picture
Upload folder using huggingface_hub
e72f783 verified
name: CI/CD Pipeline
on:
push:
branches: [main]
paths:
- "src/**"
- "api/**"
- "docker/**"
- "app.py"
- "requirements.txt"
workflow_dispatch:
jobs:
test-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install test dependencies only
run: |
pip install pytest fastapi httpx pydantic numpy pillow python-multipart
- name: Run pytest
run: PYTHONPATH=. pytest tests/test_api.py -v --tb=short
- name: Deploy to HuggingFace Spaces
env:
HF_TOKEN: ${{ secrets.HF_TOKEN }}
run: |
pip install huggingface_hub
python -c "
from huggingface_hub import HfApi
import os
api = HfApi(token=os.environ['HF_TOKEN'])
api.upload_folder(
folder_path='.',
repo_id='CaffeinatedCoding/anomalyos',
repo_type='space',
ignore_patterns=['*.pyc','__pycache__','.git','tests/','notebooks/','data/','models/','logs/','reports/']
)
print('Deployed to HF Spaces')
"
- name: Smoke test
run: |
sleep 60
curl --fail --retry 5 --retry-delay 30 \
https://caffeinatedcoding-anomalyos.hf.space/health || echo "Space still warming up"