diff --git a/.github/actions/setup-default-test-properties/test-properties.json b/.github/actions/setup-default-test-properties/test-properties.json index ffe1cac01127..e877418a20c4 100644 --- a/.github/actions/setup-default-test-properties/test-properties.json +++ b/.github/actions/setup-default-test-properties/test-properties.json @@ -18,6 +18,6 @@ "SPARK_VERSIONS": ["2", "3"] }, "GoTestProperties": { - "SUPPORTED_VERSIONS": ["1.23"] + "SUPPORTED_VERSIONS": ["1.25"] } } diff --git a/.github/actions/setup-environment-action/action.yml b/.github/actions/setup-environment-action/action.yml index d5f1f879a072..cddcd4f50443 100644 --- a/.github/actions/setup-environment-action/action.yml +++ b/.github/actions/setup-environment-action/action.yml @@ -83,5 +83,5 @@ runs: if: ${{ inputs.go-version != '' }} uses: actions/setup-go@v5 with: - go-version: ${{ inputs.go-version == 'default' && '1.24' || inputs.go-version }} # never set patch, to get latest patch releases. + go-version: ${{ inputs.go-version == 'default' && '1.25' || inputs.go-version }} # never set patch, to get latest patch releases. cache-dependency-path: $${{ inputs.disable-cache && '' || 'sdks/go.sum' }} diff --git a/.github/gh-actions-self-hosted-runners/arc/images/Dockerfile b/.github/gh-actions-self-hosted-runners/arc/images/Dockerfile index 3af909de40ad..9ea7e0738997 100644 --- a/.github/gh-actions-self-hosted-runners/arc/images/Dockerfile +++ b/.github/gh-actions-self-hosted-runners/arc/images/Dockerfile @@ -31,7 +31,7 @@ RUN curl -OL https://nodejs.org/dist/v22.14.0/node-v22.14.0-linux-x64.tar.xz && mv /usr/local/node-v22.14.0-linux-x64 /usr/local/node ENV PATH="${PATH}:/usr/local/node/bin" #Install Go -ARG go_version=1.24.0 +ARG go_version=1.25.2 RUN curl -OL https://go.dev/dl/go${go_version}.linux-amd64.tar.gz && \ tar -C /usr/local -xzf go${go_version}.linux-amd64.tar.gz && \ rm go${go_version}.linux-amd64.tar.gz @@ -69,7 +69,7 @@ RUN curl -OL https://dl.k8s.io/release/v1.28.1/bin/linux/amd64/kubectl && \ chmod +x ./kubectl && \ mv ./kubectl /usr/local/bin/kubectl #Install Apache Maven -RUN curl -OL https://dlcdn.apache.org/maven/maven-3/3.9.4/binaries/apache-maven-3.9.4-bin.tar.gz && \ +RUN curl -OL https://archive.apache.org/dist/maven/maven-3/3.9.4/binaries/apache-maven-3.9.4-bin.tar.gz && \ tar -xvf apache-maven-3.9.4-bin.tar.gz && \ rm apache-maven-3.9.4-bin.tar.gz && \ mv apache-maven-3.9.4 /usr/local/maven diff --git a/.github/workflows/build_release_candidate.yml b/.github/workflows/build_release_candidate.yml index 2a6ac1027f18..84350327259c 100644 --- a/.github/workflows/build_release_candidate.yml +++ b/.github/workflows/build_release_candidate.yml @@ -451,7 +451,7 @@ jobs: fi - uses: actions/setup-go@v6 with: - go-version: '1.24' + go-version: '1.25' - name: Import GPG key id: import_gpg uses: crazy-max/ghaction-import-gpg@e89d40939c28e39f97cf32126055eeae86ba74ec diff --git a/CHANGES.md b/CHANGES.md index 6a8f0bbd41d1..07f3b4f5accc 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -75,7 +75,6 @@ ## New Features / Improvements -* X feature added (Java/Python) ([#X](https://github.com/apache/beam/issues/X)). * Python examples added for CloudSQL enrichment handler on [Beam website](https://beam.apache.org/documentation/transforms/python/elementwise/enrichment-cloudsql/) (Python) ([#35473](https://github.com/apache/beam/issues/36095)). * Support for batch mode execution in WriteToPubSub transform added (Python) ([#35990](https://github.com/apache/beam/issues/35990)). * Added official support for Python 3.13 ([#34869](https://github.com/apache/beam/issues/34869)). @@ -87,6 +86,7 @@ This may break update compatibility if you don't provide a `--transform_name_mapping`. * Removed deprecated Hadoop versions (2.10.2 and 3.2.4) that are no longer supported for [Iceberg](https://github.com/apache/iceberg/issues/10940) from IcebergIO ([#36282](https://github.com/apache/beam/issues/36282)). * (Go) Coder construction on SDK side is more faithful to the specs from runners without stripping length-prefix. This may break streaming pipeline update as the underlying coder could be changed ([#36387](https://github.com/apache/beam/issues/36387)). +* Minimum Go version for Beam Go updated to 1.25.2 ([#36461](https://github.com/apache/beam/issues/36461)). ## Deprecations diff --git a/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy b/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy index c58b653b7eb9..6b6cbe4acd19 100644 --- a/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy +++ b/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy @@ -2337,7 +2337,7 @@ class BeamModulePlugin implements Plugin { // This sets the whole project Go version. // The latest stable Go version can be checked at https://go.dev/dl/ - project.ext.goVersion = "go1.24.4" + project.ext.goVersion = "go1.25.2" // Minor TODO: Figure out if we can pull out the GOCMD env variable after goPrepare script // completion, and avoid this GOBIN substitution. diff --git a/dev-support/docker/Dockerfile b/dev-support/docker/Dockerfile index 143c3c6decf4..af8a4afe0bb1 100644 --- a/dev-support/docker/Dockerfile +++ b/dev-support/docker/Dockerfile @@ -74,7 +74,7 @@ RUN pip3 install --break-system-packages distlib==0.3.9 yapf==0.43.0 pytest plug ### # Install Go ### -ENV DOWNLOAD_GO_VERSION=1.24.0 +ENV DOWNLOAD_GO_VERSION=1.25.2 RUN wget https://golang.org/dl/go${DOWNLOAD_GO_VERSION}.linux-amd64.tar.gz && \ tar -C /usr/local -xzf go${DOWNLOAD_GO_VERSION}.linux-amd64.tar.gz ENV GOROOT /usr/local/go diff --git a/playground/infrastructure/cloudbuild/playground_ci_examples.sh b/playground/infrastructure/cloudbuild/playground_ci_examples.sh index 959989900dc9..ed5b70148623 100755 --- a/playground/infrastructure/cloudbuild/playground_ci_examples.sh +++ b/playground/infrastructure/cloudbuild/playground_ci_examples.sh @@ -84,7 +84,7 @@ export STEP=CI export SDK_CONFIG="$BEAM_ROOT_DIR/playground/sdks.yaml" export BEAM_EXAMPLE_CATEGORIES="$BEAM_ROOT_DIR/playground/categories.yaml" export GRADLE_VERSION=7.5.1 -export GO_VERSION=1.24 +export GO_VERSION=1.25 LogOutput "Installing python java8 and dependencies" apt-get update > /dev/null diff --git a/sdks/go.mod b/sdks/go.mod index 0a892c9cb853..905d48ffedec 100644 --- a/sdks/go.mod +++ b/sdks/go.mod @@ -20,9 +20,9 @@ // directory. module github.com/apache/beam/sdks/v2 -go 1.24.0 +go 1.25.0 -toolchain go1.24.4 +toolchain go1.25.2 require ( cloud.google.com/go/bigquery v1.70.0 diff --git a/sdks/go/run_with_go_version.sh b/sdks/go/run_with_go_version.sh index 84272fbc65ba..dfc8d228e257 100755 --- a/sdks/go/run_with_go_version.sh +++ b/sdks/go/run_with_go_version.sh @@ -37,7 +37,7 @@ set -e # # This variable is also used as the execution command downscript. # The list of downloadable versions are at https://go.dev/dl/ -GOVERS=go1.24.4 +GOVERS=go1.25.2 if ! command -v go &> /dev/null then