refactor: split Dockerfiles into prod and dev files #95
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.
This pull request introduces significant improvements to the development and build workflows for both the backend services and Python libraries. The main changes include a clearer separation between development and production Docker builds, enhanced configuration for local development via Tilt, and improved dependency management and testing setup for Python libraries. These updates streamline live development, testing, and linting processes, making them more reliable and easier to maintain.
Build and workflow improvements:
Tiltfile
, allowing dynamic switching betweenDockerfile.dev
(for live code updates and fast iteration) and productionDockerfile
(for optimized builds). Also updated Docker ignore lists for more targeted builds. [1] [2] [3] [4] [5] [6] [7]Dockerfile.dev
for service builds during linting and testing, removed unnecessary build arguments, and set Python version to 3.13 for consistency. [1] [2] [3] [4]Python library dependency and testing enhancements:
test
,lint
, anddev
dependencies, addedsetuptools <80.9
for compatibility, and updated library versions. Also improvedpytest
configuration for better logging and path setup. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]Docker build improvements for Python libraries:
libs/Dockerfile
to use Poetry 2.1.3, improved conditional installation logic for dev/test/lint dependencies, and ensured correct installation of shared dependencies for interdependent libraries.Frontend workflow fixes:
npm install
runs before frontend linting and testing in Tilt, and expanded dependency tracking for these local resources. [1] [2]Dependency version updates:
fasttext
to a stable release and updating internal library versions to 2.2.1. [1] [2] [3] [4]Let me know if you want to walk through any of these changes in detail or discuss how they impact your local development workflow!