Files
vault-dash/.forgejo/workflows/ci.yaml

75 lines
2.0 KiB
YAML

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
env:
PIP_CACHE_DIR: ${{ github.workspace }}/.cache/pip
PYTHONUNBUFFERED: "1"
jobs:
lint:
runs-on: [linux, docker]
container:
image: catthehacker/ubuntu:act-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install ruff black
- name: Run ruff
run: ruff check app tests scripts
- name: Run black
run: black --check app tests scripts
test:
runs-on: [linux, docker]
container:
image: catthehacker/ubuntu:act-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install dependencies
run: |
set -x
python -m pip install --upgrade pip
pip install pytest pytest-asyncio httpx
pip install nicegui fastapi uvicorn yfinance polars pandas pydantic pyyaml
pip list
- name: Run tests
run: pytest tests/test_pricing.py tests/test_strategies.py tests/test_portfolio.py -v --tb=short
type-check:
runs-on: [linux, docker]
container:
image: catthehacker/ubuntu:act-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install dependencies
run: |
set -x
python -m pip install --upgrade pip
pip install mypy
pip install nicegui fastapi uvicorn yfinance polars pandas pydantic pyyaml
pip list
- name: Show working directory
run: pwd && ls -la
- name: Run mypy
run: |
echo "Running mypy on core modules only..."
mypy app/core app/models app/strategies app/services --ignore-missing-imports