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
       uses: actions/setup-go@v3
       with:
-        go-version: "1.23"
+        go-version: "1.24"
 
     - name: Find the Go Cache
       id: go

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

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

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

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

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

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

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

@@ -42,7 +42,7 @@ jobs:
     - name: Setup Go
       uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5.3.0
       with:
-        go-version: "1.23"
+        go-version: "1.24"
 
       # 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 :/

+ 1 - 1
Dockerfile.standalone

@@ -1,6 +1,6 @@
 # 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 .`
-FROM golang:1.23.6-alpine@sha256:2c49857f2295e89b23b28386e57e018a86620a8fede5003900f2d138ba9c4037 AS builder
+FROM golang:1.24.1-alpine@sha256:43c094ad24b6ac0546c62193baeb3e6e49ce14d3250845d166c77c25f64b0386 AS builder
 ARG TARGETOS
 ARG 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
 
 ## Tool Versions
-GOLANGCI_VERSION := 1.61.0
+GOLANGCI_VERSION := 1.64.6
 KUBERNETES_VERSION := 1.30.x
 TILT_VERSION := 0.33.21
 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>
   <h3> Required Version</h3>
   <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>
 
@@ -35,7 +35,7 @@ Please consult the <a href="https://go.dev/doc/install">official documentation</
   <summary>About Helm</summary>
   <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>
-  
+
   <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>
 </details>
@@ -58,7 +58,7 @@ Please consult the <a href="https://go.dev/doc/install">official documentation</
   <summary>About yq</summary>
   <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>
-  
+
   <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>
 </details>
@@ -82,7 +82,7 @@ Please consult the <a href="https://go.dev/doc/install">official documentation</
   <summary>About jq</summary>
   <h3>What is jq?</h3>
   <p>jq is a command-line tool for processing and manipulating JSON data.</p>
-  
+
   <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>
 </details>
@@ -103,13 +103,13 @@ Please consult the <a href="https://go.dev/doc/install">official documentation</
   <summary>About Kubernetes</summary>
   <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>
-  
+
   <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>
   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/).
 </p>
 </details>
@@ -121,7 +121,7 @@ Please consult the <a href="https://go.dev/doc/install">official documentation</
   <summary>About Docker</summary>
   <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>
-  
+
   <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>
 </details>
@@ -168,7 +168,7 @@ Please consult the <a href="https://go.dev/doc/install">official documentation</
   <h3>Required Version</h3>
   <p><strong>A version compatible with the installed Kubernetes version (usually the latest stable version).</strong></p>
   <h3>How to Install kubectl</h3>
-  
+
   <p>Please consult the <a href="https://kubernetes.io/docs/tasks/tools/">official kubectl documentation</a>.</p>
 </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 HELM_VERSION="v3.13.1"

+ 1 - 1
e2e/go.mod

@@ -1,6 +1,6 @@
 module github.com/external-secrets/external-secrets-e2e
 
-go 1.23.6
+go 1.24.1
 
 replace (
 	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
 
-go 1.23.6
+go 1.24.1
 
 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 /
 COPY ./bin/external-secrets /external-secrets