style: ruff-format entity_mixin.py (CI format check) #19
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| workflow_dispatch: | |
| jobs: | |
| lint: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| - name: Install ruff | |
| run: pip install ruff | |
| - name: Lint | |
| run: ruff check liulian tests plugins | |
| - name: Format check | |
| run: ruff format --check liulian tests plugins | |
| test-core: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| python-version: ["3.10", "3.11", "3.12"] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install uv | |
| run: pip install uv | |
| - name: Install dependencies | |
| # torch extra is required because liulian.data.ts.timeseriesdataset | |
| # imports torch at module load. hpo extra because some adapters | |
| # import ray.tune at module load. | |
| run: uv pip install -e ".[dev,logging,torch,hpo]" --system | |
| - name: Run core tests | |
| run: pytest -v --cov=liulian --cov-report=term-missing tests/ --ignore=tests/test_integration.py --ignore=tests/e2e | |
| - name: Enforce minimum coverage | |
| run: pytest --cov=liulian --cov-fail-under=20 tests/ --ignore=tests/test_integration.py --ignore=tests/e2e | |
| test-torch: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| - name: Install uv | |
| run: pip install uv | |
| - name: Install dependencies (with torch) | |
| # `torch-models` isn't a defined extra — use the actual torch extra | |
| # plus hpo (search_spaces uses ray.tune). pandas is now in core deps. | |
| run: uv pip install -e ".[dev,logging,torch,hpo]" --system | |
| - name: Run all tests including integration | |
| # tests/e2e still has the upstream-derived layers gap; keep it | |
| # excluded here too until the e2e suite is rehabilitated. | |
| run: pytest -v tests/ --ignore=tests/e2e |