Skip to content

feat: modernize development tooling with uv dependency-groups and enhanced CI/CD

Ranjith Raj requested to merge dev-tools into develop

Comprehensive update to development tooling and CI/CD pipeline using modern Python packaging practices.

Features Added

  • UV Dependency Groups: Migrate to uv's native [dependency-groups] for dev dependencies, replacing optional-dependencies
  • Enhanced GitLab CI: Add workflow rules for MR/branch triggers, build stage, improved caching, and standardized job descriptions
  • Pre-commit Hooks: Add docker validation hooks (docker-compose config, docker build check) with fail-fast mode
  • Docker Improvements: Multi-stage Dockerfile build, healthchecks, standardized environment variables with sensible defaults

Dependencies

  • Added fastapi-cache and fastapi-pagination for API performance
  • Consolidated linting to ruff (replaces black + isort)

Documentation Updated

  • CONTRIBUTING.md and docs/INSTALLATION.md: Updated install commands to use uv sync --group dev

Testing

  • Verified uv sync --group dev works locally and in CI
  • Docker builds successfully with multi-stage setup
  • All CI jobs run without errors

Breaking Changes

  • Install command changed from uv pip install -e ".[dev]" to uv sync --group dev
Edited by Ranjith Raj

Merge request reports

Loading