fix: Improve Makefile Docker recipes and add optional UV support#10
Closed
fix: Improve Makefile Docker recipes and add optional UV support#10
Conversation
Contributor
efcaguab
commented
Dec 15, 2025
- Two main improvements: Package Manager Config + Docker Volume Management
- Backward compatible (UV is optional and for local development only)
- Add PYTHON variable pointing to venv python binary
- Add PIP variable defaulting to '${PYTHON} -m pip' for consistency
- Allow override with 'uv pip' for faster dependency management
- Update all recipes to use ${PYTHON} and ${PIP} variables
- Enables optional use of uv in local development without Docker
Documentation:
- Add UV package manager section to CONTRIBUTING.md
- Emphasize UV is for local development only, Docker uses pip by default
- Include installation instructions and usage examples
- Add docker-volume as dependency to docker-gcp, docker-ci-test, docker-shell, reqs, and reqs-upgrade - Replace 'make docker-volume' call with Make dependency in docker-gcp - Prevents 'external volume not found' errors when recipes run without volume creation - Users no longer need to manually run 'make docker-volume' first - Volume is automatically created when any docker-compose recipe is invoked
There was a problem hiding this comment.
Pull request overview
This PR enhances the Makefile with two key improvements: configurable package manager support and proper Docker volume dependency management. It introduces optional UV support for faster local development while maintaining pip as the default, and ensures all Docker-related targets properly depend on the docker-volume creation target.
- Adds PYTHON and PIP variables to enable configurable package manager (UV or pip)
- Updates all Docker targets to depend on docker-volume for proper initialization
- Changes hardcoded
pythoncommands to use variables for consistency
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| Makefile | Introduces PYTHON/PIP variables, adds docker-volume dependencies to all Docker targets, changes python to python3 for venv creation, updates all commands to use variable references instead of hardcoded python -m |
| CONTRIBUTING.md | Adds documentation section explaining optional UV usage for local development with installation instructions and usage examples |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Thin wrapper that calls Make recipes with venv PYTHON and PIP variables - Sets PYTHON=.venv/bin/python and PIP='.venv/bin/python -m pip' - Allows seamless local development without modifying Makefile - Docker and CI/CD continue using Makefile directly with system python - Default recipe is 'list' to show available commands - Example: 'just install', 'just test', 'just reqs'
9f33093 to
c817bf3
Compare
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.