Browse Source

feat: update the go version 1.24 (#4525)

* feat: update the go version 1.24

Signed-off-by: Gergely Brautigam <182850+Skarlso@users.noreply.github.com>

* update linter

Signed-off-by: Gergely Brautigam <182850+Skarlso@users.noreply.github.com>

---------

Signed-off-by: Gergely Brautigam <182850+Skarlso@users.noreply.github.com>
Gergely Brautigam 1 year ago
parent
commit
49ece5b221

+ 1 - 1
.github/actions/e2e-managed/action.yml

@@ -40,7 +40,7 @@ runs:
     - name: Setup Go
     - name: Setup Go
       uses: actions/setup-go@v3
       uses: actions/setup-go@v3
       with:
       with:
-        go-version: "1.23"
+        go-version: "1.24"
 
 
     - name: Find the Go Cache
     - name: Find the Go Cache
       id: go
       id: go

+ 1 - 1
.github/workflows/ci.yml

@@ -9,7 +9,7 @@ on:
 
 
 env:
 env:
   # Common versions
   # Common versions
-  GOLANGCI_VERSION: 'v1.61.0'
+  GOLANGCI_VERSION: 'v1.64.6'
   KUBERNETES_VERSION: '1.31.x'
   KUBERNETES_VERSION: '1.31.x'
 
 
   # Sonar
   # Sonar

+ 1 - 1
.github/workflows/e2e-managed.yml

@@ -7,7 +7,7 @@ permissions:
 
 
 env:
 env:
   # Common versions
   # Common versions
-  GO_VERSION: '1.23'
+  GO_VERSION: '1.24'
   GINKGO_VERSION: 'v2.8.0'
   GINKGO_VERSION: 'v2.8.0'
   DOCKER_BUILDX_VERSION: 'v0.4.2'
   DOCKER_BUILDX_VERSION: 'v0.4.2'
 
 

+ 1 - 1
.github/workflows/e2e.yml

@@ -14,7 +14,7 @@ name: e2e tests
 
 
 env:
 env:
   # Common versions
   # Common versions
-  GO_VERSION: '1.23'
+  GO_VERSION: '1.24'
   GINKGO_VERSION: 'v2.8.0'
   GINKGO_VERSION: 'v2.8.0'
   DOCKER_BUILDX_VERSION: 'v0.4.2'
   DOCKER_BUILDX_VERSION: 'v0.4.2'
   KIND_VERSION: 'v0.17.0'
   KIND_VERSION: 'v0.17.0'

+ 1 - 1
.github/workflows/update-deps.yml

@@ -42,7 +42,7 @@ jobs:
     - name: Setup Go
     - name: Setup Go
       uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5.3.0
       uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5.3.0
       with:
       with:
-        go-version: "1.23"
+        go-version: "1.24"
 
 
       # we can not use the default GHA token, as it prevents subsequent GHA
       # we can not use the default GHA token, as it prevents subsequent GHA
       # from running: we can create a PR but the tests won't run :/
       # from running: we can create a PR but the tests won't run :/

+ 1 - 1
Dockerfile.standalone

@@ -1,6 +1,6 @@
 # This version of Dockerfile is for building without external dependencies.
 # This version of Dockerfile is for building without external dependencies.
 # Build a multi-platform image e.g. `docker buildx build --push --platform linux/arm64,linux/amd64 --tag external-secrets:dev --file Dockerfile.standalone .`
 # Build a multi-platform image e.g. `docker buildx build --push --platform linux/arm64,linux/amd64 --tag external-secrets:dev --file Dockerfile.standalone .`
-FROM golang:1.23.6-alpine@sha256:2c49857f2295e89b23b28386e57e018a86620a8fede5003900f2d138ba9c4037 AS builder
+FROM golang:1.24.1-alpine@sha256:43c094ad24b6ac0546c62193baeb3e6e49ce14d3250845d166c77c25f64b0386 AS builder
 ARG TARGETOS
 ARG TARGETOS
 ARG TARGETARCH
 ARG TARGETARCH
 ENV CGO_ENABLED=0 GOOS=${TARGETOS} GOARCH=${TARGETARCH}
 ENV CGO_ENABLED=0 GOOS=${TARGETOS} GOARCH=${TARGETARCH}

+ 1 - 1
Makefile

@@ -353,7 +353,7 @@ ENVTEST ?= $(LOCALBIN)/setup-envtest
 GOLANGCI_LINT ?= $(LOCALBIN)/golangci-lint
 GOLANGCI_LINT ?= $(LOCALBIN)/golangci-lint
 
 
 ## Tool Versions
 ## Tool Versions
-GOLANGCI_VERSION := 1.61.0
+GOLANGCI_VERSION := 1.64.6
 KUBERNETES_VERSION := 1.30.x
 KUBERNETES_VERSION := 1.30.x
 TILT_VERSION := 0.33.21
 TILT_VERSION := 0.33.21
 CTY_VERSION := 1.1.3
 CTY_VERSION := 1.1.3

+ 9 - 9
docs/introduction/prerequisites.md

@@ -21,8 +21,8 @@ It is possible to use Windows for development, but there are important considera
   <summary>Golang Installation</summary>
   <summary>Golang Installation</summary>
   <h3> Required Version</h3>
   <h3> Required Version</h3>
   <p><strong>Minimum version:</strong> Go 1.20 or higher.</p>
   <p><strong>Minimum version:</strong> Go 1.20 or higher.</p>
-  <p><strong>Recommended version:</strong> Go 1.23.3</p>
-  <blockquote> As of this writing, the latest version of Go is <strong>1.23.3</strong>As of this writing, the latest version of Go is 1.23.3 , which worked perfectly with the <strong>External Secrets Operator</strong> project. Previous versions failed to test the application. Before testing the project, check your Go version.</blockquote>
+  <p><strong>Recommended version:</strong> Go 1.24.1</p>
+  <blockquote> As of this writing, the latest version of Go is <strong>1.24.1</strong>As of this writing, the latest version of Go is 1.24.1 , which worked perfectly with the <strong>External Secrets Operator</strong> project. Previous versions failed to test the application. Before testing the project, check your Go version.</blockquote>
 
 
   <h3> How to Install Go</h3>
   <h3> How to Install Go</h3>
 
 
@@ -35,7 +35,7 @@ Please consult the <a href="https://go.dev/doc/install">official documentation</
   <summary>About Helm</summary>
   <summary>About Helm</summary>
   <h3>What is Helm?</h3>
   <h3>What is Helm?</h3>
   <p>Helm is a package manager for Kubernetes, the platform that automates deployment, scaling, and management of containerized applications.</p>
   <p>Helm is a package manager for Kubernetes, the platform that automates deployment, scaling, and management of containerized applications.</p>
-  
+
   <h3>Why is Helm necessary?</h3>
   <h3>Why is Helm necessary?</h3>
   <p>In the <strong>External Secrets Operator</strong> project, Helm is used to simplify the installation and management of applications within Kubernetes, automating complex configuration and deployment processes.</p>
   <p>In the <strong>External Secrets Operator</strong> project, Helm is used to simplify the installation and management of applications within Kubernetes, automating complex configuration and deployment processes.</p>
 </details>
 </details>
@@ -58,7 +58,7 @@ Please consult the <a href="https://go.dev/doc/install">official documentation</
   <summary>About yq</summary>
   <summary>About yq</summary>
   <h3>What is yq?</h3>
   <h3>What is yq?</h3>
   <p>yq is a command-line tool for reading, manipulating, and writing YAML files, which are widely used for configurations.</p>
   <p>yq is a command-line tool for reading, manipulating, and writing YAML files, which are widely used for configurations.</p>
-  
+
   <h3>Why is yq necessary?</h3>
   <h3>Why is yq necessary?</h3>
   <p>In the <strong>External Secrets Operator</strong> project, yq is used to automate the editing of YAML configuration files, facilitating adjustments and implementations.</p>
   <p>In the <strong>External Secrets Operator</strong> project, yq is used to automate the editing of YAML configuration files, facilitating adjustments and implementations.</p>
 </details>
 </details>
@@ -82,7 +82,7 @@ Please consult the <a href="https://go.dev/doc/install">official documentation</
   <summary>About jq</summary>
   <summary>About jq</summary>
   <h3>What is jq?</h3>
   <h3>What is jq?</h3>
   <p>jq is a command-line tool for processing and manipulating JSON data.</p>
   <p>jq is a command-line tool for processing and manipulating JSON data.</p>
-  
+
   <h3>Why is jq needed?</h3>
   <h3>Why is jq needed?</h3>
   <p>In the <strong>External Secrets Operator</strong> project, jq is essential for working with JSON data, enabling efficient filtering and transformation of information.</p>
   <p>In the <strong>External Secrets Operator</strong> project, jq is essential for working with JSON data, enabling efficient filtering and transformation of information.</p>
 </details>
 </details>
@@ -103,13 +103,13 @@ Please consult the <a href="https://go.dev/doc/install">official documentation</
   <summary>About Kubernetes</summary>
   <summary>About Kubernetes</summary>
   <h3>What is Kubernetes?</h3>
   <h3>What is Kubernetes?</h3>
   <p>Kubernetes is an open-source platform for automating the deployment, scaling, and management of containerized applications. It orchestrates containerized workloads across a cluster of machines, ensuring high availability and efficient resource utilization.</p>
   <p>Kubernetes is an open-source platform for automating the deployment, scaling, and management of containerized applications. It orchestrates containerized workloads across a cluster of machines, ensuring high availability and efficient resource utilization.</p>
-  
+
   <h3>Why is Kubernetes needed?</h3>
   <h3>Why is Kubernetes needed?</h3>
   <p>In the <strong>External Secrets Operator</strong> project, Kubernetes provides the infrastructure to deploy and manage containerized applications. It allows integration with cloud-native services, enabling scalability, fault tolerance, and streamlined operations in dynamic environments.</p>
   <p>In the <strong>External Secrets Operator</strong> project, Kubernetes provides the infrastructure to deploy and manage containerized applications. It allows integration with cloud-native services, enabling scalability, fault tolerance, and streamlined operations in dynamic environments.</p>
 
 
   <p>
   <p>
   To work with Kubernetes, we need to install and configure some tools first. This will be explained in the sections below.
   To work with Kubernetes, we need to install and configure some tools first. This will be explained in the sections below.
-  
+
   For more details, check the [official documentation](https://kubernetes.io/docs/home/).
   For more details, check the [official documentation](https://kubernetes.io/docs/home/).
 </p>
 </p>
 </details>
 </details>
@@ -121,7 +121,7 @@ Please consult the <a href="https://go.dev/doc/install">official documentation</
   <summary>About Docker</summary>
   <summary>About Docker</summary>
   <h3>What is Docker?</h3>
   <h3>What is Docker?</h3>
   <p>Docker is a platform for building, deploying, and running applications in containers. Containers package an application with all its dependencies into a standard unit for development and deployment.</p>
   <p>Docker is a platform for building, deploying, and running applications in containers. Containers package an application with all its dependencies into a standard unit for development and deployment.</p>
-  
+
   <h3>Why is Docker needed?</h3>
   <h3>Why is Docker needed?</h3>
   <p>In the <strong>External Secrets Operator</strong> project, Docker is used to create container images and run services in isolated environments. It is essential for developing, testing, and deploying the application within a Kubernetes environment.</p>
   <p>In the <strong>External Secrets Operator</strong> project, Docker is used to create container images and run services in isolated environments. It is essential for developing, testing, and deploying the application within a Kubernetes environment.</p>
 </details>
 </details>
@@ -168,7 +168,7 @@ Please consult the <a href="https://go.dev/doc/install">official documentation</
   <h3>Required Version</h3>
   <h3>Required Version</h3>
   <p><strong>A version compatible with the installed Kubernetes version (usually the latest stable version).</strong></p>
   <p><strong>A version compatible with the installed Kubernetes version (usually the latest stable version).</strong></p>
   <h3>How to Install kubectl</h3>
   <h3>How to Install kubectl</h3>
-  
+
   <p>Please consult the <a href="https://kubernetes.io/docs/tasks/tools/">official kubectl documentation</a>.</p>
   <p>Please consult the <a href="https://kubernetes.io/docs/tasks/tools/">official kubectl documentation</a>.</p>
 </details>
 </details>
 
 

+ 1 - 1
e2e/Dockerfile

@@ -1,4 +1,4 @@
-FROM golang:1.23.6-bookworm@sha256:441f59f8a2104b99320e1f5aaf59a81baabbc36c81f4e792d5715ef09dd29355 AS builder
+FROM golang:1.24.1-bookworm@sha256:d7d795d0a9f51b00d9c9bfd17388c2c626004a50c6ed7c581e095122507fe1ab AS builder
 
 
 ENV KUBECTL_VERSION="v1.28.3"
 ENV KUBECTL_VERSION="v1.28.3"
 ENV HELM_VERSION="v3.13.1"
 ENV HELM_VERSION="v3.13.1"

+ 1 - 1
e2e/go.mod

@@ -1,6 +1,6 @@
 module github.com/external-secrets/external-secrets-e2e
 module github.com/external-secrets/external-secrets-e2e
 
 
-go 1.23.6
+go 1.24.1
 
 
 replace (
 replace (
 	github.com/Masterminds/sprig/v3 => github.com/external-secrets/sprig/v3 v3.3.0
 	github.com/Masterminds/sprig/v3 => github.com/external-secrets/sprig/v3 v3.3.0

+ 1 - 1
go.mod

@@ -1,6 +1,6 @@
 module github.com/external-secrets/external-secrets
 module github.com/external-secrets/external-secrets
 
 
-go 1.23.6
+go 1.24.1
 
 
 replace github.com/Masterminds/sprig/v3 => github.com/external-secrets/sprig/v3 v3.3.0
 replace github.com/Masterminds/sprig/v3 => github.com/external-secrets/sprig/v3 v3.3.0
 
 

+ 1 - 1
tilt.debug.dockerfile

@@ -1,4 +1,4 @@
-FROM golang:1.23.6@sha256:927112936d6b496ed95f55f362cc09da6e3e624ef868814c56d55bd7323e0959
+FROM golang:1.24.1@sha256:43c094ad24b6ac0546c62193baeb3e6e49ce14d3250845d166c77c25f64b0386
 WORKDIR /
 WORKDIR /
 COPY ./bin/external-secrets /external-secrets
 COPY ./bin/external-secrets /external-secrets