Skip to content

Conversation

@efcaguab
Copy link

  • 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
Copilot AI review requested due to automatic review settings December 15, 2025 20:38
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 python commands 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'
@efcaguab efcaguab force-pushed the improve-docker-makefile-recipes branch from 9f33093 to c817bf3 Compare December 15, 2025 21:12
@efcaguab efcaguab closed this Dec 18, 2025
@efcaguab efcaguab deleted the improve-docker-makefile-recipes branch December 18, 2025 04:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants