beAnalytic's picture
feat: sync main with feature/superbet-live-inplay
16c19b8 verified
Raw
History Blame Contribute Delete
2.29 kB
name: CI
on:
push:
branches: [main, master]
pull_request:
branches: [main, master]
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
cache: pip
- name: Install dependencies
run: pip install -e ".[dev]"
- name: Ruff check
run: ruff check .
test-and-benchmark:
runs-on: ubuntu-latest
timeout-minutes: 20
needs: lint
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
cache: pip
- name: Install dependencies
run: pip install -e ".[dev,ml]"
- name: Unit tests
run: pytest tests/ -q --tb=short
- name: Import fixtures (openfootball)
run: import-fixtures --competition brasileirao --seasons 2022 2023 2024
- name: Temporal benchmark (Brasileirão)
run: benchmark-bolao-models --eval-season 2024
- name: Upload benchmark report
if: always()
uses: actions/upload-artifact@v4
with:
name: brasileirao-benchmark-report
path: data/lake/reports/brasileirao_benchmark_report.json
if-no-files-found: ignore
retention-days: 14
wc-model:
runs-on: ubuntu-latest
timeout-minutes: 25
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
cache: pip
- name: Install dependencies
run: pip install -e ".[dev,ml]"
- name: WC unit tests
run: pytest tests/test_wc_squad_features.py tests/test_wc_group_standings.py tests/test_national_team_entities.py tests/test_wc_news_features.py -q --tb=short
- name: Import World Cup fixtures
run: import-world-cup --missing-only
- name: Walk-forward validation
run: walkforward-wc-models --max-editions 6 --min-season 1990
- name: Upload WC walk-forward report
if: always()
uses: actions/upload-artifact@v4
with:
name: wc-walkforward-report
path: data/lake/reports/wc_walkforward_report.json
if-no-files-found: ignore
retention-days: 14