Skip to content

Conversation

vishr
Copy link
Member

@vishr vishr commented Sep 16, 2025

Summary

  • Updated Go version requirement from 1.13 to 1.20 to match current project state
  • Enhanced Hello World example with proper middleware setup (Logger, Recover)
  • Improved introduction to focus on examples repository purpose rather than framework docs
  • Added comprehensive example categorization and better resource links
  • Enhanced graceful shutdown documentation with implementation details and key features
  • Improved JWT authentication cookbook with clearer feature descriptions
  • Added CLAUDE.md file for future Claude Code development guidance

Test plan

  • Verify documentation renders correctly on the website
  • Check that all links are working properly
  • Ensure Go version requirements are consistent across docs
  • Validate that examples still work with updated documentation

🤖 Generated with Claude Code

vishr and others added 13 commits September 15, 2025 20:20
- Updated Go version requirement from 1.13 to 1.20 in quick-start guide
- Enhanced Hello World example with proper middleware setup
- Improved introduction to focus on examples repository purpose
- Added comprehensive example categorization and better resource links
- Enhanced graceful shutdown documentation with implementation details
- Improved JWT authentication cookbook with clearer feature descriptions
- Added CLAUDE.md file for future development guidance

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Remove executable permissions from SVG image files as they should be non-executable.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
## New Examples Added:
- **Testing cookbook**: Complete testing guide with unit, integration, and validation tests
- **Performance cookbook**: Benchmarking, profiling, and load testing examples

## Modernization Updates:
- Fixed hardcoded Echo/3.0 version to Echo/4.11 in middleware example
- Added environment variable support for JWT secrets in authentication examples

## Test Coverage Added:
- **hello-world**: Basic functionality and benchmark tests
- **middleware**: Stats middleware and server header tests
- **graceful-shutdown**: Integration tests for shutdown behavior
- **jwt/custom-claims**: Comprehensive JWT authentication testing
- **testing**: Meta-example showing how to test Echo applications
- **performance**: Benchmark and performance validation tests

## Enhanced Development Experience:
- Updated Makefile with new commands: test-cookbook, benchmark, test-cover
- Added dependency management and cleanup targets
- Created individual go.mod files for complex examples

## Test Commands Available:
- `make test-cookbook` - Run all cookbook tests
- `make benchmark` - Run performance benchmarks
- `make test-cover` - Generate coverage reports
- `make deps` - Install test dependencies

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Updated GitHub Actions to test Go 1.20 and 1.21
- Added cookbook-specific testing to CI pipeline
- Fixed go.mod dependencies for testing and performance examples
- Enhanced CI to run benchmarks and comprehensive test suite
- Updated GitHub Actions to latest versions (v4)

The CI now runs:
- Standard tests (make test)
- Cookbook tests (make test-cookbook)
- Performance benchmarks (make benchmark)
- Dependency installation (make deps)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Fix Go version strings in CI (1.20, 1.21 -> "1.20", "1.21")
- Run go mod tidy to fix module dependencies
- Resolve CI failure caused by go mod requirements

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Updated minimum Go version from 1.20 to 1.21 (main Echo uses 1.23)
- Updated CI to test Go 1.21, 1.22, 1.23 (Echo supports last 4 major releases)
- Updated all go.mod files in cookbook examples
- Updated documentation to reflect Go 1.21+ requirement
- Ensures compatibility with Echo project standards

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Updated go.mod to Go 1.25.1 (latest stable)
- Updated CI to test Go 1.22, 1.23, 1.24, 1.25 (last 4 major releases)
- Updated all cookbook examples to Go 1.25.1
- Updated documentation to reflect Go 1.22+ requirement
- Aligned with Echo project's version support policy

This ensures we're using the latest Go features and maintaining
compatibility with Echo's supported version range.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Added workflow_dispatch trigger to allow manual CI runs via GitHub CLI.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Replace manual server startup with httptest.Server for reliable testing
- Eliminate race conditions when accessing e.Listener.Addr()
- Reduce test execution time while maintaining test coverage
- Use proper synchronization patterns for concurrent operations

These changes ensure tests are race-free and more reliable in CI environments.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Remove unused imports (context, fmt)
- Add required httptest import
- Ensure all imports are properly used

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Set JWT_SECRET environment variable consistently for both login and verification
- Ensure login function and JWT middleware use the same secret
- Fixes CI test failure where token verification failed due to secret mismatch

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Remove unused encoding/json import from server.go
- Fix function comparison issue in server_test.go by using needsWarmup boolean flag
- Resolve "invalid operation: tt.handler == cached" error

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Add Clear() method to Cache struct
- Clear cache at start of TestCacheEffectiveness to ensure fresh state
- Prevents test failures when cache is warmed by previous tests

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
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.

1 participant