- 
                Notifications
    You must be signed in to change notification settings 
- Fork 2.5k
Update golang #16208
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
          
     Merged
      
      
    
                
     Merged
            
            Update golang #16208
Conversation
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
    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)
| 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: | 
              
                    yosifkit
  
              
              approved these changes
              
                  
                    Feb 7, 2024 
                  
              
              
            
            
  This was referenced Feb 7, 2024 
      
  
    Sign up for free
    to join this conversation on GitHub.
    Already have an account?
    Sign in to comment
  
      
  Add this suggestion to a batch that can be applied as a single commit.
  This suggestion is invalid because no changes were made to the code.
  Suggestions cannot be applied while the pull request is closed.
  Suggestions cannot be applied while viewing a subset of changes.
  Only one suggestion per line can be applied in a batch.
  Add this suggestion to a batch that can be applied as a single commit.
  Applying suggestions on deleted lines is not supported.
  You must change the existing code in this line in order to create a valid suggestion.
  Outdated suggestions cannot be applied.
  This suggestion has been applied or marked resolved.
  Suggestions cannot be applied from pending reviews.
  Suggestions cannot be applied on multi-line comments.
  Suggestions cannot be applied while the pull request is queued to merge.
  Suggestion cannot be applied right now. Please check back later.
  
    
  
    
Changes: