schon/.gitlab-ci.yml
Egor fureunoir Gorbunov 04cba93ebb Features: 1) Add .gitlab-ci.yml with linting, type-checking, and testing stages using uv image; 2) Introduce .pre-commit-config.yaml with Ruff hooks for code quality enforcement;
Fixes: None;

Extra: Remove unused dependencies (`mypy`, `isort`, `celery-stubs`, etc.), update `uv.lock` with dependency changes, and upgrade versions for `debugpy`, `jupyterlab`, and `ruff`.
2025-12-15 20:19:00 +03:00

53 lines
No EOL
935 B
YAML

image: ghcr.io/astral-sh/uv:python3.12-bookworm
stages:
- lint
- typecheck
- test
variables:
UV_PYTHON: "3.12"
PIP_DISABLE_PIP_VERSION_CHECK: "1"
PYTHONDONTWRITEBYTECODE: "1"
before_script:
- uv sync -E linting
lint:
stage: lint
script:
- uv run ruff format --check .
- uv run ruff check --force-exclude .
rules:
- changes:
- "**/*.py"
- "pyproject.toml"
- ".pre-commit-config.yaml"
- "pyrightconfig.json"
when: on_success
- when: never
typecheck:
stage: typecheck
script:
- uv run pyright
rules:
- changes:
- "**/*.py"
- "pyproject.toml"
- "pyrightconfig.json"
when: on_success
- when: never
test:
stage: test
script:
- uv run pytest -q
rules:
- changes:
- "**/*.py"
- "pyproject.toml"
- "pytest.ini"
- "pyproject.toml"
when: on_success
- when: never