Merged
Conversation
- Replace UV installation with standard pip approach in main Dockerfile - Remove pyproject.toml dependency and use requirements.txt instead - Fix multi-arch Docker build issues caused by UV not being available - Simplify container startup command to use direct uvicorn call - This resolves the 'uv: not found' error in CI Docker builds
… and workflows - Update all Dockerfiles to use UV for dependency management with proper PATH setup - Remove requirements.txt in favor of pyproject.toml across entire project - Update GitHub Actions workflows to install and use UV - Modify CI cache keys to use pyproject.toml instead of requirements.txt - Update Makefile and README to use UV commands - Disable legacy dependency-update workflow (replaced by UV's built-in features) - Ensure all Docker containers use UV venv for consistent Python environments This completes the full migration from pip to UV package manager while fixing the Docker build issues by properly installing UV in all container environments.
…tion - Fix UV installation in Dockerfile.ci and Dockerfile.pip by using full paths - Update all GitHub Actions workflows to use UV instead of pip - Update documentation files (TESTING.md, GITHUB_ACTIONS.md) to reference UV - Remove all references to requirements.txt across the codebase - Ensure all Docker builds work correctly with UV package manager This completes the migration from pip to UV for faster, more reliable builds.
- Use proper cargo env sourcing instead of manual PATH export - Add /root/.local/bin to PATH for UV installation - Remove full path references now that PATH is properly set
- Use multi-stage build with ghcr.io/astral-sh/uv:latest - Eliminate manual UV installation and PATH issues - Use UV sync for proper dependency management - Optimize build caching with mount cache - Cleaner separation between build and runtime stages
Add --no-build flag to avoid README.md validation during Docker build
- Remove complex multi-stage build that was causing issues - Install UV via pip which is simpler and more reliable - Keep all UV benefits without Docker complexity
Comment out readme field to avoid Docker build failures when README.md is missing
Use 'uv pip install -e .[test]' to install all test dependencies including pytest
- Create appuser before installing dependencies - Install UV packages as appuser so they're accessible - Fix pytest availability in CI container
Remove user switching in CI Dockerfile for simplicity and reliability
Point docker-compose.ci.yml to correct Dockerfile for CI testing
- Update test dependencies in pyproject.toml to match current versions - Remove requirements-dev.txt in favor of pyproject.toml optional dependencies - Fix pytest version conflict that prevented CI test installation
…nd install pytest - Migrate Dockerfile.ci to multi-stage build using official UV image - Add test dependencies installation with --extra test flag - Include detailed logging for pytest verification during build - Update CI test script with comprehensive debugging output - Add fallback pytest installation if not found in container - Set proper PATH environment variable for .venv/bin access
- Update uv.lock file using official PyPI to resolve download errors - Add gcc and python3-dev as build dependencies for psutil compilation - Implement fallback strategy for uv sync commands (locked -> unlocked) - Copy lock file before dependency installation to avoid mount issues - Update pytest from v7.4.4 to v8.4.1 and add pytest-mock These changes should resolve the pytest availability issue in CI.
…ronments - Replace python -m pip with uv pip in Dockerfile.ci verification steps - Update CI script to use uv pip list instead of python -m pip list - Fix manual pytest installation to use uv pip install instead of pip install - Resolves "No module named pip" error in uv-managed virtual environments UV virtual environments don't include pip by default, but uv provides pip commands.
- Copy /bin/uv from builder stage to final runtime stage - Resolves "uv: executable file not found" error in CI scripts - Enables uv pip commands to work in the running container - All CI tests now pass successfully The uv binary is needed in runtime for package management operations used in CI debugging and potential package installation.
- Update Dockerfile.pip to use multi-stage build with official UV image - Add proper PATH environment variable for .venv/bin access - Include build dependencies (gcc, python3-dev) for native extensions - Copy uv binary to runtime stage for package management - Update celery health check to use explicit .venv/bin path - Use direct python command instead of bash activation - Upgrade to Python 3.12 for consistency with CI This resolves "celery: executable file not found" errors in production by ensuring the virtual environment is properly accessible.
- Replace main Dockerfile with production-ready UV-based version - Update docker-compose.yml to use main Dockerfile instead of Dockerfile.pip - Maintain Dockerfile.ci for testing purposes with test dependencies - Remove confusion between Dockerfile.pip and main Dockerfile This creates a cleaner project structure: - Dockerfile: Main production build (UV-based, multi-stage) - Dockerfile.ci: CI/testing specific (includes test deps + pytest logging) All production services (app, celery-worker, celery-beat, flower) now use the unified main Dockerfile, simplifying maintenance and reducing duplication.
- Remove redundant standalone code-quality.yml workflow - Enhance CI/CD pipeline with comprehensive quality checks: * Add pylint and radon complexity analysis * Upgrade to Python 3.12 for consistency * Generate detailed reports with artifact uploads * Include pip-audit for additional security scanning - Update .github/workflows/README.md: * Remove references to deleted code-quality.yml * Document modern UV dependency management features * Update workflow descriptions and triggers * Add troubleshooting for UV-specific issues * Include multi-stage Docker build information This consolidation reduces maintenance overhead while providing more comprehensive quality checks in a single integrated pipeline. All code quality, security scanning, and complexity analysis is now handled within the main CI/CD workflow.
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.