Skip to content

Conversation

@tianon
Copy link
Member

@tianon tianon commented Feb 7, 2024

Changes:

Changes:

- docker-library/golang@dae3405: Merge pull request docker-library/golang#507 from infosiftr/go1.22
- docker-library/golang@893a2c9: Update to 1.22.0 (GA)
@github-actions
Copy link

github-actions bot commented Feb 7, 2024

Diff for a854781:
diff --git a/_bashbrew-arches b/_bashbrew-arches
index 43c9140..9b8302c 100644
--- a/_bashbrew-arches
+++ b/_bashbrew-arches
@@ -1,5 +1,4 @@
 amd64
-arm32v5
 arm32v6
 arm32v7
 arm64v8
diff --git a/_bashbrew-cat b/_bashbrew-cat
index cbb6220..6a59b19 100644
--- a/_bashbrew-cat
+++ b/_bashbrew-cat
@@ -2,161 +2,108 @@ Maintainers: Tianon Gravi <admwiggin@gmail.com> (@tianon), Joseph Ferguson <yosi
 GitRepo: https://github.com/docker-library/golang.git
 Builder: buildkit
 
-Tags: 1.20.14-alpine3.18, 1.20-alpine3.18
+Tags: 1.21.7-alpine3.18, 1.21-alpine3.18
 Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, s390x
-GitCommit: b979efaabcc5b7ca012ba608cd0eaf4df8ef7f66
-Directory: 1.20/alpine3.18
-
-Tags: 1.20.14-alpine3.19, 1.20-alpine3.19, 1.20.14-alpine, 1.20-alpine
-Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, s390x
-GitCommit: b979efaabcc5b7ca012ba608cd0eaf4df8ef7f66
-Directory: 1.20/alpine3.19
-
-Tags: 1.20.14-bookworm, 1.20-bookworm
-SharedTags: 1.20.14, 1.20
-Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, mips64le, ppc64le, s390x
-GitCommit: b979efaabcc5b7ca012ba608cd0eaf4df8ef7f66
-Directory: 1.20/bookworm
-
-Tags: 1.20.14-bullseye, 1.20-bullseye
-Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, mips64le, ppc64le, s390x
-GitCommit: b979efaabcc5b7ca012ba608cd0eaf4df8ef7f66
-Directory: 1.20/bullseye
-
-Tags: 1.20.14-nanoserver-1809, 1.20-nanoserver-1809
-SharedTags: 1.20.14-nanoserver, 1.20-nanoserver
-Architectures: windows-amd64
-GitCommit: b979efaabcc5b7ca012ba608cd0eaf4df8ef7f66
-Directory: 1.20/windows/nanoserver-1809
-Builder: classic
-Constraints: nanoserver-1809, windowsservercore-1809
-
-Tags: 1.20.14-nanoserver-ltsc2022, 1.20-nanoserver-ltsc2022
-SharedTags: 1.20.14-nanoserver, 1.20-nanoserver
-Architectures: windows-amd64
-GitCommit: b979efaabcc5b7ca012ba608cd0eaf4df8ef7f66
-Directory: 1.20/windows/nanoserver-ltsc2022
-Builder: classic
-Constraints: nanoserver-ltsc2022, windowsservercore-ltsc2022
-
-Tags: 1.20.14-windowsservercore-1809, 1.20-windowsservercore-1809
-SharedTags: 1.20.14-windowsservercore, 1.20-windowsservercore, 1.20.14, 1.20
-Architectures: windows-amd64
-GitCommit: b979efaabcc5b7ca012ba608cd0eaf4df8ef7f66
-Directory: 1.20/windows/windowsservercore-1809
-Builder: classic
-Constraints: windowsservercore-1809
-
-Tags: 1.20.14-windowsservercore-ltsc2022, 1.20-windowsservercore-ltsc2022
-SharedTags: 1.20.14-windowsservercore, 1.20-windowsservercore, 1.20.14, 1.20
-Architectures: windows-amd64
-GitCommit: b979efaabcc5b7ca012ba608cd0eaf4df8ef7f66
-Directory: 1.20/windows/windowsservercore-ltsc2022
-Builder: classic
-Constraints: windowsservercore-ltsc2022
-
-Tags: 1.21.7-alpine3.18, 1.21-alpine3.18, 1-alpine3.18, alpine3.18
-Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, s390x
-GitCommit: 1ffd990d2051bebd4d914d970484c6a93f3005f2
+GitCommit: 893a2c96ba6154de2ad3663d087998bfda0a04e9
 Directory: 1.21/alpine3.18
 
-Tags: 1.21.7-alpine3.19, 1.21-alpine3.19, 1-alpine3.19, alpine3.19, 1.21.7-alpine, 1.21-alpine, 1-alpine, alpine
+Tags: 1.21.7-alpine3.19, 1.21-alpine3.19, 1.21.7-alpine, 1.21-alpine
 Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, s390x
-GitCommit: 1ffd990d2051bebd4d914d970484c6a93f3005f2
+GitCommit: 893a2c96ba6154de2ad3663d087998bfda0a04e9
 Directory: 1.21/alpine3.19
 
-Tags: 1.21.7-bookworm, 1.21-bookworm, 1-bookworm, bookworm
-SharedTags: 1.21.7, 1.21, 1, latest
+Tags: 1.21.7-bookworm, 1.21-bookworm
+SharedTags: 1.21.7, 1.21
 Architectures: amd64, arm32v7, arm64v8, i386, mips64le, ppc64le, s390x
-GitCommit: 1ffd990d2051bebd4d914d970484c6a93f3005f2
+GitCommit: 893a2c96ba6154de2ad3663d087998bfda0a04e9
 Directory: 1.21/bookworm
 
-Tags: 1.21.7-bullseye, 1.21-bullseye, 1-bullseye, bullseye
+Tags: 1.21.7-bullseye, 1.21-bullseye
 Architectures: amd64, arm32v7, arm64v8, i386, mips64le, ppc64le, s390x
-GitCommit: 1ffd990d2051bebd4d914d970484c6a93f3005f2
+GitCommit: 893a2c96ba6154de2ad3663d087998bfda0a04e9
 Directory: 1.21/bullseye
 
-Tags: 1.21.7-nanoserver-1809, 1.21-nanoserver-1809, 1-nanoserver-1809, nanoserver-1809
-SharedTags: 1.21.7-nanoserver, 1.21-nanoserver, 1-nanoserver, nanoserver
+Tags: 1.21.7-nanoserver-1809, 1.21-nanoserver-1809
+SharedTags: 1.21.7-nanoserver, 1.21-nanoserver
 Architectures: windows-amd64
 GitCommit: 1ffd990d2051bebd4d914d970484c6a93f3005f2
 Directory: 1.21/windows/nanoserver-1809
 Builder: classic
 Constraints: nanoserver-1809, windowsservercore-1809
 
-Tags: 1.21.7-nanoserver-ltsc2022, 1.21-nanoserver-ltsc2022, 1-nanoserver-ltsc2022, nanoserver-ltsc2022
-SharedTags: 1.21.7-nanoserver, 1.21-nanoserver, 1-nanoserver, nanoserver
+Tags: 1.21.7-nanoserver-ltsc2022, 1.21-nanoserver-ltsc2022
+SharedTags: 1.21.7-nanoserver, 1.21-nanoserver
 Architectures: windows-amd64
 GitCommit: 1ffd990d2051bebd4d914d970484c6a93f3005f2
 Directory: 1.21/windows/nanoserver-ltsc2022
 Builder: classic
 Constraints: nanoserver-ltsc2022, windowsservercore-ltsc2022
 
-Tags: 1.21.7-windowsservercore-1809, 1.21-windowsservercore-1809, 1-windowsservercore-1809, windowsservercore-1809
-SharedTags: 1.21.7-windowsservercore, 1.21-windowsservercore, 1-windowsservercore, windowsservercore, 1.21.7, 1.21, 1, latest
+Tags: 1.21.7-windowsservercore-1809, 1.21-windowsservercore-1809
+SharedTags: 1.21.7-windowsservercore, 1.21-windowsservercore, 1.21.7, 1.21
 Architectures: windows-amd64
 GitCommit: 1ffd990d2051bebd4d914d970484c6a93f3005f2
 Directory: 1.21/windows/windowsservercore-1809
 Builder: classic
 Constraints: windowsservercore-1809
 
-Tags: 1.21.7-windowsservercore-ltsc2022, 1.21-windowsservercore-ltsc2022, 1-windowsservercore-ltsc2022, windowsservercore-ltsc2022
-SharedTags: 1.21.7-windowsservercore, 1.21-windowsservercore, 1-windowsservercore, windowsservercore, 1.21.7, 1.21, 1, latest
+Tags: 1.21.7-windowsservercore-ltsc2022, 1.21-windowsservercore-ltsc2022
+SharedTags: 1.21.7-windowsservercore, 1.21-windowsservercore, 1.21.7, 1.21
 Architectures: windows-amd64
 GitCommit: 1ffd990d2051bebd4d914d970484c6a93f3005f2
 Directory: 1.21/windows/windowsservercore-ltsc2022
 Builder: classic
 Constraints: windowsservercore-ltsc2022
 
-Tags: 1.22rc2-alpine3.18, 1.22-rc-alpine3.18
+Tags: 1.22.0-alpine3.18, 1.22-alpine3.18, 1-alpine3.18, alpine3.18
 Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, s390x
-GitCommit: 343f83dbad29bb3b6f8c8eb8fa0459b6f2ea6aec
-Directory: 1.22-rc/alpine3.18
+GitCommit: 893a2c96ba6154de2ad3663d087998bfda0a04e9
+Directory: 1.22/alpine3.18
 
-Tags: 1.22rc2-alpine3.19, 1.22-rc-alpine3.19, 1.22rc2-alpine, 1.22-rc-alpine
+Tags: 1.22.0-alpine3.19, 1.22-alpine3.19, 1-alpine3.19, alpine3.19, 1.22.0-alpine, 1.22-alpine, 1-alpine, alpine
 Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, s390x
-GitCommit: 343f83dbad29bb3b6f8c8eb8fa0459b6f2ea6aec
-Directory: 1.22-rc/alpine3.19
+GitCommit: 893a2c96ba6154de2ad3663d087998bfda0a04e9
+Directory: 1.22/alpine3.19
 
-Tags: 1.22rc2-bookworm, 1.22-rc-bookworm
-SharedTags: 1.22rc2, 1.22-rc
+Tags: 1.22.0-bookworm, 1.22-bookworm, 1-bookworm, bookworm
+SharedTags: 1.22.0, 1.22, 1, latest
 Architectures: amd64, arm32v7, arm64v8, i386, mips64le, ppc64le, s390x
-GitCommit: 343f83dbad29bb3b6f8c8eb8fa0459b6f2ea6aec
-Directory: 1.22-rc/bookworm
+GitCommit: 893a2c96ba6154de2ad3663d087998bfda0a04e9
+Directory: 1.22/bookworm
 
-Tags: 1.22rc2-bullseye, 1.22-rc-bullseye
+Tags: 1.22.0-bullseye, 1.22-bullseye, 1-bullseye, bullseye
 Architectures: amd64, arm32v7, arm64v8, i386, mips64le, ppc64le, s390x
-GitCommit: 343f83dbad29bb3b6f8c8eb8fa0459b6f2ea6aec
-Directory: 1.22-rc/bullseye
+GitCommit: 893a2c96ba6154de2ad3663d087998bfda0a04e9
+Directory: 1.22/bullseye
 
-Tags: 1.22rc2-nanoserver-1809, 1.22-rc-nanoserver-1809
-SharedTags: 1.22rc2-nanoserver, 1.22-rc-nanoserver
+Tags: 1.22.0-nanoserver-1809, 1.22-nanoserver-1809, 1-nanoserver-1809, nanoserver-1809
+SharedTags: 1.22.0-nanoserver, 1.22-nanoserver, 1-nanoserver, nanoserver
 Architectures: windows-amd64
-GitCommit: 343f83dbad29bb3b6f8c8eb8fa0459b6f2ea6aec
-Directory: 1.22-rc/windows/nanoserver-1809
+GitCommit: 893a2c96ba6154de2ad3663d087998bfda0a04e9
+Directory: 1.22/windows/nanoserver-1809
 Builder: classic
 Constraints: nanoserver-1809, windowsservercore-1809
 
-Tags: 1.22rc2-nanoserver-ltsc2022, 1.22-rc-nanoserver-ltsc2022
-SharedTags: 1.22rc2-nanoserver, 1.22-rc-nanoserver
+Tags: 1.22.0-nanoserver-ltsc2022, 1.22-nanoserver-ltsc2022, 1-nanoserver-ltsc2022, nanoserver-ltsc2022
+SharedTags: 1.22.0-nanoserver, 1.22-nanoserver, 1-nanoserver, nanoserver
 Architectures: windows-amd64
-GitCommit: 343f83dbad29bb3b6f8c8eb8fa0459b6f2ea6aec
-Directory: 1.22-rc/windows/nanoserver-ltsc2022
+GitCommit: 893a2c96ba6154de2ad3663d087998bfda0a04e9
+Directory: 1.22/windows/nanoserver-ltsc2022
 Builder: classic
 Constraints: nanoserver-ltsc2022, windowsservercore-ltsc2022
 
-Tags: 1.22rc2-windowsservercore-1809, 1.22-rc-windowsservercore-1809
-SharedTags: 1.22rc2-windowsservercore, 1.22-rc-windowsservercore, 1.22rc2, 1.22-rc
+Tags: 1.22.0-windowsservercore-1809, 1.22-windowsservercore-1809, 1-windowsservercore-1809, windowsservercore-1809
+SharedTags: 1.22.0-windowsservercore, 1.22-windowsservercore, 1-windowsservercore, windowsservercore, 1.22.0, 1.22, 1, latest
 Architectures: windows-amd64
-GitCommit: 343f83dbad29bb3b6f8c8eb8fa0459b6f2ea6aec
-Directory: 1.22-rc/windows/windowsservercore-1809
+GitCommit: 893a2c96ba6154de2ad3663d087998bfda0a04e9
+Directory: 1.22/windows/windowsservercore-1809
 Builder: classic
 Constraints: windowsservercore-1809
 
-Tags: 1.22rc2-windowsservercore-ltsc2022, 1.22-rc-windowsservercore-ltsc2022
-SharedTags: 1.22rc2-windowsservercore, 1.22-rc-windowsservercore, 1.22rc2, 1.22-rc
+Tags: 1.22.0-windowsservercore-ltsc2022, 1.22-windowsservercore-ltsc2022, 1-windowsservercore-ltsc2022, windowsservercore-ltsc2022
+SharedTags: 1.22.0-windowsservercore, 1.22-windowsservercore, 1-windowsservercore, windowsservercore, 1.22.0, 1.22, 1, latest
 Architectures: windows-amd64
-GitCommit: 343f83dbad29bb3b6f8c8eb8fa0459b6f2ea6aec
-Directory: 1.22-rc/windows/windowsservercore-ltsc2022
+GitCommit: 893a2c96ba6154de2ad3663d087998bfda0a04e9
+Directory: 1.22/windows/windowsservercore-ltsc2022
 Builder: classic
 Constraints: windowsservercore-ltsc2022
diff --git a/_bashbrew-list b/_bashbrew-list
index 2ca9128..2381400 100644
--- a/_bashbrew-list
+++ b/_bashbrew-list
@@ -10,30 +10,6 @@ golang:1-nanoserver-ltsc2022
 golang:1-windowsservercore
 golang:1-windowsservercore-1809
 golang:1-windowsservercore-ltsc2022
-golang:1.20
-golang:1.20-alpine
-golang:1.20-alpine3.18
-golang:1.20-alpine3.19
-golang:1.20-bookworm
-golang:1.20-bullseye
-golang:1.20-nanoserver
-golang:1.20-nanoserver-1809
-golang:1.20-nanoserver-ltsc2022
-golang:1.20-windowsservercore
-golang:1.20-windowsservercore-1809
-golang:1.20-windowsservercore-ltsc2022
-golang:1.20.14
-golang:1.20.14-alpine
-golang:1.20.14-alpine3.18
-golang:1.20.14-alpine3.19
-golang:1.20.14-bookworm
-golang:1.20.14-bullseye
-golang:1.20.14-nanoserver
-golang:1.20.14-nanoserver-1809
-golang:1.20.14-nanoserver-ltsc2022
-golang:1.20.14-windowsservercore
-golang:1.20.14-windowsservercore-1809
-golang:1.20.14-windowsservercore-ltsc2022
 golang:1.21
 golang:1.21-alpine
 golang:1.21-alpine3.18
@@ -58,30 +34,30 @@ golang:1.21.7-nanoserver-ltsc2022
 golang:1.21.7-windowsservercore
 golang:1.21.7-windowsservercore-1809
 golang:1.21.7-windowsservercore-ltsc2022
-golang:1.22rc2
-golang:1.22rc2-alpine
-golang:1.22rc2-alpine3.18
-golang:1.22rc2-alpine3.19
-golang:1.22rc2-bookworm
-golang:1.22rc2-bullseye
-golang:1.22rc2-nanoserver
-golang:1.22rc2-nanoserver-1809
-golang:1.22rc2-nanoserver-ltsc2022
-golang:1.22rc2-windowsservercore
-golang:1.22rc2-windowsservercore-1809
-golang:1.22rc2-windowsservercore-ltsc2022
-golang:1.22-rc
-golang:1.22-rc-alpine
-golang:1.22-rc-alpine3.18
-golang:1.22-rc-alpine3.19
-golang:1.22-rc-bookworm
-golang:1.22-rc-bullseye
-golang:1.22-rc-nanoserver
-golang:1.22-rc-nanoserver-1809
-golang:1.22-rc-nanoserver-ltsc2022
-golang:1.22-rc-windowsservercore
-golang:1.22-rc-windowsservercore-1809
-golang:1.22-rc-windowsservercore-ltsc2022
+golang:1.22
+golang:1.22-alpine
+golang:1.22-alpine3.18
+golang:1.22-alpine3.19
+golang:1.22-bookworm
+golang:1.22-bullseye
+golang:1.22-nanoserver
+golang:1.22-nanoserver-1809
+golang:1.22-nanoserver-ltsc2022
+golang:1.22-windowsservercore
+golang:1.22-windowsservercore-1809
+golang:1.22-windowsservercore-ltsc2022
+golang:1.22.0
+golang:1.22.0-alpine
+golang:1.22.0-alpine3.18
+golang:1.22.0-alpine3.19
+golang:1.22.0-bookworm
+golang:1.22.0-bullseye
+golang:1.22.0-nanoserver
+golang:1.22.0-nanoserver-1809
+golang:1.22.0-nanoserver-ltsc2022
+golang:1.22.0-windowsservercore
+golang:1.22.0-windowsservercore-1809
+golang:1.22.0-windowsservercore-ltsc2022
 golang:alpine
 golang:alpine3.18
 golang:alpine3.19
diff --git a/golang_1.20-alpine/Dockerfile b/golang_1.20-alpine/Dockerfile
deleted file mode 100644
index a78cbf0..0000000
diff --git a/golang_1.20-alpine3.18/Dockerfile b/golang_1.20-alpine3.18/Dockerfile
deleted file mode 100644
index a7cea5b..0000000
diff --git a/golang_1.20-bookworm/Dockerfile b/golang_1.20-bookworm/Dockerfile
deleted file mode 100644
index dfe231d..0000000
diff --git a/golang_1.20-bullseye/Dockerfile b/golang_1.20-bullseye/Dockerfile
deleted file mode 100644
index 5781b9d..0000000
diff --git a/golang_1.20-nanoserver-1809/Dockerfile b/golang_1.20-nanoserver-1809/Dockerfile
deleted file mode 100644
index 5f0acde..0000000
diff --git a/golang_1.20-nanoserver-ltsc2022/Dockerfile b/golang_1.20-nanoserver-ltsc2022/Dockerfile
deleted file mode 100644
index ea3ba75..0000000
diff --git a/golang_1.20-windowsservercore-1809/Dockerfile b/golang_1.20-windowsservercore-1809/Dockerfile
deleted file mode 100644
index 65ecf1b..0000000
diff --git a/golang_1.20-windowsservercore-ltsc2022/Dockerfile b/golang_1.20-windowsservercore-ltsc2022/Dockerfile
deleted file mode 100644
index dece39f..0000000
diff --git a/golang_alpine/Dockerfile b/golang_1.21-alpine/Dockerfile
similarity index 87%
copy from golang_alpine/Dockerfile
copy to golang_1.21-alpine/Dockerfile
index e1db000..87fcb4c 100644
--- a/golang_alpine/Dockerfile
+++ b/golang_1.21-alpine/Dockerfile
@@ -78,6 +78,20 @@ RUN set -eux; \
 # for logging validation/edification
 	date --date "@$SOURCE_DATE_EPOCH" --rfc-2822; \
 	\
+	if [ "$arch" = 'armv7' ]; then \
+		[ -s /usr/local/go/go.env ]; \
+		before="$(go env GOARM)"; [ "$before" != '7' ]; \
+		{ \
+			echo; \
+			echo '# https://github.com/docker-library/golang/issues/494'; \
+			echo 'GOARM=7'; \
+		} >> /usr/local/go/go.env; \
+		after="$(go env GOARM)"; [ "$after" = '7' ]; \
+# (re-)clamp timestamp for reproducibility (allows "COPY --link" to be more clever/useful)
+		date="$(date -d "@$SOURCE_DATE_EPOCH" '+%Y%m%d%H%M.%S')"; \
+		touch -t "$date" /usr/local/go/go.env /usr/local/go; \
+	fi; \
+	\
 	apk del --no-network .fetch-deps; \
 	\
 # smoke test
diff --git a/golang_alpine3.18/Dockerfile b/golang_1.21-alpine3.18/Dockerfile
similarity index 87%
copy from golang_alpine3.18/Dockerfile
copy to golang_1.21-alpine3.18/Dockerfile
index b00f7c9..c165256 100644
--- a/golang_alpine3.18/Dockerfile
+++ b/golang_1.21-alpine3.18/Dockerfile
@@ -78,6 +78,20 @@ RUN set -eux; \
 # for logging validation/edification
 	date --date "@$SOURCE_DATE_EPOCH" --rfc-2822; \
 	\
+	if [ "$arch" = 'armv7' ]; then \
+		[ -s /usr/local/go/go.env ]; \
+		before="$(go env GOARM)"; [ "$before" != '7' ]; \
+		{ \
+			echo; \
+			echo '# https://github.com/docker-library/golang/issues/494'; \
+			echo 'GOARM=7'; \
+		} >> /usr/local/go/go.env; \
+		after="$(go env GOARM)"; [ "$after" = '7' ]; \
+# (re-)clamp timestamp for reproducibility (allows "COPY --link" to be more clever/useful)
+		date="$(date -d "@$SOURCE_DATE_EPOCH" '+%Y%m%d%H%M.%S')"; \
+		touch -t "$date" /usr/local/go/go.env /usr/local/go; \
+	fi; \
+	\
 	apk del --no-network .fetch-deps; \
 	\
 # smoke test
diff --git a/golang_bookworm/Dockerfile b/golang_1.21-bookworm/Dockerfile
similarity index 87%
copy from golang_bookworm/Dockerfile
copy to golang_1.21-bookworm/Dockerfile
index b252acc..50705a8 100644
--- a/golang_bookworm/Dockerfile
+++ b/golang_1.21-bookworm/Dockerfile
@@ -72,6 +72,20 @@ RUN set -eux; \
 # for logging validation/edification
 	date --date "@$SOURCE_DATE_EPOCH" --rfc-2822; \
 	\
+	if [ "$arch" = 'armhf' ]; then \
+		[ -s /usr/local/go/go.env ]; \
+		before="$(go env GOARM)"; [ "$before" != '7' ]; \
+		{ \
+			echo; \
+			echo '# https://github.com/docker-library/golang/issues/494'; \
+			echo 'GOARM=7'; \
+		} >> /usr/local/go/go.env; \
+		after="$(go env GOARM)"; [ "$after" = '7' ]; \
+# (re-)clamp timestamp for reproducibility (allows "COPY --link" to be more clever/useful)
+		date="$(date -d "@$SOURCE_DATE_EPOCH" '+%Y%m%d%H%M.%S')"; \
+		touch -t "$date" /usr/local/go/go.env /usr/local/go; \
+	fi; \
+	\
 # smoke test
 	go version; \
 # make sure our reproducibile timestamp is probably still correct (best-effort inline reproducibility test)
diff --git a/golang_bullseye/Dockerfile b/golang_1.21-bullseye/Dockerfile
similarity index 87%
copy from golang_bullseye/Dockerfile
copy to golang_1.21-bullseye/Dockerfile
index b8a0f38..b5a2a4f 100644
--- a/golang_bullseye/Dockerfile
+++ b/golang_1.21-bullseye/Dockerfile
@@ -72,6 +72,20 @@ RUN set -eux; \
 # for logging validation/edification
 	date --date "@$SOURCE_DATE_EPOCH" --rfc-2822; \
 	\
+	if [ "$arch" = 'armhf' ]; then \
+		[ -s /usr/local/go/go.env ]; \
+		before="$(go env GOARM)"; [ "$before" != '7' ]; \
+		{ \
+			echo; \
+			echo '# https://github.com/docker-library/golang/issues/494'; \
+			echo 'GOARM=7'; \
+		} >> /usr/local/go/go.env; \
+		after="$(go env GOARM)"; [ "$after" = '7' ]; \
+# (re-)clamp timestamp for reproducibility (allows "COPY --link" to be more clever/useful)
+		date="$(date -d "@$SOURCE_DATE_EPOCH" '+%Y%m%d%H%M.%S')"; \
+		touch -t "$date" /usr/local/go/go.env /usr/local/go; \
+	fi; \
+	\
 # smoke test
 	go version; \
 # make sure our reproducibile timestamp is probably still correct (best-effort inline reproducibility test)
diff --git a/golang_nanoserver-1809/Dockerfile b/golang_1.21-nanoserver-1809/Dockerfile
similarity index 100%
copy from golang_nanoserver-1809/Dockerfile
copy to golang_1.21-nanoserver-1809/Dockerfile
diff --git a/golang_nanoserver-ltsc2022/Dockerfile b/golang_1.21-nanoserver-ltsc2022/Dockerfile
similarity index 100%
copy from golang_nanoserver-ltsc2022/Dockerfile
copy to golang_1.21-nanoserver-ltsc2022/Dockerfile
diff --git a/golang_windowsservercore-1809/Dockerfile b/golang_1.21-windowsservercore-1809/Dockerfile
similarity index 100%
copy from golang_windowsservercore-1809/Dockerfile
copy to golang_1.21-windowsservercore-1809/Dockerfile
diff --git a/golang_windowsservercore-ltsc2022/Dockerfile b/golang_1.21-windowsservercore-ltsc2022/Dockerfile
similarity index 100%
copy from golang_windowsservercore-ltsc2022/Dockerfile
copy to golang_1.21-windowsservercore-ltsc2022/Dockerfile
diff --git a/golang_1.22-rc-alpine/Dockerfile b/golang_1.22-rc-alpine/Dockerfile
deleted file mode 100644
index 33151cb..0000000
diff --git a/golang_1.22-rc-alpine3.18/Dockerfile b/golang_1.22-rc-alpine3.18/Dockerfile
deleted file mode 100644
index b67066a..0000000
diff --git a/golang_1.22-rc-bookworm/Dockerfile b/golang_1.22-rc-bookworm/Dockerfile
deleted file mode 100644
index 793a243..0000000
diff --git a/golang_1.22-rc-bullseye/Dockerfile b/golang_1.22-rc-bullseye/Dockerfile
deleted file mode 100644
index 0b25649..0000000
diff --git a/golang_1.22-rc-nanoserver-1809/Dockerfile b/golang_1.22-rc-nanoserver-1809/Dockerfile
deleted file mode 100644
index 6118471..0000000
diff --git a/golang_1.22-rc-nanoserver-ltsc2022/Dockerfile b/golang_1.22-rc-nanoserver-ltsc2022/Dockerfile
deleted file mode 100644
index 3aa6824..0000000
diff --git a/golang_1.22-rc-windowsservercore-1809/Dockerfile b/golang_1.22-rc-windowsservercore-1809/Dockerfile
deleted file mode 100644
index cf48256..0000000
diff --git a/golang_1.22-rc-windowsservercore-ltsc2022/Dockerfile b/golang_1.22-rc-windowsservercore-ltsc2022/Dockerfile
deleted file mode 100644
index 0460ad7..0000000
diff --git a/golang_alpine/Dockerfile b/golang_alpine/Dockerfile
index e1db000..5aa45f9 100644
--- a/golang_alpine/Dockerfile
+++ b/golang_alpine/Dockerfile
@@ -8,7 +8,7 @@ FROM alpine:3.19 AS build
 
 ENV PATH /usr/local/go/bin:$PATH
 
-ENV GOLANG_VERSION 1.21.7
+ENV GOLANG_VERSION 1.22.0
 
 RUN set -eux; \
 	apk add --no-cache --virtual .fetch-deps \
@@ -21,36 +21,36 @@ RUN set -eux; \
 	url=; \
 	case "$arch" in \
 		'x86_64') \
-			url='https://dl.google.com/go/go1.21.7.linux-amd64.tar.gz'; \
-			sha256='13b76a9b2a26823e53062fa841b07087d48ae2ef2936445dc34c4ae03293702c'; \
+			url='https://dl.google.com/go/go1.22.0.linux-amd64.tar.gz'; \
+			sha256='f6c8a87aa03b92c4b0bf3d558e28ea03006eb29db78917daec5cfb6ec1046265'; \
 			;; \
 		'armhf') \
-			url='https://dl.google.com/go/go1.21.7.linux-armv6l.tar.gz'; \
-			sha256='d86d2da4cad1c0ff5fc13677b0b77f26ca8adca48170c140f06b882e83b6e8df'; \
+			url='https://dl.google.com/go/go1.22.0.linux-armv6l.tar.gz'; \
+			sha256='0525f92f79df7ed5877147bce7b955f159f3962711b69faac66bc7121d36dcc4'; \
 			;; \
 		'armv7') \
-			url='https://dl.google.com/go/go1.21.7.linux-armv6l.tar.gz'; \
-			sha256='d86d2da4cad1c0ff5fc13677b0b77f26ca8adca48170c140f06b882e83b6e8df'; \
+			url='https://dl.google.com/go/go1.22.0.linux-armv6l.tar.gz'; \
+			sha256='0525f92f79df7ed5877147bce7b955f159f3962711b69faac66bc7121d36dcc4'; \
 			;; \
 		'aarch64') \
-			url='https://dl.google.com/go/go1.21.7.linux-arm64.tar.gz'; \
-			sha256='a9bc1ccedbfde059f25b3a2ad81ae4cdf21192ae207dfd3ccbbfe99c3749e233'; \
+			url='https://dl.google.com/go/go1.22.0.linux-arm64.tar.gz'; \
+			sha256='6a63fef0e050146f275bf02a0896badfe77c11b6f05499bb647e7bd613a45a10'; \
 			;; \
 		'x86') \
-			url='https://dl.google.com/go/go1.21.7.linux-386.tar.gz'; \
-			sha256='ecd838b01c28b62d23e0fc806f980de676a6754be53e6bf2f1fe966c12dede15'; \
+			url='https://dl.google.com/go/go1.22.0.linux-386.tar.gz'; \
+			sha256='1e209c4abde069067ac9afb341c8003db6a210f8173c77777f02d3a524313da3'; \
 			;; \
 		'ppc64le') \
-			url='https://dl.google.com/go/go1.21.7.linux-ppc64le.tar.gz'; \
-			sha256='48a99ecce9b1e632870c29420088f61cf17a6f0c5bdb3cc821ff5c00e14b1a8a'; \
+			url='https://dl.google.com/go/go1.22.0.linux-ppc64le.tar.gz'; \
+			sha256='0e57f421df9449066f00155ce98a5be93744b3d81b00ee4c2c9b511be2a31d93'; \
 			;; \
 		'riscv64') \
-			url='https://dl.google.com/go/go1.21.7.linux-riscv64.tar.gz'; \
-			sha256='dc1c3cb6eadc57130136b3c1dec5ca8af7783c36e0392ebf59073c61e60b24f2'; \
+			url='https://dl.google.com/go/go1.22.0.linux-riscv64.tar.gz'; \
+			sha256='afe9cedcdbd6fdff27c57efd30aa5ce0f666f471fed5fa96cd4fb38d6b577086'; \
 			;; \
 		's390x') \
-			url='https://dl.google.com/go/go1.21.7.linux-s390x.tar.gz'; \
-			sha256='d655022bd82927fbfeb36eb49a3e2af0f3cc18d18882c0f671923da0ec257948'; \
+			url='https://dl.google.com/go/go1.22.0.linux-s390x.tar.gz'; \
+			sha256='2e546a3583ba7bd3988f8f476245698f6a93dfa9fe206a8ca8f85c1ceecb2446'; \
 			;; \
 		*) echo >&2 "error: unsupported architecture '$arch' (likely packaging update needed)"; exit 1 ;; \
 	esac; \
@@ -78,6 +78,20 @@ RUN set -eux; \
 # for logging validation/edification
 	date --date "@$SOURCE_DATE_EPOCH" --rfc-2822; \
 	\
+	if [ "$arch" = 'armv7' ]; then \
+		[ -s /usr/local/go/go.env ]; \
+		before="$(go env GOARM)"; [ "$before" != '7' ]; \
+		{ \
+			echo; \
+			echo '# https://github.com/docker-library/golang/issues/494'; \
+			echo 'GOARM=7'; \
+		} >> /usr/local/go/go.env; \
+		after="$(go env GOARM)"; [ "$after" = '7' ]; \
+# (re-)clamp timestamp for reproducibility (allows "COPY --link" to be more clever/useful)
+		date="$(date -d "@$SOURCE_DATE_EPOCH" '+%Y%m%d%H%M.%S')"; \
+		touch -t "$date" /usr/local/go/go.env /usr/local/go; \
+	fi; \
+	\
 	apk del --no-network .fetch-deps; \
 	\
 # smoke test
@@ -90,7 +104,7 @@ FROM alpine:3.19
 
 RUN apk add --no-cache ca-certificates
 
-ENV GOLANG_VERSION 1.21.7
+ENV GOLANG_VERSION 1.22.0
 
 # don't auto-upgrade the gotoolchain
 # https://github.com/docker-library/golang/issues/472
diff --git a/golang_alpine3.18/Dockerfile b/golang_alpine3.18/Dockerfile
index b00f7c9..319eec7 100644
--- a/golang_alpine3.18/Dockerfile
+++ b/golang_alpine3.18/Dockerfile
@@ -8,7 +8,7 @@ FROM alpine:3.18 AS build
 
 ENV PATH /usr/local/go/bin:$PATH
 
-ENV GOLANG_VERSION 1.21.7
+ENV GOLANG_VERSION 1.22.0
 
 RUN set -eux; \
 	apk add --no-cache --virtual .fetch-deps \
@@ -21,36 +21,36 @@ RUN set -eux; \
 	url=; \
 	case "$arch" in \
 		'x86_64') \
-			url='https://dl.google.com/go/go1.21.7.linux-amd64.tar.gz'; \
-			sha256='13b76a9b2a26823e53062fa841b07087d48ae2ef2936445dc34c4ae03293702c'; \
+			url='https://dl.google.com/go/go1.22.0.linux-amd64.tar.gz'; \
+			sha256='f6c8a87aa03b92c4b0bf3d558e28ea03006eb29db78917daec5cfb6ec1046265'; \
 			;; \
 		'armhf') \
-			url='https://dl.google.com/go/go1.21.7.linux-armv6l.tar.gz'; \
-			sha256='d86d2da4cad1c0ff5fc13677b0b77f26ca8adca48170c140f06b882e83b6e8df'; \
+			url='https://dl.google.com/go/go1.22.0.linux-armv6l.tar.gz'; \
+			sha256='0525f92f79df7ed5877147bce7b955f159f3962711b69faac66bc7121d36dcc4'; \
 			;; \
 		'armv7') \
-			url='https://dl.google.com/go/go1.21.7.linux-armv6l.tar.gz'; \
-			sha256='d86d2da4cad1c0ff5fc13677b0b77f26ca8adca48170c140f06b882e83b6e8df'; \
+			url='https://dl.google.com/go/go1.22.0.linux-armv6l.tar.gz'; \
+			sha256='0525f92f79df7ed5877147bce7b955f159f3962711b69faac66bc7121d36dcc4'; \
 			;; \
 		'aarch64') \
-			url='https://dl.google.com/go/go1.21.7.linux-arm64.tar.gz'; \
-			sha256='a9bc1ccedbfde059f25b3a2ad81ae4cdf21192ae207dfd3ccbbfe99c3749e233'; \
+			url='https://dl.google.com/go/go1.22.0.linux-arm64.tar.gz'; \
+			sha256='6a63fef0e050146f275bf02a0896badfe77c11b6f05499bb647e7bd613a45a10'; \
 			;; \
 		'x86') \
-			url='https://dl.google.com/go/go1.21.7.linux-386.tar.gz'; \
-			sha256='ecd838b01c28b62d23e0fc806f980de676a6754be53e6bf2f1fe966c12dede15'; \
+			url='https://dl.google.com/go/go1.22.0.linux-386.tar.gz'; \
+			sha256='1e209c4abde069067ac9afb341c8003db6a210f8173c77777f02d3a524313da3'; \
 			;; \
 		'ppc64le') \
-			url='https://dl.google.com/go/go1.21.7.linux-ppc64le.tar.gz'; \
-			sha256='48a99ecce9b1e632870c29420088f61cf17a6f0c5bdb3cc821ff5c00e14b1a8a'; \
+			url='https://dl.google.com/go/go1.22.0.linux-ppc64le.tar.gz'; \
+			sha256='0e57f421df9449066f00155ce98a5be93744b3d81b00ee4c2c9b511be2a31d93'; \
 			;; \
 		'riscv64') \
-			url='https://dl.google.com/go/go1.21.7.linux-riscv64.tar.gz'; \
-			sha256='dc1c3cb6eadc57130136b3c1dec5ca8af7783c36e0392ebf59073c61e60b24f2'; \
+			url='https://dl.google.com/go/go1.22.0.linux-riscv64.tar.gz'; \
+			sha256='afe9cedcdbd6fdff27c57efd30aa5ce0f666f471fed5fa96cd4fb38d6b577086'; \
 			;; \
 		's390x') \
-			url='https://dl.google.com/go/go1.21.7.linux-s390x.tar.gz'; \
-			sha256='d655022bd82927fbfeb36eb49a3e2af0f3cc18d18882c0f671923da0ec257948'; \
+			url='https://dl.google.com/go/go1.22.0.linux-s390x.tar.gz'; \
+			sha256='2e546a3583ba7bd3988f8f476245698f6a93dfa9fe206a8ca8f85c1ceecb2446'; \
 			;; \
 		*) echo >&2 "error: unsupported architecture '$arch' (likely packaging update needed)"; exit 1 ;; \
 	esac; \
@@ -78,6 +78,20 @@ RUN set -eux; \
 # for logging validation/edification
 	date --date "@$SOURCE_DATE_EPOCH" --rfc-2822; \
 	\
+	if [ "$arch" = 'armv7' ]; then \
+		[ -s /usr/local/go/go.env ]; \
+		before="$(go env GOARM)"; [ "$before" != '7' ]; \
+		{ \
+			echo; \
+			echo '# https://github.com/docker-library/golang/issues/494'; \
+			echo 'GOARM=7'; \
+		} >> /usr/local/go/go.env; \
+		after="$(go env GOARM)"; [ "$after" = '7' ]; \
+# (re-)clamp timestamp for reproducibility (allows "COPY --link" to be more clever/useful)
+		date="$(date -d "@$SOURCE_DATE_EPOCH" '+%Y%m%d%H%M.%S')"; \
+		touch -t "$date" /usr/local/go/go.env /usr/local/go; \
+	fi; \
+	\
 	apk del --no-network .fetch-deps; \
 	\
 # smoke test
@@ -90,7 +104,7 @@ FROM alpine:3.18
 
 RUN apk add --no-cache ca-certificates
 
-ENV GOLANG_VERSION 1.21.7
+ENV GOLANG_VERSION 1.22.0
 
 # don't auto-upgrade the gotoolchain
 # https://github.com/docker-library/golang/issues/472
diff --git a/golang_bookworm/Dockerfile b/golang_bookworm/Dockerfile
index b252acc..43c8a6f 100644
--- a/golang_bookworm/Dockerfile
+++ b/golang_bookworm/Dockerfile
@@ -8,43 +8,43 @@ FROM buildpack-deps:bookworm-scm AS build
 
 ENV PATH /usr/local/go/bin:$PATH
 
-ENV GOLANG_VERSION 1.21.7
+ENV GOLANG_VERSION 1.22.0
 
 RUN set -eux; \
 	arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \
 	url=; \
 	case "$arch" in \
 		'amd64') \
-			url='https://dl.google.com/go/go1.21.7.linux-amd64.tar.gz'; \
-			sha256='13b76a9b2a26823e53062fa841b07087d48ae2ef2936445dc34c4ae03293702c'; \
+			url='https://dl.google.com/go/go1.22.0.linux-amd64.tar.gz'; \
+			sha256='f6c8a87aa03b92c4b0bf3d558e28ea03006eb29db78917daec5cfb6ec1046265'; \
 			;; \
 		'armhf') \
-			url='https://dl.google.com/go/go1.21.7.linux-armv6l.tar.gz'; \
-			sha256='d86d2da4cad1c0ff5fc13677b0b77f26ca8adca48170c140f06b882e83b6e8df'; \
+			url='https://dl.google.com/go/go1.22.0.linux-armv6l.tar.gz'; \
+			sha256='0525f92f79df7ed5877147bce7b955f159f3962711b69faac66bc7121d36dcc4'; \
 			;; \
 		'arm64') \
-			url='https://dl.google.com/go/go1.21.7.linux-arm64.tar.gz'; \
-			sha256='a9bc1ccedbfde059f25b3a2ad81ae4cdf21192ae207dfd3ccbbfe99c3749e233'; \
+			url='https://dl.google.com/go/go1.22.0.linux-arm64.tar.gz'; \
+			sha256='6a63fef0e050146f275bf02a0896badfe77c11b6f05499bb647e7bd613a45a10'; \
 			;; \
 		'i386') \
-			url='https://dl.google.com/go/go1.21.7.linux-386.tar.gz'; \
-			sha256='ecd838b01c28b62d23e0fc806f980de676a6754be53e6bf2f1fe966c12dede15'; \
+			url='https://dl.google.com/go/go1.22.0.linux-386.tar.gz'; \
+			sha256='1e209c4abde069067ac9afb341c8003db6a210f8173c77777f02d3a524313da3'; \
 			;; \
 		'mips64el') \
-			url='https://dl.google.com/go/go1.21.7.linux-mips64le.tar.gz'; \
-			sha256='adf55215880b6157a945a8f247a2cbea9e63766cd297baf68fd575c2cc32a82a'; \
+			url='https://dl.google.com/go/go1.22.0.linux-mips64le.tar.gz'; \
+			sha256='c162a1a516b8bc8839fc0c0283ad90f6b511e5aca3da4939ed4800f124b9e72c'; \
 			;; \
 		'ppc64el') \
-			url='https://dl.google.com/go/go1.21.7.linux-ppc64le.tar.gz'; \
-			sha256='48a99ecce9b1e632870c29420088f61cf17a6f0c5bdb3cc821ff5c00e14b1a8a'; \
+			url='https://dl.google.com/go/go1.22.0.linux-ppc64le.tar.gz'; \
+			sha256='0e57f421df9449066f00155ce98a5be93744b3d81b00ee4c2c9b511be2a31d93'; \
 			;; \
 		'riscv64') \
-			url='https://dl.google.com/go/go1.21.7.linux-riscv64.tar.gz'; \
-			sha256='dc1c3cb6eadc57130136b3c1dec5ca8af7783c36e0392ebf59073c61e60b24f2'; \
+			url='https://dl.google.com/go/go1.22.0.linux-riscv64.tar.gz'; \
+			sha256='afe9cedcdbd6fdff27c57efd30aa5ce0f666f471fed5fa96cd4fb38d6b577086'; \
 			;; \
 		's390x') \
-			url='https://dl.google.com/go/go1.21.7.linux-s390x.tar.gz'; \
-			sha256='d655022bd82927fbfeb36eb49a3e2af0f3cc18d18882c0f671923da0ec257948'; \
+			url='https://dl.google.com/go/go1.22.0.linux-s390x.tar.gz'; \
+			sha256='2e546a3583ba7bd3988f8f476245698f6a93dfa9fe206a8ca8f85c1ceecb2446'; \
 			;; \
 		*) echo >&2 "error: unsupported architecture '$arch' (likely packaging update needed)"; exit 1 ;; \
 	esac; \
@@ -72,6 +72,20 @@ RUN set -eux; \
 # for logging validation/edification
 	date --date "@$SOURCE_DATE_EPOCH" --rfc-2822; \
 	\
+	if [ "$arch" = 'armhf' ]; then \
+		[ -s /usr/local/go/go.env ]; \
+		before="$(go env GOARM)"; [ "$before" != '7' ]; \
+		{ \
+			echo; \
+			echo '# https://github.com/docker-library/golang/issues/494'; \
+			echo 'GOARM=7'; \
+		} >> /usr/local/go/go.env; \
+		after="$(go env GOARM)"; [ "$after" = '7' ]; \
+# (re-)clamp timestamp for reproducibility (allows "COPY --link" to be more clever/useful)
+		date="$(date -d "@$SOURCE_DATE_EPOCH" '+%Y%m%d%H%M.%S')"; \
+		touch -t "$date" /usr/local/go/go.env /usr/local/go; \
+	fi; \
+	\
 # smoke test
 	go version; \
 # make sure our reproducibile timestamp is probably still correct (best-effort inline reproducibility test)
@@ -92,7 +106,7 @@ RUN set -eux; \
 	; \
 	rm -rf /var/lib/apt/lists/*
 
-ENV GOLANG_VERSION 1.21.7
+ENV GOLANG_VERSION 1.22.0
 
 # don't auto-upgrade the gotoolchain
 # https://github.com/docker-library/golang/issues/472
diff --git a/golang_bullseye/Dockerfile b/golang_bullseye/Dockerfile
index b8a0f38..decbab6 100644
--- a/golang_bullseye/Dockerfile
+++ b/golang_bullseye/Dockerfile
@@ -8,43 +8,43 @@ FROM buildpack-deps:bullseye-scm AS build
 
 ENV PATH /usr/local/go/bin:$PATH
 
-ENV GOLANG_VERSION 1.21.7
+ENV GOLANG_VERSION 1.22.0
 
 RUN set -eux; \
 	arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \
 	url=; \
 	case "$arch" in \
 		'amd64') \
-			url='https://dl.google.com/go/go1.21.7.linux-amd64.tar.gz'; \
-			sha256='13b76a9b2a26823e53062fa841b07087d48ae2ef2936445dc34c4ae03293702c'; \
+			url='https://dl.google.com/go/go1.22.0.linux-amd64.tar.gz'; \
+			sha256='f6c8a87aa03b92c4b0bf3d558e28ea03006eb29db78917daec5cfb6ec1046265'; \
 			;; \
 		'armhf') \
-			url='https://dl.google.com/go/go1.21.7.linux-armv6l.tar.gz'; \
-			sha256='d86d2da4cad1c0ff5fc13677b0b77f26ca8adca48170c140f06b882e83b6e8df'; \
+			url='https://dl.google.com/go/go1.22.0.linux-armv6l.tar.gz'; \
+			sha256='0525f92f79df7ed5877147bce7b955f159f3962711b69faac66bc7121d36dcc4'; \
 			;; \
 		'arm64') \
-			url='https://dl.google.com/go/go1.21.7.linux-arm64.tar.gz'; \
-			sha256='a9bc1ccedbfde059f25b3a2ad81ae4cdf21192ae207dfd3ccbbfe99c3749e233'; \
+			url='https://dl.google.com/go/go1.22.0.linux-arm64.tar.gz'; \
+			sha256='6a63fef0e050146f275bf02a0896badfe77c11b6f05499bb647e7bd613a45a10'; \
 			;; \
 		'i386') \
-			url='https://dl.google.com/go/go1.21.7.linux-386.tar.gz'; \
-			sha256='ecd838b01c28b62d23e0fc806f980de676a6754be53e6bf2f1fe966c12dede15'; \
+			url='https://dl.google.com/go/go1.22.0.linux-386.tar.gz'; \
+			sha256='1e209c4abde069067ac9afb341c8003db6a210f8173c77777f02d3a524313da3'; \
 			;; \
 		'mips64el') \
-			url='https://dl.google.com/go/go1.21.7.linux-mips64le.tar.gz'; \
-			sha256='adf55215880b6157a945a8f247a2cbea9e63766cd297baf68fd575c2cc32a82a'; \
+			url='https://dl.google.com/go/go1.22.0.linux-mips64le.tar.gz'; \
+			sha256='c162a1a516b8bc8839fc0c0283ad90f6b511e5aca3da4939ed4800f124b9e72c'; \
 			;; \
 		'ppc64el') \
-			url='https://dl.google.com/go/go1.21.7.linux-ppc64le.tar.gz'; \
-			sha256='48a99ecce9b1e632870c29420088f61cf17a6f0c5bdb3cc821ff5c00e14b1a8a'; \
+			url='https://dl.google.com/go/go1.22.0.linux-ppc64le.tar.gz'; \
+			sha256='0e57f421df9449066f00155ce98a5be93744b3d81b00ee4c2c9b511be2a31d93'; \
 			;; \
 		'riscv64') \
-			url='https://dl.google.com/go/go1.21.7.linux-riscv64.tar.gz'; \
-			sha256='dc1c3cb6eadc57130136b3c1dec5ca8af7783c36e0392ebf59073c61e60b24f2'; \
+			url='https://dl.google.com/go/go1.22.0.linux-riscv64.tar.gz'; \
+			sha256='afe9cedcdbd6fdff27c57efd30aa5ce0f666f471fed5fa96cd4fb38d6b577086'; \
 			;; \
 		's390x') \
-			url='https://dl.google.com/go/go1.21.7.linux-s390x.tar.gz'; \
-			sha256='d655022bd82927fbfeb36eb49a3e2af0f3cc18d18882c0f671923da0ec257948'; \
+			url='https://dl.google.com/go/go1.22.0.linux-s390x.tar.gz'; \
+			sha256='2e546a3583ba7bd3988f8f476245698f6a93dfa9fe206a8ca8f85c1ceecb2446'; \
 			;; \
 		*) echo >&2 "error: unsupported architecture '$arch' (likely packaging update needed)"; exit 1 ;; \
 	esac; \
@@ -72,6 +72,20 @@ RUN set -eux; \
 # for logging validation/edification
 	date --date "@$SOURCE_DATE_EPOCH" --rfc-2822; \
 	\
+	if [ "$arch" = 'armhf' ]; then \
+		[ -s /usr/local/go/go.env ]; \
+		before="$(go env GOARM)"; [ "$before" != '7' ]; \
+		{ \
+			echo; \
+			echo '# https://github.com/docker-library/golang/issues/494'; \
+			echo 'GOARM=7'; \
+		} >> /usr/local/go/go.env; \
+		after="$(go env GOARM)"; [ "$after" = '7' ]; \
+# (re-)clamp timestamp for reproducibility (allows "COPY --link" to be more clever/useful)
+		date="$(date -d "@$SOURCE_DATE_EPOCH" '+%Y%m%d%H%M.%S')"; \
+		touch -t "$date" /usr/local/go/go.env /usr/local/go; \
+	fi; \
+	\
 # smoke test
 	go version; \
 # make sure our reproducibile timestamp is probably still correct (best-effort inline reproducibility test)
@@ -92,7 +106,7 @@ RUN set -eux; \
 	; \
 	rm -rf /var/lib/apt/lists/*
 
-ENV GOLANG_VERSION 1.21.7
+ENV GOLANG_VERSION 1.22.0
 
 # don't auto-upgrade the gotoolchain
 # https://github.com/docker-library/golang/issues/472
diff --git a/golang_nanoserver-1809/Dockerfile b/golang_nanoserver-1809/Dockerfile
index f4348cd..5c13380 100644
--- a/golang_nanoserver-1809/Dockerfile
+++ b/golang_nanoserver-1809/Dockerfile
@@ -21,10 +21,10 @@ RUN setx /m PATH "%GOPATH%\bin;C:\Program Files\Go\bin;%PATH%"
 USER ContainerUser
 # doing this first to share cache across versions more aggressively
 
-ENV GOLANG_VERSION 1.21.7
+ENV GOLANG_VERSION 1.22.0
 
 # Docker's Windows path parsing is absolutely *cursed*; please just trust me on this one -Tianon
-COPY --from=golang:1.21.7-windowsservercore-1809 ["C:\\\\Program Files\\\\Go","C:\\\\Program Files\\\\Go"]
+COPY --from=golang:1.22.0-windowsservercore-1809 ["C:\\\\Program Files\\\\Go","C:\\\\Program Files\\\\Go"]
 RUN go version
 
 WORKDIR $GOPATH
diff --git a/golang_nanoserver-ltsc2022/Dockerfile b/golang_nanoserver-ltsc2022/Dockerfile
index f265925..0ef60da 100644
--- a/golang_nanoserver-ltsc2022/Dockerfile
+++ b/golang_nanoserver-ltsc2022/Dockerfile
@@ -21,10 +21,10 @@ RUN setx /m PATH "%GOPATH%\bin;C:\Program Files\Go\bin;%PATH%"
 USER ContainerUser
 # doing this first to share cache across versions more aggressively
 
-ENV GOLANG_VERSION 1.21.7
+ENV GOLANG_VERSION 1.22.0
 
 # Docker's Windows path parsing is absolutely *cursed*; please just trust me on this one -Tianon
-COPY --from=golang:1.21.7-windowsservercore-ltsc2022 ["C:\\\\Program Files\\\\Go","C:\\\\Program Files\\\\Go"]
+COPY --from=golang:1.22.0-windowsservercore-ltsc2022 ["C:\\\\Program Files\\\\Go","C:\\\\Program Files\\\\Go"]
 RUN go version
 
 WORKDIR $GOPATH
diff --git a/golang_windowsservercore-1809/Dockerfile b/golang_windowsservercore-1809/Dockerfile
index 69bdcfd..2185a12 100644
--- a/golang_windowsservercore-1809/Dockerfile
+++ b/golang_windowsservercore-1809/Dockerfile
@@ -53,14 +53,14 @@ RUN $newPath = ('{0}\bin;C:\Program Files\Go\bin;{1}' -f $env:GOPATH, $env:PATH)
 	[Environment]::SetEnvironmentVariable('PATH', $newPath, [EnvironmentVariableTarget]::Machine);
 # doing this first to share cache across versions more aggressively
 
-ENV GOLANG_VERSION 1.21.7
+ENV GOLANG_VERSION 1.22.0
 
-RUN $url = 'https://dl.google.com/go/go1.21.7.windows-amd64.zip'; \
+RUN $url = 'https://dl.google.com/go/go1.22.0.windows-amd64.zip'; \
 	Write-Host ('Downloading {0} ...' -f $url); \
 	[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \
 	Invoke-WebRequest -Uri $url -OutFile 'go.zip'; \
 	\
-	$sha256 = '9ba8652778baded6e9a758c3129aae73393b4b75b230933bb0cf3ab65b19be35'; \
+	$sha256 = '78b3158fe3aa358e0b6c9f26ecd338f9a11441e88bc434ae2e9f0ca2b0cc4dd3'; \
 	Write-Host ('Verifying sha256 ({0}) ...' -f $sha256); \
 	if ((Get-FileHash go.zip -Algorithm sha256).Hash -ne $sha256) { \
 		Write-Host 'FAILED!'; \
diff --git a/golang_windowsservercore-ltsc2022/Dockerfile b/golang_windowsservercore-ltsc2022/Dockerfile
index 8236597..289862e 100644
--- a/golang_windowsservercore-ltsc2022/Dockerfile
+++ b/golang_windowsservercore-ltsc2022/Dockerfile
@@ -53,14 +53,14 @@ RUN $newPath = ('{0}\bin;C:\Program Files\Go\bin;{1}' -f $env:GOPATH, $env:PATH)
 	[Environment]::SetEnvironmentVariable('PATH', $newPath, [EnvironmentVariableTarget]::Machine);
 # doing this first to share cache across versions more aggressively
 
-ENV GOLANG_VERSION 1.21.7
+ENV GOLANG_VERSION 1.22.0
 
-RUN $url = 'https://dl.google.com/go/go1.21.7.windows-amd64.zip'; \
+RUN $url = 'https://dl.google.com/go/go1.22.0.windows-amd64.zip'; \
 	Write-Host ('Downloading {0} ...' -f $url); \
 	[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \
 	Invoke-WebRequest -Uri $url -OutFile 'go.zip'; \
 	\
-	$sha256 = '9ba8652778baded6e9a758c3129aae73393b4b75b230933bb0cf3ab65b19be35'; \
+	$sha256 = '78b3158fe3aa358e0b6c9f26ecd338f9a11441e88bc434ae2e9f0ca2b0cc4dd3'; \
 	Write-Host ('Verifying sha256 ({0}) ...' -f $sha256); \
 	if ((Get-FileHash go.zip -Algorithm sha256).Hash -ne $sha256) { \
 		Write-Host 'FAILED!'; \

Relevant Maintainers:

@tianon tianon merged commit a155cf4 into docker-library:master Feb 7, 2024
@tianon tianon deleted the golang branch February 7, 2024 01:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants