Skip to content

[FEAT] Support for categorical features #331

[FEAT] Support for categorical features

[FEAT] Support for categorical features #331

Workflow file for this run

name: pytest
on:
push:
branches: [main]
paths-ignore:
- 'timegpt-docs/**'
pull_request:
branches: [main]
paths-ignore:
- 'timegpt-docs/**'
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
NIXTLA_API_KEY: ${{ secrets.NIXTLA_DEV_API_KEY }}
NIXTLA_BASE_URL: ${{ secrets.NIXTLA_DEV_BASE_URL }}
NIXTLA_API_KEY_CUSTOM: ${{ secrets.NIXTLA_API_KEY_CUSTOM }}
NIXTLA_BASE_URL_CUSTOM: ${{ secrets.NIXTLA_BASE_URL_CUSTOM }}
NIXTLA_API_KEY_FOR_SF: ${{ secrets.NIXTLA_API_KEY_FOR_SF }}
API_KEY_FRED: ${{ secrets.API_KEY_FRED }}
# Snowflake credentials for integration tests
SF_ACCOUNT: ${{ secrets.SF_ACCOUNT }}
SF_USER: ${{ secrets.SF_USER }}
SF_PASSWORD: ${{ secrets.SF_PASSWORD }}
SF_WAREHOUSE: ${{ secrets.SF_WAREHOUSE }}
SF_ROLE: ${{ secrets.SF_ROLE }}
jobs:
run-tests:
runs-on: ${{ matrix.os }}
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
os: [macos-14, nixtla-linux-large-public, windows-latest]
python-version: ["3.10", "3.11"]
# windows python 3.13 can't install pyreadr
# TODO: in 3.12, it doesn't support ray<=2.20
steps:
- name: Clone repo
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup uv
uses: astral-sh/setup-uv@v7
with:
enable-cache: true
cache-dependency-glob: "pyproject.toml"
python-version: ${{ matrix.python-version }}
- name: Setup devenv
run: >
make devenv
- name: Cleanup old finetuned models
run: >
uv run python scripts/cleanup_finetuned_models.py --older-than 60
continue-on-error: true
- name: Run tests (Linux Python 3.11)
if: runner.os == 'Linux' && matrix.python-version == '3.11'
env:
# Required for distributed tests: Ray/Spark spawn worker processes
# that need to locate the correct Python environment
UV_PROJECT_ENVIRONMENT: ${{ github.workspace }}/.venv
run: uv run pytest --cov=nixtla --reruns 3 --reruns-delay 10 --only-rerun ConnectError --only-rerun "Too Many Requests" --only-rerun "Internal server error" nixtla_tests
- name: Run tests (not Linux Python 3.11)
if: runner.os != 'Linux' || matrix.python-version != '3.11'
run: uv run pytest --cov=nixtla -m "not distributed_run" --reruns 3 --reruns-delay 10 --only-rerun ConnectError --only-rerun "Too Many Requests" --only-rerun "Internal server error" nixtla_tests