Commit Graph

53 Commits

Author SHA1 Message Date
b308d9d095 🐛 fix: prevent duplicate badges with improved detection logic
All checks were successful
CI/CD Pipeline / Build Docker Cache (push) Successful in 9s
CI/CD Pipeline / CI Pipeline (push) Successful in 4m32s
2026-04-08 17:57:54 +02:00
564722e74f 🐛 fix: improve badge cleanup logic and remove duplicates
All checks were successful
CI/CD Pipeline / Build Docker Cache (push) Successful in 9s
CI/CD Pipeline / CI Pipeline (push) Successful in 4m31s
2026-04-08 17:19:50 +02:00
7b4e5197d8 🐛 fix: update badge script to use License badge as reference point
All checks were successful
CI/CD Pipeline / Build Docker Cache (push) Successful in 8s
CI/CD Pipeline / CI Pipeline (push) Successful in 4m25s
2026-04-08 17:14:20 +02:00
49c21ffd6d 🐛 fix: remove duplicate coverage badges
Some checks failed
CI/CD Pipeline / Build Docker Cache (push) Successful in 8s
CI/CD Pipeline / CI Pipeline (push) Failing after 3m52s
2026-04-08 17:06:46 +02:00
51e98a0185 🐛 fix: proper markdown format for coverage badges
All checks were successful
CI/CD Pipeline / Build Docker Cache (push) Successful in 10s
CI/CD Pipeline / CI Pipeline (push) Successful in 4m8s
2026-04-08 16:59:58 +02:00
66ba7f0c4e 🐛 fix: cross-platform sed and badge replacement issues
All checks were successful
CI/CD Pipeline / Build Docker Cache (push) Successful in 13s
CI/CD Pipeline / CI Pipeline (push) Successful in 4m30s
2026-04-08 16:51:38 +02:00
194b2aeb0e 🐛 fix: ensure single push in CI/CD workflow
All checks were successful
CI/CD Pipeline / Build Docker Cache (push) Successful in 11s
CI/CD Pipeline / CI Pipeline (push) Successful in 4m26s
2026-04-08 16:43:22 +02:00
1296d62333 🐛 fix: make ci-update-coverage-badge.sh cross-platform compatible
Some checks failed
CI/CD Pipeline / Build Docker Cache (push) Successful in 9s
CI/CD Pipeline / CI Pipeline (push) Failing after 4m32s
- Add cross-platform sed detection (macOS vs Linux)
- Fixes Unit coverage badge URL typo issue
- Ensures all badge update scripts work in Docker containers

This completes the cross-platform compatibility for all badge scripts.
2026-04-08 16:10:02 +02:00
9d42909b86 🐛 fix: make badge update script cross-platform compatible
All checks were successful
CI/CD Pipeline / Build Docker Cache (push) Successful in 9s
CI/CD Pipeline / CI Pipeline (push) Successful in 5m0s
- Detect macOS vs Linux sed syntax automatically
- Use appropriate sed command for each platform
- Fixes workflow failure in Docker container

macOS: sed -i '' (BSD sed)
Linux: sed -i (GNU sed)
2026-04-08 15:41:21 +02:00
0b6f18f33c 🤖 feat: implement KISS badge update using environment variables
All checks were successful
CI/CD Pipeline / Build Docker Cache (push) Successful in 9s
CI/CD Pipeline / CI Pipeline (push) Successful in 4m52s
- Fix badge URLs and remove duplicates
- Add update-all-badges.sh script for single commit updates
- Update CI/CD workflow to use environment variables
- Remove complex sequential commit logic
- Follow KISS principle with simple env var approach
2026-04-08 15:21:41 +02:00
cc9c2a5674 ♻️ refactor: use simple coverage file approach for BDD tests (KISS principle)
All checks were successful
CI/CD Pipeline / Build Docker Cache (push) Successful in 9s
CI/CD Pipeline / CI Pipeline (push) Successful in 4m48s
2026-04-08 13:56:29 +02:00
f47094cbba 🐛 fix: extract BDD coverage directly from test output instead of file 2026-04-08 13:48:06 +02:00
2b28970105 🐛 fix: add -coverprofile flag to BDD tests to generate coverage.out file for CI 2026-04-08 13:23:13 +02:00
f5e35464b9 📊 feat: add separate BDD and unit test coverage badges to distinguish test coverage types
Some checks failed
CI/CD Pipeline / Build Docker Cache (push) Successful in 9s
CI/CD Pipeline / CI Pipeline (push) Failing after 4m22s
2026-04-08 13:05:06 +02:00
7416d5f1c3 🧪 test: add proper coverage measurement to BDD tests with -coverpkg=./... flag
All checks were successful
CI/CD Pipeline / Build Docker Cache (push) Successful in 9s
CI/CD Pipeline / CI Pipeline (push) Successful in 4m52s
2026-04-08 12:56:11 +02:00
43c9dbcd55 🧪 test: fix BDD test script to use portable directory navigation and proper database configuration
All checks were successful
CI/CD Pipeline / Build Docker Cache (push) Successful in 10s
CI/CD Pipeline / CI Pipeline (push) Successful in 4m41s
2026-04-08 12:45:56 +02:00
fe4a8e118e fix cd command
All checks were successful
CI/CD Pipeline / Build Docker Cache (push) Successful in 14s
CI/CD Pipeline / CI Pipeline (push) Successful in 4m48s
2026-04-08 12:38:27 +02:00
5bfb08abc7 🧪 test: fix BDD step registration and update CI/CD workflow
Some checks failed
CI/CD Pipeline / Build Docker Cache (push) Successful in 17s
CI/CD Pipeline / CI Pipeline (push) Has been cancelled
- Fix step pattern escaping in pkg/bdd/steps/steps.go:80
- Update CI/CD workflow to use run-bdd-tests.sh script
- Enhance run-bdd-tests.sh for both local and CI environments
- Add strict validation for undefined/pending/skipped steps
- Update BDD testing documentation with pattern requirements

The CI/CD pipeline now properly validates BDD tests and fails on any
undefined, pending, or skipped steps. All 22 BDD scenarios are passing
with correct step pattern registration.
2026-04-08 12:13:17 +02:00
f013a1771d fixed bdd tests 2026-04-08 12:05:11 +02:00
543e9e240a 🐛 fix: use shasum on macOS, sha256sum on Linux
- Detect which hash command is available
- Fix script compatibility across platforms
- Maintain same functionality

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-04-08 00:18:38 +02:00
5ffa60ef65 🐛 fix: use correct DLC_DATABASE_HOST for Docker vs native execution
- Use localhost for native execution (PostgreSQL port mapping)
- Use dance-lessons-coach-postgres for Docker container execution
- Set appropriate environment variables for each execution mode
- Fix container-to-container communication

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-04-08 00:15:57 +02:00
f8474b69c1 🐛 fix: BDD tests PostgreSQL connection for native execution
- Simplify getPostgresHost() to always use localhost by default
- Use DLC_DATABASE_HOST=localhost for all local execution
- Container name only needed when running INSIDE Docker containers
- Fix native execution PostgreSQL connection issues
- Ensure BDD tests connect to localhost:5432 (mapped port)

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-04-07 23:52:57 +02:00
6c2399bea6 🔧 refactor: replace docker compose run with docker run --rm
- Use docker run --rm instead of docker compose run
- More explicit container cleanup with --rm flag
- Direct volume mounting and network configuration
- Maintain same functionality with cleaner approach
- Better matches CI/CD workflow style

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-04-07 23:51:54 +02:00
22099d0ac6 🔧 refactor: simplify local CI/CD script by assuming Docker availability
- Remove conditional Docker availability checks
- Assume Docker is always available (required for workflow)
- Simplify logic flow
- Maintain same functionality but cleaner code
- Match CI/CD workflow assumptions

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-04-07 23:41:15 +02:00
18213f365d 🐛 fix: BDD tests PostgreSQL connection for native execution
- Enhance getPostgresHost() to detect Docker vs native execution
- Use localhost for native execution (PostgreSQL port mapping)
- Use container name for Docker execution
- Fix local CI/CD script to set correct DLC_DATABASE_HOST
- Ensure BDD tests can connect in both Docker and native modes

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-04-07 23:40:08 +02:00
9528b7d288 🐛 fix: BDD tests PostgreSQL connection using DLC_* environment variables
- Add getPostgresHost() function to use DLC_DATABASE_HOST env var
- Default to dance-lessons-coach-postgres container name
- Update local CI/CD script to set proper DLC_* environment variables
- Fix Docker Compose test execution to pass correct database config
- Ensure BDD tests can connect to PostgreSQL in both Docker and native modes

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-04-07 23:38:27 +02:00
9213c97da6 🔧 fix: optimize Docker cache usage by removing redundant go mod tidy
- Remove unnecessary go mod tidy execution when using Docker cache
- Dependencies are already pre-installed in the cache image
- Only run go mod tidy when not using cache (native execution)
- This leverages the true purpose of the Docker build cache

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-04-07 23:22:30 +02:00
da0dc0e30f 🔧 chore: align local CI/CD script with Gitea workflow
- Add dependency hash calculation matching CI workflow
- Add Docker cache detection and usage
- Add PostgreSQL service with Docker Compose
- Execute commands in Docker Compose containers when cache available
- Update test summary to reflect new workflow matching

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-04-07 23:20:52 +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
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
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
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
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
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
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
c8b0dbd0a1 feat: automated version badge updates and CI/CD improvements
Some checks failed
CI/CD Pipeline / CI Pipeline (push) Failing after 16m21s
2026-04-06 19:07:02 +02:00
183933b43e feat: integrate swag fmt and improve CI/CD workflows
Some checks failed
Go CI/CD Pipeline / Lint and Format (push) Successful in 4m51s
Docker Build and Publish / Version Bump (push) Successful in 4m54s
Docker Build and Publish / Build and Push Docker Image (push) Failing after 2m51s
Go CI/CD Pipeline / Build and Test (push) Successful in 9m47s
Go CI/CD Pipeline / Version Management (push) Successful in 12s
- Add swag fmt to git pre-commit hook and CI/CD pipeline
- Create comprehensive CONTRIBUTING.md guide with AI section
- Update ADR-0013 with swag fmt documentation
- Fix swagger generation to include all endpoints
- Improve local testing scripts and workflows
- Update Dockerfile for better swagger handling
- Fix CI/CD workflow file references
2026-04-06 15:36:55 +02:00
370fbdf72f 🐛 fix: resolve CI workflow issues
Some checks failed
Go CI/CD Pipeline / Lint and Format (push) Successful in 54s
Go CI/CD Pipeline / Arcodange Workflow Validation (push) Failing after 6m15s
Go CI/CD Pipeline / Lint and Format (pull_request) Successful in 2m22s
Go CI/CD Pipeline / Arcodange Workflow Validation (pull_request) Failing after 2m34s
Go CI/CD Pipeline / Build and Test (pull_request) Successful in 4m35s
Go CI/CD Pipeline / Version Management (pull_request) Has been skipped
Go CI/CD Pipeline / Build and Test (push) Successful in 12m7s
Go CI/CD Pipeline / Version Management (push) Has been cancelled
Fix three critical CI issues:

1. SWAG TOOL: Install swag before go generate

   - Adds 'Install swag' step to build-test job

   - Prevents 'command not found' errors

   - Ensures swagger docs can be generated

2. GO VET REDUNDANCY: Remove duplicate go vet

   - Removes go vet from lint-format job

   - Keeps go vet only in build-test job

   - Reduces CI execution time

3. WORKFLOW VALIDATION: Fix yamllint path

   - Updates validate-workflow.sh to use absolute paths

   - Fixes .yamllint.yaml file not found error

   - Makes path resolution more robust

These fixes address the root causes of:

- Job 350 failure (missing swag)

- Redundant validation (duplicate go vet)

- Workflow validation failures (wrong paths)

Tested locally and ready for CI.
2026-04-06 12:53:43 +02:00
7c6075e836 🤖 feat: simplify CI/CD structure and add Docker workflow
Some checks failed
Go CI/CD Pipeline / Lint and Format (push) Failing after 1m45s
Go CI/CD Pipeline / Arcodange Workflow Validation (push) Failing after 5m39s
Go CI/CD Pipeline / Build and Test (push) Failing after 7m9s
Go CI/CD Pipeline / Version Management (push) Has been skipped
- Rename ci-cd.yaml to go-ci-cd.yaml for clarity
- Add dockerimage.yaml workflow for Docker builds
- Create Dockerfile for production deployment
- Add comprehensive CI/CD documentation
- Create contributor-quickstart.sh for easy validation
- Update all scripts to handle both workflow files
- Fix event triggers to run on all relevant pushes
- Remove redundant YAML syntax validation
- Improve workflow validation for Arcodange conventions

BREAKING CHANGE: ci-cd.yaml renamed to go-ci-cd.yaml
See scripts/cicd/README.md for complete documentation.

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-04-06 11:02:36 +02:00
b391534f2d 🤖 feat: implement trunk-based CI/CD with local testing
- Designed trunk-based development workflow with branch protection
- Added workflow validation job to prevent main branch breaks
- Integrated act (GitHub Actions runner) for local Gitea workflow testing
- Created unified CI/CD script interface (scripts/cicd.sh)
- Added YAML lint configuration with practical limits (400 chars)
- Organized all CI/CD scripts under scripts/cicd/ directory
- Confirmed Gitea/GitHub Actions compatibility via local testing
- Updated ADR 0017 with implementation details and test results
- Enhanced documentation with local development workflow

See ADR-0017 for complete trunk-based development workflow documentation.
See ADR-0016 for CI/CD pipeline design.
2026-04-05 23:07:32 +02:00
4d0c3a748e 🤖 feat: implement Cobra CLI with subcommands
- Add new CLI structure in cmd/cli/
- Implement version, server, and greet commands
- Update build script to compile new CLI binary
- Add Cobra dependency to go.mod
- Update ADR 0015 to reflect implementation status
- Update README and AGENTS.md with CLI usage
- Maintain backward compatibility with existing binaries

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-04-05 11:34:00 +02:00
a5344d6ed8 📝 docs: add comprehensive version management and CLI documentation 2026-04-05 11:28:11 +02:00
85b6cf82ee 🧪 feat: complete BDD implementation with comprehensive documentation
Finalize BDD testing framework with:
- Unified step definitions using StepContext struct
- Proper server verification in theServerIsRunning step
- Robust JSON response handling with escaping and newline trimming
- Updated documentation reflecting current implementation
- Test validation script to ensure test quality
- All tests passing with proper black box testing

Key files updated:
- pkg/bdd/steps/steps.go: Unified step definitions
- pkg/bdd/testserver/client.go: Robust response validation
- pkg/bdd/README.md: Godog pattern guide
- doc/BDD_GUIDE.md: Updated usage guide
- adr/0008-bdd-testing.md: Updated ADR with current approach
- scripts/run-bdd-tests.sh: Test validation script

The BDD framework is now production-ready with comprehensive
documentation and proper testing practices.
2026-04-04 17:59:35 +02:00
00e796c608 Enhance build system and logging configuration
- Add scripts/build.sh to compile binaries into bin/ directory

- Move all zerolog setup logic from cmd/server/main.go to pkg/config

- Add log level configuration support (trace, debug, info, warn, error, fatal, panic)

- Simplify cmd/server/main.go from 57 to 27 lines (53% reduction)

- Update .gitignore to use bin/ directory instead of individual files

- Document build process and bin directory in AGENTS.md

- Maintain backward compatibility with all existing functionality
2026-04-04 13:24:33 +02:00
Mistral Vibe
36f0b79b90 Add OpenTelemetry instrumentation with middleware-only approach 2026-04-04 12:19:48 +02:00