Commit Graph

188 Commits

Author SHA1 Message Date
2ca361ccd9 🔧 chore: align Gitea workflow with local CI/CD script
- Add go mod tidy step to match local script
- Execute build.sh script in Docker Compose container
- Maintain consistent build process between local and CI
- Ensure Docker cache compatibility

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-04-07 23:18:22 +02:00
02674dfb50 feat: migrate to Docker Compose for build cache management
- Replace docker run commands with docker compose
- Use separate docker-compose.build.yml for build cache
- Maintain PostgreSQL service with Docker Compose
- Ensure consistent container networking

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-04-07 23:15:26 +02:00
4848becbdc 🐛 fix: set working directory directly in Docker command instead of using cd 2026-04-07 22:30:05 +02:00
b562cad09d 🤖 ci: final trigger attempt
Some checks failed
CI/CD Pipeline / Build Docker Cache (push) Successful in 9s
CI/CD Pipeline / CI Pipeline (push) Failing after 39s
2026-04-07 19:33:27 +02:00
89024c5793 🐛 fix: correct Docker Swagger generation command to match native approach 2026-04-07 19:29:02 +02:00
705230c3ef 🤖 ci: trigger workflow again
Some checks failed
CI/CD Pipeline / Build Docker Cache (push) Successful in 8s
CI/CD Pipeline / CI Pipeline (push) Failing after 45s
2026-04-07 19:25:41 +02:00
2d0546c68e 🐛 fix: add missing closing quote in Docker Swagger generation command 2026-04-07 19:24:54 +02:00
5460b7f43c 🤖 ci: trigger workflow manually
Some checks failed
CI/CD Pipeline / Build Docker Cache (push) Successful in 9s
CI/CD Pipeline / CI Pipeline (push) Failing after 1m0s
2026-04-07 19:22:24 +02:00
53bdd9579f feat: add PostgreSQL service support for BDD tests in CI/CD 2026-04-07 19:19:53 +02:00
4604ce7caa 🐛 fix: remove syntax error from Docker Swagger generation command 2026-04-07 19:16:40 +02:00
52065c9cf3 refactor: convert all DanceLessonsCoach mentions to kebab-case
Some checks failed
CI/CD Pipeline / Build Docker Cache (push) Successful in 10s
CI/CD Pipeline / CI Pipeline (push) Failing after 13s
2026-04-07 19:11:39 +02:00
7f32a113db 🐛 fix: ensure clean BDD database creation between test runs
Some checks failed
CI/CD Pipeline / Build Docker Cache (push) Successful in 3m26s
CI/CD Pipeline / CI Pipeline (push) Failing after 1m32s
- Add DROP DATABASE IF EXISTS before creating BDD test database

- Prevents errors when database already exists from previous runs

- Ensures clean test environment for each run

Generated by Mistral Vibe.

Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-04-07 18:22:26 +02:00
a98656445f ♻️ refactor: organize BDD steps by domain with JWT implementation
- Split steps into domain-specific files:

  - greet_steps.go: Greet API steps

  - health_steps.go: Health check steps

  - auth_steps.go: Authentication steps with full JWT implementation

  - common_steps.go: Shared validation steps

- Add comprehensive README.md for steps organization

- Implement all TODO items in auth_steps:

  - JWT claims verification for admin

  - JWT token validation and parsing

  - User ID extraction from tokens

  - Token comparison for consecutive authentications

- Update main steps.go to register all domain steps

Generated by Mistral Vibe.

Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-04-07 18:22:13 +02:00
f39a0df338 🧪 test: add JWT edge case scenarios with validation endpoint
- Add expired JWT token scenario

- Add wrong secret JWT token scenario

- Add malformed JWT token scenario

- Implement /api/v1/auth/validate endpoint

- Add JWT parsing and validation to BDD steps

Generated by Mistral Vibe.

Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-04-07 18:21:56 +02:00
81e0afe1c7 📝 docs: add ADR 0019 for PostgreSQL integration\n\nAdd Architecture Decision Record for migrating from SQLite to PostgreSQL.\nThis ADR documents the direct PostgreSQL implementation approach since\nthere are no existing users or production data.\n\nKey aspects covered:\n- Direct PostgreSQL implementation (no migration needed)\n- Graceful shutdown integration\n- Readiness endpoint enhancement\n- BDD testing strategy with temporary databases\n- Configuration management\n\nGenerated by Mistral Vibe.\nCo-Authored-By: Mistral Vibe <vibe@mistral.ai> 2026-04-07 14:14:39 +02:00
3cfa447a5a 🗑️ chore: remove unused files and update ADR with cleanup information
Some checks failed
CI/CD Pipeline / Build Docker Cache (push) Successful in 14s
CI/CD Pipeline / CI Pipeline (push) Failing after 27s
2026-04-07 13:48:21 +02:00
c3587119b7 🗂️ refactor: organize Dockerfiles into docker/ directory and update all references
Some checks failed
CI/CD Pipeline / Build Docker Cache (push) Successful in 22s
CI/CD Pipeline / CI Pipeline (push) Failing after 47s
2026-04-07 12:45:09 +02:00
57db3e0a32 📝 docs: clarify Dockerfile.prod usage and add warnings about latest tag
Some checks failed
CI/CD Pipeline / Build Docker Cache (push) Successful in 23s
CI/CD Pipeline / CI Pipeline (push) Failing after 34s
2026-04-07 12:39:48 +02:00
2759dd15c7 🐛 fix: correct Docker volume mount paths in CI/CD workflow 2026-04-07 12:16:27 +02:00
9055c8c39b 📝 docs: update ADR 0020 with critical bug fix documentation and testing instructions 2026-04-07 12:13:43 +02:00
edd08b4e1c 🔧 ci: fix Dockerfile.prod to use proper dependency hash and add testing scripts
Some checks failed
CI/CD Pipeline / Build Docker Cache (push) Successful in 26s
CI/CD Pipeline / CI Pipeline (push) Failing after 58s
2026-04-07 12:12:22 +02:00
e12103c190 📝 docs: enhance test-local-ci-cd.sh with Dockerfile.prod testing options
Some checks failed
CI/CD Pipeline / Build Docker Cache (push) Successful in 1m21s
CI/CD Pipeline / CI Pipeline (push) Has been cancelled
2026-04-07 12:03:11 +02:00
91890659cf 📝 docs: update ADR 0020 to reflect removal of certificate configuration step 2026-04-07 11:59:00 +02:00
6e2e9e3645 🔧 ci: remove certificate configuration step (no longer needed with traditional docker) 2026-04-07 11:58:21 +02:00
a9de12cee1 📝 docs: enhance ADR 0020 with comprehensive Docker build strategy documentation 2026-04-07 11:56:20 +02:00
3029e93175 🤖 ci: optimize CI/CD with Docker cache and remove Buildx
Some checks failed
CI/CD Pipeline / CI Pipeline (push) Has been cancelled
CI/CD Pipeline / Build Docker Cache (push) Has been cancelled
2026-04-07 11:52:33 +02:00
c6a2d63a6d 🤖 feat: complete gitea-client skill enhancements with new CI/CD monitoring commands 2026-04-07 11:31:11 +02:00
9e4731ce7a 📖 docs: enhance gitea-client REFERENCE.md with real-world use cases and examples 2026-04-07 11:29:51 +02:00
10450054f7 📝 docs: add missing ADRs to index (0015, 0016, 0017) 2026-04-07 11:16:22 +02:00
38d4b04f4a 📝 docs: update ADR index with new Docker Build Strategy ADR 2026-04-07 11:15:49 +02:00
c93220d8c6 📝 docs: add ADR-0020 Docker Build Strategy decision 2026-04-07 11:14:59 +02:00
0f01d025b8 ♻️ refactor: replace Buildx with traditional docker build/push for reliability 2026-04-07 11:13:25 +02:00
4be08d5f36 🔧 fix: configure Docker to trust Gitea self-signed certificate 2026-04-07 11:01:26 +02:00
de53c13ea8 🔧 fix: use ubuntu-latest-ca runners for self-signed certificate support
Some checks failed
CI/CD Pipeline / Build Docker Cache (push) Failing after 6m26s
CI/CD Pipeline / CI Pipeline (push) Has been skipped
2026-04-07 08:59:23 +02:00
fd7ade77b8 🔄 fix: move version bump before Swagger generation 2026-04-07 08:49:45 +02:00
4ffaa6191d 📋 fix: update Swagger version from 1.2.0 to 1.4.0
Some checks failed
CI/CD Pipeline / CI Pipeline (push) Has been cancelled
CI/CD Pipeline / Build Docker Cache (push) Has been cancelled
2026-04-07 08:48:58 +02:00
ea7f2ec93d 🧪 feat: add working Docker cache test script
Some checks failed
CI/CD Pipeline / CI Pipeline (push) Has been cancelled
CI/CD Pipeline / Build Docker Cache (push) Has been cancelled
2026-04-07 08:42:15 +02:00
4ff58569d0 🔄 fix: remove unnecessary script, use inline logic
Some checks failed
CI/CD Pipeline / CI Pipeline (push) Has been cancelled
CI/CD Pipeline / Build Docker Cache (push) Has been cancelled
2026-04-07 08:37:08 +02:00
36823ac112 🔄 fix: simplify Docker cache approach and integrate properly
Some checks failed
CI/CD Pipeline / CI Pipeline (push) Has been cancelled
CI/CD Pipeline / Build Docker Cache (push) Has started running
2026-04-07 08:36:18 +02:00
816e1b7bc8 feat: implement Docker build cache for CI acceleration
Some checks failed
CI/CD Pipeline / CI Pipeline (push) Has been cancelled
CI/CD Pipeline / Build Docker Cache (push) Has been cancelled
2026-04-07 08:31:24 +02:00
7c9dfdcc2a optim: reduce duplicate CI runs on PR branches 2026-04-07 08:22:41 +02:00
0cc2824222 📝 refactor: extract CI logic into reusable scripts
Some checks failed
CI/CD Pipeline / CI Pipeline (push) Has been cancelled
CI/CD Pipeline / CI Pipeline (pull_request) Failing after 11m26s
2026-04-07 08:20:12 +02:00
77b7416d1f 🔄 fix: ensure sequential pushes work from updated HEAD
Some checks failed
CI/CD Pipeline / CI Pipeline (pull_request) Has been cancelled
2026-04-07 08:18:19 +02:00
a4153b8554 🔄 fix: add race condition handling to version bump pushes
Some checks failed
CI/CD Pipeline / CI Pipeline (pull_request) Has been cancelled
2026-04-07 08:16:15 +02:00
c609a4ca48 🔄 fix: add race condition handling for concurrent coverage updates
Some checks failed
CI/CD Pipeline / CI Pipeline (pull_request) Has been cancelled
2026-04-07 08:15:27 +02:00
b21c5fb093 🔒 fix: prevent CI loops and add proper git authentication
Some checks failed
CI/CD Pipeline / CI Pipeline (pull_request) Has been cancelled
2026-04-07 08:13:23 +02:00
d918f3b1c3 📊 feat: add Shields.io coverage badge with auto-update CI
Some checks failed
CI/CD Pipeline / CI Pipeline (pull_request) Failing after 5m35s
2026-04-07 08:10:28 +02:00
7154faa7f4 🔒 fix: correct Swagger auth scheme from ApiKeyAuth to BearerAuth
Some checks failed
CI/CD Pipeline / CI Pipeline (push) Failing after 54s
CI/CD Pipeline / CI Pipeline (pull_request) Successful in 7m15s
2026-04-07 01:27:50 +02:00
107bae528a 🔧 feat: enhance readiness endpoint with detailed connection status
All checks were successful
CI/CD Pipeline / CI Pipeline (pull_request) Successful in 8m6s
CI/CD Pipeline / CI Pipeline (push) Successful in 10m43s
- Upgraded readiness endpoint to provide per-connection health status
- Added structured JSON response with connection details
- Database health status now includes explicit healthy/unhealthy/not_configured states
- Better observability with detailed failure reasons
- Maintains backward compatibility with existing readiness checks

Response Examples:
 Healthy: {ready: true, connections: {database: {status: healthy}}}
 Unhealthy: {ready: false, reason: database_unhealthy, connections: {database: {status: unhealthy, error: ...}}}
 Shutting Down: {ready: false, reason: server_shutting_down, connections: {database: not_checked}}}

Benefits:
- Detailed health information for debugging
- Per-connection status (database, future: cache, etc.)
- Better Kubernetes/container orchestration integration
- Clear failure reasons for troubleshooting
- Extensible for additional services

Testing:
-  Readiness endpoint returns detailed connection status
-  Database health properly reflected
-  All 25 BDD scenarios passing
-  All unit tests passing

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-04-07 01:13:08 +02:00
760d1cc8b0 🔧 feat: enhance readiness endpoint with database health check
Some checks failed
CI/CD Pipeline / CI Pipeline (push) Has been cancelled
CI/CD Pipeline / CI Pipeline (pull_request) Successful in 11m58s
- Added CheckDatabaseHealth() method to UserRepository interface
- Implemented database connectivity check in SQLite repository
- Enhanced /ready endpoint to verify database health before reporting ready
- Improved readiness logic: checks both server shutdown status and database connectivity
- Better observability: Logs database health check failures with warnings

Benefits:
- More accurate readiness reporting for Kubernetes/container environments
- Detects database connectivity issues before accepting traffic
- Prevents application from accepting requests when database is unavailable
- Maintains backward compatibility with existing readiness checks

Implementation:
- Simple COUNT query to test database responsiveness
- Graceful handling of database unavailability
- Proper HTTP 503 status when not ready
- Comprehensive logging for troubleshooting

Testing:
-  Readiness endpoint returns true when database is healthy
-  Readiness endpoint returns false when database is unhealthy
-  All existing functionality preserved
-  All 25 BDD scenarios passing
-  All unit tests passing

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-04-07 01:02:53 +02:00