-
Notifications
You must be signed in to change notification settings - Fork 1.1k
[TT-15019] Update Gateway and Plugin Compiler to Go 1.24 #7265
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
PR Code Suggestions ✨No code suggestions found for the PR. |
API Changes no api changes detected |
📦 Impact Review Snapshot
## Impact AssessmentThis PR updates the Go version from 1.23 to 1.24 across the Tyk Gateway codebase, including CI workflows, Dockerfiles, and go.mod. This is a minor version upgrade that follows semantic versioning principles, suggesting backward compatibility. The changes are isolated to build infrastructure and don't modify any API definitions, schemas, or protocols that would impact downstream repositories. For tyk-operator, tyk-charts, portal, and tyk-sink, the impact is minimal since no API contracts or interfaces are changing. The only consideration would be ensuring that any Go plugins developed for Tyk Gateway are compatible with Go 1.24, as plugin compatibility requires the same Go version between the plugin and the host application. ## Required Updates
## Compatibility Concerns
No API definition changes, schema modifications, or protocol updates are included in this PR, minimizing compatibility risks. ## Summary & Recommendations
Tip: Mention me again using |
Error during chat processing: Error: Failed to get response from AI model during iteration 4. terminated Tip: Mention me again using |
🛡️ Security Snapshot
## Security Impact AnalysisThis PR updates the Go version from 1.23 to 1.24 across all build environments, Docker images, and configuration files. Go version upgrades typically include security patches and improvements to the runtime and standard library. The changes are straightforward version number updates in build configurations and do not modify any security-critical code paths. The upgrade ensures the codebase benefits from the latest security fixes and improvements in the Go ecosystem. ## Identified VulnerabilitiesNo specific vulnerabilities were identified in this PR. The update from Go 1.23 to Go 1.24 is a routine language version upgrade that follows good security practices by keeping dependencies up to date. No security-sensitive code is being modified, only build configuration files that specify the Go version. ## Security Recommendations
## OWASP ComplianceThis change aligns with OWASP best practices, particularly:
## Summary
Tip: Mention me again using |
🚀 Performance Snapshot
## Performance Impact AnalysisThe PR updates the Go version from 1.23 to 1.24 across all build environments, CI workflows, and the plugin compiler. Go 1.24 includes several performance improvements that could positively impact Tyk Gateway, particularly in areas of memory allocation, garbage collection, and runtime efficiency. The upgrade is likely to provide incremental performance benefits with minimal risk of regression. Go 1.24 brings improvements to the runtime, garbage collector, and standard library that should benefit Tyk Gateway's performance-critical paths, especially in high-throughput API proxying scenarios. ## Critical AreasThe most performance-sensitive areas that may benefit from the Go 1.24 upgrade:
## Optimization Recommendations
## Summary
Tip: Mention me again using |
📦 Impact Review Snapshot
## Impact AssessmentThis PR updates the Go version from 1.23 to 1.24 across the Tyk Gateway codebase, including CI workflows, Dockerfiles, and go.mod. This is a minor version upgrade that follows semantic versioning principles, suggesting backward compatibility. The changes are isolated to build infrastructure and don't modify any API definitions, schemas, or protocols that would impact downstream repositories. For tyk-operator, tyk-charts, portal, and tyk-sink, the impact is minimal since no API contracts or interfaces are changing. The only consideration would be ensuring that any Go plugins developed for Tyk Gateway are compatible with Go 1.24, as plugin compatibility requires the same Go version between the plugin and the host application. ## Required Updates
## Compatibility Concerns
No API definition changes, schema modifications, or protocol updates are included in this PR, minimizing compatibility risks. ## Summary & Recommendations
Tip: Mention me again using |
🚦 Connectivity Review Snapshot
## Connectivity Assessment
## Test Coverage Validation
## Security & Performance Impact
## Summary & Recommendations
Tip: Mention me again using |
🚀 Performance Snapshot
## Performance Impact AnalysisThis PR updates the Go version from 1.23 to 1.24 across all build environments, CI workflows, and the plugin compiler. The changes are limited to build configuration files and go.mod, with no modifications to actual code logic. Go 1.24 includes several performance improvements that could positively impact Tyk Gateway, particularly in areas of memory allocation, garbage collection, and runtime efficiency. Key Go 1.24 improvements that may benefit Tyk Gateway include:
## Critical AreasThe most performance-sensitive areas that may benefit from the Go 1.24 upgrade:
## Optimization Recommendations
## Summary
Tip: Mention me again using |
🛡️ Security Snapshot
## Security Impact AnalysisThis PR updates the Go version from 1.23 to 1.24 across all build environments, Docker images, and configuration files. The changes are straightforward version number updates in build configurations and do not modify any security-critical code paths. Go version upgrades typically include security patches and improvements to the runtime and standard library, which will benefit the Tyk Gateway's security posture. ## Identified VulnerabilitiesNo specific vulnerabilities were identified in this PR. The update from Go 1.23 to Go 1.24 is a routine language version upgrade that follows good security practices by keeping dependencies up to date. Go 1.24 includes various security improvements and bug fixes over 1.23, which helps mitigate potential security risks. The most notable security-related improvements in Go 1.24 include:
## Security Recommendations
## OWASP ComplianceThis change aligns with OWASP best practices, particularly:
## Summary
Tip: Mention me again using |
🛡️ Security Snapshot
## Security Impact AnalysisThis PR updates the Go version from 1.23 to 1.24 across all build environments, Docker images, and configuration files. Go version upgrades typically include security patches and improvements to the runtime and standard library. The changes are straightforward version number updates in build configurations and do not modify any security-critical code paths. The upgrade ensures the codebase benefits from the latest security fixes and improvements in the Go ecosystem. ## Identified VulnerabilitiesNo specific vulnerabilities were identified in this PR. The update from Go 1.23 to Go 1.24 is a routine language version upgrade that follows good security practices by keeping dependencies up to date. No security-sensitive code is being modified, only build configuration files that specify the Go version. ## Security Recommendations
## OWASP ComplianceThis change aligns with OWASP best practices, particularly:
## Summary
Tip: Mention me again using |
🚀 Performance Snapshot
## Performance Impact AnalysisThis PR updates the Go version from 1.23 to 1.24 across all build environments, CI workflows, and the plugin compiler. The changes are limited to build configuration files and go.mod, with no modifications to actual code logic. Go 1.24 includes several performance improvements that could positively impact Tyk Gateway, particularly in areas of memory allocation, garbage collection, and runtime efficiency. Key Go 1.24 improvements that may benefit Tyk Gateway include:
## Critical AreasThe most performance-sensitive areas that may benefit from the Go 1.24 upgrade:
## Optimization Recommendations
## Summary
Tip: Mention me again using |
📦 Impact Review Snapshot
## Impact AssessmentThis PR updates the Go version from 1.23 to 1.24 across most of the Tyk Gateway codebase, including CI workflows, Dockerfiles, and go.mod. This is a minor version upgrade that follows semantic versioning principles, suggesting backward compatibility. The changes are isolated to build infrastructure and don't modify any API definitions, schemas, or protocols that would impact downstream repositories. For tyk-operator, tyk-charts, portal, and tyk-sink, the impact is minimal since no API contracts or interfaces are changing. The only consideration would be ensuring that any Go plugins developed for Tyk Gateway are compatible with Go 1.24, as plugin compatibility requires the same Go version between the plugin and the host application. ## Required Updates
## Compatibility Concerns
No API definition changes, schema modifications, or protocol updates are included in this PR, minimizing compatibility risks. ## Summary & Recommendations
Tip: Mention me again using |
🚦 Connectivity Review Snapshot
## Connectivity Assessment
## Test Coverage Validation
## Security & Performance Impact
## Summary & Recommendations
Tip: Mention me again using |
Go 1.24 Upgrade AnalysisI've analyzed the PR which updates the Go version from 1.23 to 1.24 across the Tyk Gateway codebase. Here's what I found: Verification of ChangesAll files mentioned in the PR have been correctly updated to Go 1.24:
Issue FoundThere's one inconsistency in the codebase:
RecommendationThe Other than this minor issue, the PR looks good and properly implements the Go version upgrade across all necessary files. Tip: Mention me again using |
Go Version Upgrade AnalysisI've analyzed the PR which updates the Go version from 1.23 to 1.24 across the Tyk Gateway codebase. The changes are straightforward and consistent across most files:
However, I've identified one inconsistency:
RecommendationThe Other than this inconsistency, the PR looks good and follows the standard practice for Go version upgrades. Tip: Mention me again using |
🛡️ Security Snapshot
## Security Impact AnalysisThis PR updates the Go version from 1.23 to 1.24 across all build environments, Docker images, and configuration files. Go version upgrades typically include security patches and improvements to the runtime and standard library. The changes are straightforward version number updates in build configurations and do not modify any security-critical code paths. The upgrade ensures the codebase benefits from the latest security fixes and improvements in the Go ecosystem. ## Identified VulnerabilitiesNo specific vulnerabilities were identified in this PR. The update from Go 1.23 to Go 1.24 is a routine language version upgrade that follows good security practices by keeping dependencies up to date. No security-sensitive code is being modified, only build configuration files that specify the Go version. ## Security Recommendations
## OWASP ComplianceThis change aligns with OWASP best practices, particularly:
## Summary
Tip: Mention me again using |
Go 1.24 Upgrade AnalysisI've analyzed the PR which updates the Go version from 1.23 to 1.24 across the Tyk Gateway codebase. Here's my assessment: Changes VerificationAll files mentioned in the PR have been correctly updated to Go 1.24:
Issue FoundThere's one inconsistency in the codebase:
This inconsistency could cause issues with tools and development environments that rely on the Impact Analysis
RecommendationThe Otherwise, the changes look good and follow best practices for Go version upgrades. Tip: Mention me again using |
Go 1.24 Upgrade ReviewI've analyzed this PR which updates the Go version from 1.23 to 1.24 across the Tyk Gateway codebase. The changes look good overall, but I've identified one inconsistency that should be addressed. Key Findings✅ Consistent Updates: The PR correctly updates Go version references in:
❌ Missing Update: The Dependency Impact
RecommendationPlease update the Otherwise, the changes look good and follow best practices for Go version upgrades. Tip: Mention me again using |
🛡️ Security Snapshot
## Security Impact AnalysisThis PR updates the Go version from 1.23 to 1.24 across all build environments, Docker images, and configuration files. Go version upgrades typically include security patches and improvements to the runtime and standard library. The changes are straightforward version number updates in build configurations and do not modify any security-critical code paths. The upgrade ensures the codebase benefits from the latest security fixes and improvements in the Go ecosystem. ## Identified VulnerabilitiesNo specific vulnerabilities were identified in this PR. The update from Go 1.23 to Go 1.24 is a routine language version upgrade that follows good security practices by keeping dependencies up to date. No security-sensitive code is being modified, only build configuration files that specify the Go version. ## Security Recommendations
## OWASP ComplianceThis change aligns with OWASP best practices, particularly:
## Summary
Tip: Mention me again using |
Go 1.24 Upgrade AnalysisI've analyzed the PR which updates the Go version from 1.23 to 1.24 across the Tyk Gateway codebase. Here's my assessment of the connectivity impact: Key Changes
Connectivity Impact AssessmentThe Go version upgrade from 1.23 to 1.24 is a minor version change that should maintain backward compatibility. The Redis and RPC connection handling code in Tyk Gateway doesn't rely on Go version-specific features that would be affected by this upgrade. The Redis connectivity implementation in Plugin CompatibilityGo plugins must be compiled with exactly the same Go version as the host application. This PR correctly updates both the Gateway and plugin compiler to Go 1.24, ensuring compatibility between them. Any existing plugins compiled with Go 1.23 will need to be recompiled with Go 1.24 to work with the updated Gateway. RecommendationThe PR should be updated to include a change to the Otherwise, the changes look good and follow best practices for Go version upgrades with minimal impact on connectivity. Tip: Mention me again using |
🛡️ Security Snapshot
## Security Impact AnalysisThis PR updates the Go version from 1.23 to 1.24 across build environments, Docker images, and configuration files. The changes are straightforward version number updates that don't modify any security-critical code paths. Go version upgrades typically include security patches and improvements to the runtime and standard library, which will benefit the Tyk Gateway's security posture. ## Identified VulnerabilitiesNo specific vulnerabilities were identified in this PR. The update from Go 1.23 to Go 1.24 is a routine language version upgrade that follows good security practices by keeping dependencies up to date. Go 1.24 includes various security improvements and bug fixes over 1.23, which helps mitigate potential security risks. ## Security Recommendations
## OWASP ComplianceThis change aligns with OWASP best practices, particularly:
## Summary
Tip: Mention me again using |
Go 1.24 Upgrade AnalysisI've analyzed the PR which updates the Go version from 1.23 to 1.24 across the Tyk Gateway codebase. The changes are well-structured and consistent across most files, but there's one important inconsistency that should be addressed. Changes VerificationThe PR correctly updates Go version references in:
Issue FoundThere's one inconsistency in the codebase:
This inconsistency could cause issues with tools and development environments that rely on the Impact Analysis
RecommendationThe Otherwise, the changes look good and follow best practices for Go version upgrades. Tip: Mention me again using |
Go 1.24 Upgrade AnalysisI've analyzed the PR which updates the Go version from 1.23 to 1.24 across the Tyk Gateway codebase. Here's my assessment: Changes VerificationAll files mentioned in the PR description have been correctly updated to Go 1.24:
Additional ChangesThe PR also includes some necessary test adjustments for Go 1.24 compatibility:
Issue FoundThere's one inconsistency in the codebase:
This inconsistency could cause issues with tools and development environments that rely on the Impact Analysis
RecommendationThe Otherwise, the changes look good and follow best practices for Go version upgrades. Tip: Mention me again using |
Go 1.24 Upgrade AnalysisI've analyzed the PR which updates the Go version from 1.23 to 1.24 across the Tyk Gateway codebase. Here's my assessment: Changes VerificationAll files mentioned in the PR are being correctly updated to Go 1.24:
Issue FoundThere's one inconsistency in the codebase:
This inconsistency could cause issues with tools and development environments that rely on the RecommendationThe Otherwise, the changes look good and follow best practices for Go version upgrades. The PR correctly updates both the Gateway and plugin compiler to Go 1.24, ensuring compatibility between them. Tip: Mention me again using |
🛡️ Security Snapshot
## Security Impact AnalysisThis PR updates the Go version from 1.23 to 1.24 across build environments, Docker images, and configuration files. The changes are straightforward version number updates that don't modify any security-critical code paths. Go version upgrades typically include security patches and improvements to the runtime and standard library, which will benefit the Tyk Gateway's security posture. One specific security improvement observed is the update of RSA key sizes in test files from 512 bits to 1024 bits, as Go 1.24 now considers 512-bit keys insecure. ## Identified VulnerabilitiesNo specific vulnerabilities were identified in this PR. The update from Go 1.23 to Go 1.24 is a routine language version upgrade that follows good security practices by keeping dependencies up to date. Go 1.24 includes various security improvements and bug fixes over 1.23, which helps mitigate potential security risks. ## Security Recommendations
## OWASP ComplianceThis change aligns with OWASP best practices, particularly:
## Summary
Tip: Mention me again using |
🚀 Performance Snapshot
## Performance Impact AnalysisThis PR updates the Go version from 1.23 to 1.24 across all build environments, CI workflows, and the plugin compiler. The changes are limited to build configuration files and go.mod, with no modifications to actual code logic except for increasing RSA key sizes in tests from 512/1024 bits to 2048 bits to comply with Go 1.24's stricter security requirements. Go 1.24 includes several performance improvements that could positively impact Tyk Gateway, particularly in areas of memory allocation, garbage collection, and runtime efficiency. These improvements should benefit the Gateway's performance-critical paths, especially in high-throughput API proxying scenarios. ## Critical AreasThe most performance-sensitive areas that may benefit from the Go 1.24 upgrade:
## Optimization Recommendations
## Summary
Tip: Mention me again using |
Go 1.24 Upgrade AnalysisI've analyzed this PR which updates the Go version from 1.23 to 1.24 across the Tyk Gateway codebase. The changes are well-structured and consistent across most files, but there's one important inconsistency that should be addressed. Changes VerificationThe PR correctly updates Go version references in:
Security ImprovementsThe PR includes necessary test adjustments for Go 1.24 compatibility:
Issue FoundThere's one inconsistency in the codebase:
This inconsistency could cause issues with tools and development environments that rely on the Impact Analysis
RecommendationThe Otherwise, the changes look good and follow best practices for Go version upgrades. The PR correctly updates both the Gateway and plugin compiler to Go 1.24, ensuring compatibility between them. Tip: Mention me again using |
🚦 Connectivity Review Snapshot
## Connectivity Assessment
## Test Coverage Validation
## Security & Performance Impact
## Summary & Recommendations
Tip: Mention me again using |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Go 1.24 Upgrade AnalysisI've analyzed this PR which updates the Go version from 1.23 to 1.24 across the Tyk Gateway codebase. All necessary files have been properly updated: Version Updates
Security ImprovementsThe PR also includes necessary test adjustments for Go 1.24 compatibility:
These changes were required because Go 1.24 now considers 512-bit RSA keys insecure and will not allow them to be used. Impact AnalysisThis is a standard Go version upgrade with minimal impact. The PR correctly updates both the Gateway and plugin compiler to Go 1.24, ensuring compatibility between them. Any existing Go plugins will need to be recompiled with Go 1.24 to work with the updated Gateway. The PR is well-structured and follows best practices for Go version upgrades. Tip: Mention me again using |
Analysis of Go 1.24 Upgrade PRThis PR updates the Go version from 1.23 to 1.24 across the Tyk Gateway codebase. The changes are comprehensive and well-structured, covering all necessary components: Key Changes Verified
Security ImprovementsThe PR includes necessary adjustments for Go 1.24's enhanced security requirements:
Impact Analysis
ConclusionThis PR is a well-structured and comprehensive update to Go 1.24 that follows best practices for Go version upgrades. All necessary files have been updated consistently, and the PR addresses the security requirements of Go 1.24 by increasing RSA key sizes in tests. The PR is ready for approval. Tip: Mention me again using |
🛡️ Security Snapshot
## Security Impact AnalysisThis PR updates the Go version from 1.23 to 1.24 across all build environments, Docker images, and configuration files including the ## Identified VulnerabilitiesNo specific vulnerabilities were identified in this PR. The update from Go 1.23 to Go 1.24 is a routine language version upgrade that follows good security practices by keeping dependencies up to date. The PR includes necessary updates to test files where RSA key sizes needed to be increased from 512 bits to 2048 bits to comply with Go 1.24's security requirements, which addresses potential cryptographic weaknesses in test code. ## Security Recommendations
## OWASP ComplianceThis change aligns with OWASP best practices, particularly:
The increased RSA key size requirements in Go 1.24 also align with OWASP's recommendations for using strong cryptographic algorithms and key sizes. ## Summary
Tip: Mention me again using |
🚦 Connectivity Review Snapshot
## Connectivity Assessment
## Test Coverage Validation
## Security & Performance Impact
## Summary & Recommendations
Tip: Mention me again using |
|
/release to release-5.8 |
Working on it! Note that it can take a few minutes. |
### **User description** <details open> <summary><a href="https://tyktech.atlassian.net/browse/TT-15019" title="TT-15019" target="_blank">TT-15019</a></summary> <br /> <table> <tr> <th>Summary</th> <td>Update Gateway and Plugin Compiler to Go 1.24</td> </tr> <tr> <th>Type</th> <td> <img alt="Story" src="https://tyktech.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10315?size=medium" /> Story </td> </tr> <tr> <th>Status</th> <td>In Dev</td> </tr> <tr> <th>Points</th> <td>N/A</td> </tr> <tr> <th>Labels</th> <td>-</td> </tr> </table> </details> <!-- do not remove this marker as it will break jira-lint's functionality. added_by_jira_lint --> --- PR for https://tyktech.atlassian.net/browse/TT-15019 ___ ### **PR Type** Enhancement ___ ### **Description** - Update Go version to 1.24 across all workflows and Dockerfiles - Update plugin compiler base image to Go 1.24 - Update Go version in go.mod to 1.24.0 - Ensure all CI and release jobs use Go 1.24 images ___ ### Diagram Walkthrough ```mermaid flowchart LR A[".github/workflows/ci-tests.yml"] -- "Set go-version to 1.24.x" --> B["CI uses Go 1.24"] C[".github/workflows/plugin-compiler-build.yml"] -- "Set GOLANG_CROSS to 1.24-bullseye" --> D["Plugin compiler uses Go 1.24"] E[".github/workflows/release.yml"] -- "Update golang_cross matrix to 1.24-bullseye" --> F["Release jobs use Go 1.24"] G["Dockerfile"] -- "Set GO_VERSION to 1.24" --> H["Gateway builds with Go 1.24"] I["ci/images/plugin-compiler/Dockerfile"] -- "Set BASE_IMAGE to Go 1.24" --> J["Plugin compiler Docker image uses Go 1.24"] K["go.mod"] -- "Set go version to 1.24.0" --> L["Project uses Go 1.24"] ``` <details> <summary><h3> File Walkthrough</h3></summary> <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Enhancement</strong></td><td><table> <tr> <td> <details> <summary><strong>ci-tests.yml</strong><dd><code>Update CI test workflow to Go 1.24</code> </dd></summary> <hr> .github/workflows/ci-tests.yml - Update Go version in matrix from 1.23.x to 1.24.x for CI tests </details> </td> <td><a href="https://github.com/TykTechnologies/tyk/pull/7265/files#diff-03609cb60b0c6e92fb771eb8787d6722b8c31ca4c03eabc788e147acd8c6fb43">+1/-1</a> </td> </tr> <tr> <td> <details> <summary><strong>plugin-compiler-build.yml</strong><dd><code>Use Go 1.24 for plugin compiler build workflow</code> </dd></summary> <hr> .github/workflows/plugin-compiler-build.yml <ul><li>Set GOLANG_CROSS environment variable to 1.24-bullseye for plugin <br>compiler builds</ul> </details> </td> <td><a href="https://github.com/TykTechnologies/tyk/pull/7265/files#diff-f3a95a900eb0ac23af6314e9cdea29fa16af0a9bcb61793a83a32ff13d4c4e79">+1/-1</a> </td> </tr> <tr> <td> <details> <summary><strong>release.yml</strong><dd><code>Update release workflow to use Go 1.24</code> </dd></summary> <hr> .github/workflows/release.yml <ul><li>Update golang_cross matrix and related conditionals from 1.23-bullseye <br>to 1.24-bullseye<br> <li> Ensure all build, push, and artifact steps use Go 1.24</ul> </details> </td> <td><a href="https://github.com/TykTechnologies/tyk/pull/7265/files#diff-87db21a973eed4fef5f32b267aa60fcee5cbdf03c67fafdc2a9b553bb0b15f34">+11/-11</a> </td> </tr> <tr> <td> <details> <summary><strong>Dockerfile</strong><dd><code>Update Gateway Dockerfile to Go 1.24</code> </dd></summary> <hr> Dockerfile <ul><li>Change GO_VERSION build argument from 1.23 to 1.24<br> <li> Use golang:1.24-bullseye as base image</ul> </details> </td> <td><a href="https://github.com/TykTechnologies/tyk/pull/7265/files#diff-dd2c0eb6ea5cfc6c4bd4eac30934e2d5746747af48fef6da689e85b752f39557">+1/-1</a> </td> </tr> <tr> <td> <details> <summary><strong>Dockerfile</strong><dd><code>Update plugin compiler Dockerfile to Go 1.24</code> </dd></summary> <hr> ci/images/plugin-compiler/Dockerfile - Change BASE_IMAGE from Go 1.23 to Go 1.24 for plugin compiler </details> </td> <td><a href="https://github.com/TykTechnologies/tyk/pull/7265/files#diff-0ded1ed63ca128bd2d22721b0bc19dc85e440e4922164f465ac647917321971e">+1/-1</a> </td> </tr> <tr> <td> <details> <summary><strong>go.mod</strong><dd><code>Set project Go version to 1.24.0</code> </dd></summary> <hr> go.mod - Update Go version from 1.23.10 to 1.24.0 in go.mod </details> </td> <td><a href="https://github.com/TykTechnologies/tyk/pull/7265/files#diff-33ef32bf6c23acb95f5902d7097b7a1d5128ca061167ec0716715b0b9eeaa5f6">+1/-1</a> </td> </tr> </table></td></tr></tr></tbody></table> </details> ___ (cherry picked from commit ed93709)
@edsonmichaque Created merge PRs |
… to Go 1.24 (#7265) [TT-15019] Update Gateway and Plugin Compiler to Go 1.24 (#7265) ### **User description** <details open> <summary><a href="https://tyktech.atlassian.net/browse/TT-15019" title="TT-15019" target="_blank">TT-15019</a></summary> <br /> <table> <tr> <th>Summary</th> <td>Update Gateway and Plugin Compiler to Go 1.24</td> </tr> <tr> <th>Type</th> <td> <img alt="Story" src="https://tyktech.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10315?size=medium" /> Story </td> </tr> <tr> <th>Status</th> <td>In Dev</td> </tr> <tr> <th>Points</th> <td>N/A</td> </tr> <tr> <th>Labels</th> <td>-</td> </tr> </table> </details> <!-- do not remove this marker as it will break jira-lint's functionality. added_by_jira_lint --> --- PR for https://tyktech.atlassian.net/browse/TT-15019 ___ ### **PR Type** Enhancement ___ ### **Description** - Update Go version to 1.24 across all workflows and Dockerfiles - Update plugin compiler base image to Go 1.24 - Update Go version in go.mod to 1.24.0 - Ensure all CI and release jobs use Go 1.24 images ___ ### Diagram Walkthrough ```mermaid flowchart LR A[".github/workflows/ci-tests.yml"] -- "Set go-version to 1.24.x" --> B["CI uses Go 1.24"] C[".github/workflows/plugin-compiler-build.yml"] -- "Set GOLANG_CROSS to 1.24-bullseye" --> D["Plugin compiler uses Go 1.24"] E[".github/workflows/release.yml"] -- "Update golang_cross matrix to 1.24-bullseye" --> F["Release jobs use Go 1.24"] G["Dockerfile"] -- "Set GO_VERSION to 1.24" --> H["Gateway builds with Go 1.24"] I["ci/images/plugin-compiler/Dockerfile"] -- "Set BASE_IMAGE to Go 1.24" --> J["Plugin compiler Docker image uses Go 1.24"] K["go.mod"] -- "Set go version to 1.24.0" --> L["Project uses Go 1.24"] ``` <details> <summary><h3> File Walkthrough</h3></summary> <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Enhancement</strong></td><td><table> <tr> <td> <details> <summary><strong>ci-tests.yml</strong><dd><code>Update CI test workflow to Go 1.24</code> </dd></summary> <hr> .github/workflows/ci-tests.yml - Update Go version in matrix from 1.23.x to 1.24.x for CI tests </details> </td> <td><a href="https://github.com/TykTechnologies/tyk/pull/7265/files#diff-03609cb60b0c6e92fb771eb8787d6722b8c31ca4c03eabc788e147acd8c6fb43">+1/-1</a> </td> </tr> <tr> <td> <details> <summary><strong>plugin-compiler-build.yml</strong><dd><code>Use Go 1.24 for plugin compiler build workflow</code> </dd></summary> <hr> .github/workflows/plugin-compiler-build.yml <ul><li>Set GOLANG_CROSS environment variable to 1.24-bullseye for plugin <br>compiler builds</ul> </details> </td> <td><a href="https://github.com/TykTechnologies/tyk/pull/7265/files#diff-f3a95a900eb0ac23af6314e9cdea29fa16af0a9bcb61793a83a32ff13d4c4e79">+1/-1</a> </td> </tr> <tr> <td> <details> <summary><strong>release.yml</strong><dd><code>Update release workflow to use Go 1.24</code> </dd></summary> <hr> .github/workflows/release.yml <ul><li>Update golang_cross matrix and related conditionals from 1.23-bullseye <br>to 1.24-bullseye<br> <li> Ensure all build, push, and artifact steps use Go 1.24</ul> </details> </td> <td><a href="https://github.com/TykTechnologies/tyk/pull/7265/files#diff-87db21a973eed4fef5f32b267aa60fcee5cbdf03c67fafdc2a9b553bb0b15f34">+11/-11</a> </td> </tr> <tr> <td> <details> <summary><strong>Dockerfile</strong><dd><code>Update Gateway Dockerfile to Go 1.24</code> </dd></summary> <hr> Dockerfile <ul><li>Change GO_VERSION build argument from 1.23 to 1.24<br> <li> Use golang:1.24-bullseye as base image</ul> </details> </td> <td><a href="https://github.com/TykTechnologies/tyk/pull/7265/files#diff-dd2c0eb6ea5cfc6c4bd4eac30934e2d5746747af48fef6da689e85b752f39557">+1/-1</a> </td> </tr> <tr> <td> <details> <summary><strong>Dockerfile</strong><dd><code>Update plugin compiler Dockerfile to Go 1.24</code> </dd></summary> <hr> ci/images/plugin-compiler/Dockerfile - Change BASE_IMAGE from Go 1.23 to Go 1.24 for plugin compiler </details> </td> <td><a href="https://github.com/TykTechnologies/tyk/pull/7265/files#diff-0ded1ed63ca128bd2d22721b0bc19dc85e440e4922164f465ac647917321971e">+1/-1</a> </td> </tr> <tr> <td> <details> <summary><strong>go.mod</strong><dd><code>Set project Go version to 1.24.0</code> </dd></summary> <hr> go.mod - Update Go version from 1.23.10 to 1.24.0 in go.mod </details> </td> <td><a href="https://github.com/TykTechnologies/tyk/pull/7265/files#diff-33ef32bf6c23acb95f5902d7097b7a1d5128ca061167ec0716715b0b9eeaa5f6">+1/-1</a> </td> </tr> </table></td></tr></tr></tbody></table> </details> ___
User description
TT-15019
PR for https://tyktech.atlassian.net/browse/TT-15019
PR Type
Enhancement
Description
Update Go version to 1.24 across all workflows and Dockerfiles
Update plugin compiler base image to Go 1.24
Update Go version in go.mod to 1.24.0
Ensure all CI and release jobs use Go 1.24 images
Diagram Walkthrough
File Walkthrough
ci-tests.yml
Update CI test workflow to Go 1.24
.github/workflows/ci-tests.yml
plugin-compiler-build.yml
Use Go 1.24 for plugin compiler build workflow
.github/workflows/plugin-compiler-build.yml
compiler builds
release.yml
Update release workflow to use Go 1.24
.github/workflows/release.yml
to 1.24-bullseye
Dockerfile
Update Gateway Dockerfile to Go 1.24
Dockerfile
Dockerfile
Update plugin compiler Dockerfile to Go 1.24
ci/images/plugin-compiler/Dockerfile
go.mod
Set project Go version to 1.24.0
go.mod