Skip to content

Merging to release-5.8: [TT-15019] Update Gateway and Plugin Compiler to Go 1.24 (#7265) #7283

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

buger
Copy link
Member

@buger buger commented Aug 7, 2025

User description

TT-15019 Update Gateway and Plugin Compiler to Go 1.24 (#7265)

User description

TT-15019
Summary Update Gateway and Plugin Compiler to Go 1.24
Type Story Story
Status In Dev
Points N/A
Labels -

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

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"]
Loading

File Walkthrough

Relevant files
Enhancement
ci-tests.yml
Update CI test workflow to Go 1.24                                             

.github/workflows/ci-tests.yml

  • Update Go version in matrix from 1.23.x to 1.24.x for CI tests
+1/-1     
plugin-compiler-build.yml
Use Go 1.24 for plugin compiler build workflow                     

.github/workflows/plugin-compiler-build.yml

  • Set GOLANG_CROSS environment variable to 1.24-bullseye for plugin
    compiler builds
+1/-1     
release.yml
Update release workflow to use Go 1.24                                     

.github/workflows/release.yml

  • Update golang_cross matrix and related conditionals from 1.23-bullseye
    to 1.24-bullseye
  • Ensure all build, push, and artifact steps use Go 1.24
+11/-11 
Dockerfile
Update Gateway Dockerfile to Go 1.24                                         

Dockerfile

  • Change GO_VERSION build argument from 1.23 to 1.24
  • Use golang:1.24-bullseye as base image
+1/-1     
Dockerfile
Update plugin compiler Dockerfile to Go 1.24                         

ci/images/plugin-compiler/Dockerfile

  • Change BASE_IMAGE from Go 1.23 to Go 1.24 for plugin compiler
+1/-1     
go.mod
Set project Go version to 1.24.0                                                 

go.mod

  • Update Go version from 1.23.10 to 1.24.0 in go.mod
+1/-1     


PR Type

Enhancement


Description

  • Upgrade Go version to 1.24 across all workflows and Dockerfiles

  • Update plugin compiler and gateway Docker images to Go 1.24

  • Set Go version to 1.24.0 in go.mod and .go-version

  • Improve test security by using 2048-bit RSA keys


Diagram Walkthrough

flowchart LR
  A[".github/workflows/ci-tests.yml"] -- "Go version 1.24.x" --> B["CI uses Go 1.24"]
  C[".github/workflows/plugin-compiler-build.yml"] -- "GOLANG_CROSS 1.24-bullseye" --> D["Plugin compiler uses Go 1.24"]
  E[".github/workflows/release.yml"] -- "golang_cross 1.24-bullseye" --> F["Release jobs use Go 1.24"]
  G["Dockerfile"] -- "GO_VERSION 1.24" --> H["Gateway builds with Go 1.24"]
  I["ci/images/plugin-compiler/Dockerfile"] -- "BASE_IMAGE Go 1.24" --> J["Plugin compiler Docker image uses Go 1.24"]
  K["go.mod"] -- "Go version 1.24.0" --> L["Project uses Go 1.24"]
  M["test/tcp.go & certs/manager_test.go"] -- "2048-bit RSA keys" --> N["Test security improved"]
Loading

File Walkthrough

Relevant files

### **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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </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>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
  <td>
    <details>
<summary><strong>plugin-compiler-build.yml</strong><dd><code>Use Go 1.24
for plugin compiler build workflow</code>&nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </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>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
  <td>
    <details>
<summary><strong>release.yml</strong><dd><code>Update release workflow
to use Go 1.24</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; </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>&nbsp;
</td>

</tr>

<tr>
  <td>
    <details>
<summary><strong>Dockerfile</strong><dd><code>Update Gateway Dockerfile
to Go 1.24</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; </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>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
  <td>
    <details>
<summary><strong>Dockerfile</strong><dd><code>Update plugin compiler
Dockerfile to Go 1.24</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </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>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
  <td>
    <details>
<summary><strong>go.mod</strong><dd><code>Set project Go version to
1.24.0</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </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>&nbsp;
&nbsp; &nbsp; </td>

</tr>
</table></td></tr></tr></tbody></table>

</details>

___

(cherry picked from commit ed93709)
@buger buger requested review from a team as code owners August 7, 2025 15:44
@buger buger enabled auto-merge (squash) August 7, 2025 15:44
Copy link
Contributor

github-actions bot commented Aug 7, 2025

API Changes

no api changes detected

Copy link
Contributor

github-actions bot commented Aug 7, 2025

PR Code Suggestions ✨

No code suggestions found for the PR.

Copy link

sonarqubecloud bot commented Aug 7, 2025

Quality Gate Failed Quality Gate failed

Failed conditions
1 Security Hotspot

See analysis details on SonarQube Cloud

@buger buger merged commit 394fef1 into release-5.8 Aug 8, 2025
66 of 68 checks passed
@buger buger deleted the merge/release-5.8/ed937092e169472274ac32eecf97d58ae38a7ff0 branch August 8, 2025 08:54
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.

2 participants