From 81ac4da910a258a56a01889a02b03aea63dc2bab Mon Sep 17 00:00:00 2001 From: Ginny Guan Date: Thu, 3 Oct 2024 12:08:54 +0800 Subject: [PATCH] ci: add support for golang 1.23 Signed-off-by: Ginny Guan --- src/test/groovy/edgeXBuildGoParallelSpec.groovy | 4 ++-- vars/edgeXBuildGoApp.groovy | 4 ++-- vars/edgeXBuildGoParallel.groovy | 4 ++-- vars/edgex.groovy | 3 ++- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/test/groovy/edgeXBuildGoParallelSpec.groovy b/src/test/groovy/edgeXBuildGoParallelSpec.groovy index c9638a75..d2151009 100644 --- a/src/test/groovy/edgeXBuildGoParallelSpec.groovy +++ b/src/test/groovy/edgeXBuildGoParallelSpec.groovy @@ -215,7 +215,7 @@ public class EdgeXBuildGoParallelSpec extends JenkinsPipelineSpecification { 'SILO': 'sandbox' ] edgeXBuildGoParallel.getBinding().setVariable('env', environmentVariables) - getPipelineMock('edgex.getGoLangBaseImage').call(_) >> 'nexus3.edgexfoundry.org:10003/edgex-devops/edgex-golang-base:1.21-alpine' + getPipelineMock('edgex.getGoLangBaseImage').call(_) >> 'nexus3.edgexfoundry.org:10003/edgex-devops/edgex-golang-base:1.23-alpine' expect: edgeXBuildGoParallel.toEnvironment(config) == expectedResult where: @@ -231,7 +231,7 @@ public class EdgeXBuildGoParallelSpec extends JenkinsPipelineSpecification { USE_SEMVER: true, TEST_SCRIPT: 'make test', BUILD_SCRIPT: 'make build', - GO_VERSION: '1.21', + GO_VERSION: '1.23', USE_ALPINE: true, DOCKER_FILE_GLOB: 'cmd/**/Dockerfile', DOCKER_IMAGE_NAME_PREFIX: '', diff --git a/vars/edgeXBuildGoApp.groovy b/vars/edgeXBuildGoApp.groovy index f9d0a744..f42d1fc1 100644 --- a/vars/edgeXBuildGoApp.groovy +++ b/vars/edgeXBuildGoApp.groovy @@ -34,7 +34,7 @@ import org.jenkinsci.plugins.workflow.libs.Library semver | optional | bool | Specify if semantic versioning will be used to version your project. **Note** edgeX utilizes [git-semver](https://github.com/edgexfoundry/git-semver) for semantic versioning.

**Default**: `true` testScript | optional | str | The command the build will use to test your project. **Note** the specified test script will execute in the project's CI build container.

**Default**: `make test` buildScript | optional | str | The command the build will use to build your project.

**Default**: `make build` - goVersion | optional | str | The version of Go to use for building the project's CI build image. **Note** this parameter is used in conjuction with the `useAlpineBase` parameter to determine the base for the project's CI build image.

**Default**: `1.21` + goVersion | optional | str | The version of Go to use for building the project's CI build image. **Note** this parameter is used in conjuction with the `useAlpineBase` parameter to determine the base for the project's CI build image.

**Default**: `1.23` goProxy | optional | str | The proxy to use when downloading Go modules. The value of this parameter will be set in the `GOPROXY` environment variable to control the download source of Go modules.

**Default**: `https://nexus3.edgexfoundry.org/repository/go-proxy/` useAlpineBase | optional | bool | Specify if an Alpine-based `edgex-golang-base:${goVersion}-alpine` image will be used as the base for the project's CI build image. If true, the respective `edgex-golang-base` image should exist in the Nexus snapshot repository, if a matching image is not found in Nexus then an Alpine-based `go-lang:${goVersion}-alpine` DockerHub image will be used. If false, then a non-Alpine `go-lang:${goVersion}` DockerHub image will be used. **Note** this parameter is used in conjuction with the `goVersion` parameter to determine the base for the projects' CI build image.

**Default**: `true` dockerFilePath | optional | str | The path to the Dockerfile for your project.

**Default**: `Dockerfile` @@ -638,7 +638,7 @@ def toEnvironment(config) { def _useSemver = edgex.defaultTrue(config.semver) def _testScript = config.testScript ?: 'make test' def _buildScript = config.buildScript ?: 'make build' - def _goVersion = config.goVersion ?: '1.21' + def _goVersion = config.goVersion ?: '1.23' def _goProxy = config.goProxy ?: 'https://nexus3.edgexfoundry.org/repository/go-proxy/' def _useAlpine = edgex.defaultTrue(config.useAlpineBase) diff --git a/vars/edgeXBuildGoParallel.groovy b/vars/edgeXBuildGoParallel.groovy index 54fbc9ac..fb90ff13 100644 --- a/vars/edgeXBuildGoParallel.groovy +++ b/vars/edgeXBuildGoParallel.groovy @@ -34,7 +34,7 @@ import org.jenkinsci.plugins.workflow.libs.Library semver | optional | bool | Specify if semantic versioning will be used to version your project. **Note** edgeX utilizes [git-semver](https://github.com/edgexfoundry/git-semver) for semantic versioning.

**Default**: `true` testScript | optional | str | The command the build will use to test your project. **Note** the specified test script will execute in the project's CI build container.

**Default**: `make test` buildScript | optional | str | The command the build will use to build your project.

**Default**: `make build` - goVersion | optional | str | The version of Go to use for building the project's CI build image. **Note** this parameter is used in conjuction with the `useAlpineBase` parameter to determine the base for the project's CI build image.

**Default**: `1.21` + goVersion | optional | str | The version of Go to use for building the project's CI build image. **Note** this parameter is used in conjuction with the `useAlpineBase` parameter to determine the base for the project's CI build image.

**Default**: `1.23` goProxy | optional | str | The proxy to use when downloading Go modules. The value of this parameter will be set in the `GOPROXY` environment variable to control the download source of Go modules.

**Default**: `https://nexus3.edgexfoundry.org/repository/go-proxy/` useAlpineBase | optional | bool | Specify if an Alpine-based `edgex-golang-base:${goVersion}-alpine` image will be used as the base for the project's CI build image. If true, the respective `edgex-golang-base` image should exist in the Nexus snapshot repository, if a matching image is not found in Nexus then an Alpine-based `go-lang:${goVersion}-alpine` DockerHub image will be used. If false, then a non-Alpine `go-lang:${goVersion}` DockerHub image will be used. **Note** this parameter is used in conjuction with the `goVersion` parameter to determine the base for the projects' CI build image.

**Default**: `true` dockerFileGlobPath | optional | str | The pattern for finding Dockerfiles to build. **Note** Docker images will be named with the same name as the directory which the Dockerfile was found in with a `docker-` prefix and `-go` suffix. Example: `docker--go`

**Default**: `cmd/** /Dockerfile` @@ -566,7 +566,7 @@ def toEnvironment(config) { def _useSemver = edgex.defaultTrue(config.semver) def _testScript = config.testScript ?: 'make test' def _buildScript = config.buildScript ?: 'make build' - def _goVersion = config.goVersion ?: '1.21' + def _goVersion = config.goVersion ?: '1.23' def _useAlpine = edgex.defaultTrue(config.useAlpineBase) def _dockerFileGlob = config.dockerFileGlobPath ?: 'cmd/**/Dockerfile' diff --git a/vars/edgex.groovy b/vars/edgex.groovy index c36df1c8..3d7ac321 100644 --- a/vars/edgex.groovy +++ b/vars/edgex.groovy @@ -277,7 +277,8 @@ def getGoLangBaseImage(version, alpineBased, branchOverride = null) { '1.17': 'nexus3.edgexfoundry.org:10003/edgex-devops/edgex-golang-base:1.17-alpine', '1.18': 'nexus3.edgexfoundry.org:10003/edgex-devops/edgex-golang-base:1.18-alpine', '1.20': 'nexus3.edgexfoundry.org:10003/edgex-devops/edgex-golang-base:1.20-alpine', - '1.21': 'nexus3.edgexfoundry.org:10003/edgex-devops/edgex-golang-base:1.21-alpine' + '1.21': 'nexus3.edgexfoundry.org:10003/edgex-devops/edgex-golang-base:1.21-alpine', + '1.23': 'nexus3.edgexfoundry.org:10003/edgex-devops/edgex-golang-base:1.23-alpine' ] def goLTSImages = [