feat: upgrade to Go 1.25.3 and update build to include api-gateway
- Create ADR-0034 documenting Go version upgrade to 1.25.3 - Mark ADR-0002 as superseded by ADR-0034 - Update CI workflow to use Go 1.25.3 - Update Makefile to build both platform and api-gateway binaries - Update CI workflow to build and upload both binaries - Update documentation (ADR README and mkdocs.yml) to include ADR-0034
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
# ADR-0002: Go Version
|
||||
|
||||
## Status
|
||||
Accepted
|
||||
Superseded by [ADR-0034: Go Version Upgrade to 1.25.3](./0034-go-version-upgrade.md)
|
||||
|
||||
## Context
|
||||
Go releases new versions regularly with new features, performance improvements, and security fixes. We need to choose a Go version that:
|
||||
|
||||
56
docs/content/adr/0034-go-version-upgrade.md
Normal file
56
docs/content/adr/0034-go-version-upgrade.md
Normal file
@@ -0,0 +1,56 @@
|
||||
# ADR-0034: Go Version Upgrade to 1.25.3
|
||||
|
||||
## Status
|
||||
Accepted
|
||||
|
||||
## Context
|
||||
ADR-0002 established Go 1.24.3 as the minimum required version. Since then:
|
||||
- Go 1.25.3 has been released with new features, performance improvements, and security fixes
|
||||
- The project requires access to newer language features and tooling improvements
|
||||
- Dependencies may benefit from Go 1.25.3 optimizations
|
||||
- The development team has Go 1.25.3 available and working
|
||||
|
||||
## Decision
|
||||
Upgrade from **Go 1.24.3** to **Go 1.25.3** as the minimum required version for the platform.
|
||||
|
||||
This decision supersedes [ADR-0002: Go Version](./0002-go-version.md).
|
||||
|
||||
**Rationale:**
|
||||
- Access to latest Go features and performance improvements
|
||||
- Better security with latest patches
|
||||
- Improved tooling support and compiler optimizations
|
||||
- Ensures compatibility with latest ecosystem dependencies
|
||||
- Supports all planned features (modules, plugins, generics) with enhanced capabilities
|
||||
|
||||
## Consequences
|
||||
|
||||
### Positive
|
||||
- Access to latest Go features and performance improvements
|
||||
- Better security with latest patches
|
||||
- Modern tooling support with improved compiler optimizations
|
||||
- Better compatibility with latest dependency versions
|
||||
- Enhanced performance characteristics
|
||||
|
||||
### Negative
|
||||
- Requires developers to upgrade to Go 1.25.3+
|
||||
- CI/CD must be updated to use Go 1.25.3
|
||||
- May require dependency updates for compatibility
|
||||
- Slightly higher barrier for developers still on older versions
|
||||
|
||||
### Mitigations
|
||||
1. **Clear Documentation**: Update all documentation to specify Go 1.25.3 requirement
|
||||
2. **CI/CD Updates**: Ensure CI/CD pipelines use Go 1.25.3
|
||||
3. **Version Check**: Add version validation in build scripts if needed
|
||||
4. **Developer Communication**: Notify team of version requirement
|
||||
|
||||
## Implementation Notes
|
||||
- Update `go.mod`: `go 1.25.3`
|
||||
- Update `.github/workflows/ci.yml` to use `actions/setup-go@v5` with version `1.25.3`
|
||||
- Update ADR-0002 to mark as Superseded
|
||||
- Update README.md and other documentation to reflect Go 1.25.3 requirement
|
||||
- Run `go mod tidy` to ensure dependency compatibility
|
||||
|
||||
## References
|
||||
- [ADR-0002: Go Version](./0002-go-version.md) - Superseded by this ADR
|
||||
- [Go 1.25 Release Notes](https://go.dev/doc/go1.25)
|
||||
|
||||
@@ -23,7 +23,8 @@ Each ADR follows this structure:
|
||||
### Epic 0: Project Setup & Foundation
|
||||
|
||||
- [ADR-0001: Go Module Path](./0001-go-module-path.md) - Module path: `git.dcentral.systems/toolz/goplt`
|
||||
- [ADR-0002: Go Version](./0002-go-version.md) - Go 1.24.3
|
||||
- [ADR-0002: Go Version](./0002-go-version.md) - Go 1.24.3 (Superseded by ADR-0034)
|
||||
- [ADR-0034: Go Version Upgrade to 1.25.3](./0034-go-version-upgrade.md) - Go 1.25.3
|
||||
- [ADR-0003: Dependency Injection Framework](./0003-dependency-injection-framework.md) - uber-go/fx
|
||||
- [ADR-0004: Configuration Management](./0004-configuration-management.md) - spf13/viper + cobra
|
||||
- [ADR-0005: Logging Framework](./0005-logging-framework.md) - go.uber.org/zap
|
||||
|
||||
Reference in New Issue
Block a user