Triggers: Push to main/develop, Pull requests Runtime: ~1.5 minutes (3 Python versions × 30 seconds) What it does:
- Installs dependencies with uv (10x faster!)
- Lints code with ruff
- Runs tests with pytest
- Uploads coverage
Triggers: Changes to API/model/data code Runtime: ~1 minute What it does:
- Starts FastAPI server
- Tests all endpoints
- Validates OpenAPI spec
- Ensures API functionality
Triggers: Manual or weekly schedule Runtime: ~5 minutes (CPU), ~30 min (GPU if enabled) What it does:
- Trains nutrient deficiency model
- Saves trained models as artifacts
- Can extend to GCP GPU training
Triggers: Git tags (v1.0.0, etc.) Runtime: ~2 minutes What it does:
- Builds Python package
- Creates GitHub release
- Can publish to PyPI (when ready)
Schedule: Weekly What it does:
- Checks for outdated dependencies
- Opens PRs automatically
- Keeps project up-to-date
cd c:\Projects\open-source\dirghayu
git remote add origin https://github.com/YOUR_USERNAME/dirghayu.git
git push -u origin main- Go to repository → Settings → Actions
- Enable "Allow all actions and reusable workflows"
For GCP GPU training (optional):
- Settings → Secrets → Actions → New repository secret
- Name:
GCP_SA_KEY - Value: [GCP service account JSON]
- Go to Actions tab
- See workflows running automatically!
With uv (already configured):
- CI runtime: 1.5 min (vs 12 min with pip)
- 10.5 minutes saved per commit
- FREE if public repo anyway!
Add to your README.md:
[](https://github.com/YOUR_USERNAME/dirghayu/actions)See: docs/github_actions_setup.md for detailed documentation.