Skip to content

Conversation

@javidahmed64592
Copy link
Owner

This pull request introduces significant improvements to the build, packaging, and deployment process for the Python Template Server. The main changes include restructuring the Docker and Compose setup for better monitoring integration, adding a dedicated build and verification workflow, and enhancing package management and CI/CD practices. Additionally, there are updates to dependencies and project documentation for clarity and maintainability.

Build and Packaging Improvements:

  • Added a new build.yml workflow for building and verifying the Python package wheel, including steps to inspect and validate the installed package structure in site-packages.
  • Updated the Dockerfile to include grafana and prometheus directories in the build artifact, improved the startup script to handle monitoring config setup, and simplified user management for container execution.
  • Updated .dockerignore to no longer exclude grafana/, prometheus/, and postman/ directories, ensuring monitoring configs are included in the build.

Docker Compose and Monitoring Integration:

  • Refactored docker-compose.yml to use named volumes for certificates, logs, and monitoring configs, and to mount monitoring configs for Prometheus and Grafana from a shared volume, enabling runtime configuration sharing and persistence. [1] [2] [3]
  • Updated Prometheus config to use /api/metrics and correct service label, improving integration with the backend.

CI/CD and Workflow Enhancements:

  • Renamed the test job in ci.yml from test to pytest and clarified artifact naming for backend coverage.
  • Updated the Docker workflow to consolidate development and production jobs into a single build job, removed redundant setup steps, and ensured full cleanup after tests. [1] [2]
  • Improved the custom Python setup GitHub action to use uv venv for creating virtual environments instead of syncing dependencies directly. [1] [2]

Dependency and Documentation Updates:

  • Bumped core and dev dependencies in pyproject.toml for improved compatibility and security, and included grafana/ and prometheus/ in the package manifest. [1] [2] [3]
  • Updated badges in README.md to reflect the new build workflow.
  • Revised docs/WORKFLOWS.md to document the new build and Docker workflows, including job breakdowns and verification steps. [1] [2]

Summary of Most Important Changes:

Build and Packaging:

  • Added a dedicated build.yml workflow for building and verifying the Python package wheel, with detailed structure checks.
  • Updated Dockerfile to include monitoring configs and improved startup/init logic for better deployment and monitoring support.
  • Ensured monitoring directories are included in the build by updating .dockerignore.

Docker Compose & Monitoring:

  • Refactored docker-compose.yml to use named volumes and mount monitoring configs for Prometheus and Grafana, improving runtime flexibility and persistence. [1] [2] [3]
  • Updated Prometheus configuration to align with new backend endpoints and labels.

CI/CD Improvements:

  • Consolidated Docker workflow jobs and improved cleanup, and enhanced Python setup action for better environment isolation. [1] [2] [3] [4]

Dependency and Documentation:

  • Upgraded dependencies and updated documentation to reflect new workflows and structure. [1] [2] [3] [4] [5] [6]

@javidahmed64592 javidahmed64592 merged commit f14d36c into main Dec 17, 2025
10 checks passed
@javidahmed64592 javidahmed64592 deleted the minor-updates branch December 17, 2025 23:49
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