Tags: ozelen/fithub
Tags
Fix Django configuration for pytest - Add Django setup in conftest.py before imports - Install pytest-django for proper Django test support - Configure DJANGO_SETTINGS_MODULE in conftest.py - Update pyproject.toml to use line-length 79 for black/isort - Fix import sorting in conftest.py - Tests now properly collect and run (56 tests found) - All pre-commit hooks now pass: pytest ✅, lint ✅, format ✅, security ✅
Add comprehensive authentication system with Django REST API and web … …endpoints - Add accounts app with user registration, login, and profile management - Implement both REST API and web-based authentication endpoints - Add CORS configuration for Cloudflare Workers integration - Create authentication templates and serializers - Add comprehensive documentation for chat integration - Configure Django settings for cross-origin requests - Support for both JWT and session-based authentication
ci: Configure GitHub Actions to run only on git tag pushes
- Modify ci.yml to trigger only on semantic version tags (v*.*.*)
- Create separate dev.yml workflow for development/testing on branch pushes and PRs
- Update Docker tagging strategy for tag-based releases
- Automatically update 'latest' tag on every release
- Separate release and development CI pipelines for better control
Release CI (ci.yml):
- Triggers: git tag push (v1.0.0, v2.1.3, etc.)
- Docker tags: latest, {version}, {major}.{minor}, {major}
- Full pipeline: lint → security → test → build → deploy
- Automatic 'latest' tag update
Development CI (dev.yml):
- Triggers: branch pushes (main, develop) and PRs
- Docker tags: main, develop, dev
- Pipeline: lint → security → test → build (main only)
- No deployment, testing only
Benefits:
- Clean separation between development and release workflows
- Automatic 'latest' tag management
- Semantic versioning support
- Reduced CI costs (no builds on every push)
- Better release control and traceability
Usage:
- Development: Push to branches for testing
- Release: git tag v1.0.0 && git push origin v1.0.0
docs: Extract CI pipeline into separate detailed architecture document - Create CI_PIPELINE.md with comprehensive CI/CD pipeline architecture - Add detailed 4-stage pipeline flow diagrams (C4 and flowchart styles) - Document all pipeline stages: Code Quality → Testing → Build → Deploy - Include job dependencies, quality gates, and execution metrics - Add technology stack details for CI/CD tools and configurations - Document security gates, testing infrastructure, and deployment strategy - Include monitoring, observability, and local development integration CI Pipeline Features: - 4-stage sequential pipeline with parallel Stage 1 jobs - Quality gates: linting, security, testing, build validation - Multi-platform Docker builds (linux/amd64, linux/arm64) - Conditional deployment (main branch only) - Comprehensive monitoring and rollback strategies - Local development integration with pre-commit hooks Updates: - Update C4_DEPLOYMENT.md to reference CI pipeline documentation - Update ARCHITECTURE.md to include CI pipeline architecture reference - Update README.md to include CI pipeline documentation link This separates deployment architecture from CI/CD pipeline architecture for better clarity and maintainability
Fix entrypoint script and Docker configuration - Fix Django settings module path from backend.settings to fithub.settings - Fix database environment variable mapping (POSTGRES_* instead of DATABASE_*) - Remove non-existent AppSetting model references - Fix ASGI/WSGI module references from backend.* to fithub.* - Remove Dockerfile CMD conflict with ENTRYPOINT - Add complete web service to docker-compose.yml with proper database connection - Add proper environment variables and volume mounting Resolves entrypoint script not running in Docker containers