all: set Go language version to Go 1.20

This aligns our policy with the Google Cloud Client Libraries policy.

Other large packages like the AWS SDK follow that same policy.

fixes golang/protobuf#1613

Change-Id: I33642d3c5e4d79d3b5cdee0e0ff546affa46693e
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/586395
Reviewed-by: Lasse Folger <lassefolger@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
diff --git a/go.mod b/go.mod
index 7bd7b51..3c478dc 100644
--- a/go.mod
+++ b/go.mod
@@ -1,6 +1,6 @@
 module google.golang.org/protobuf
 
-go 1.21
+go 1.20
 
 require (
 	github.com/golang/protobuf v1.5.0
diff --git a/integration_test.go b/integration_test.go
index 23ecd69..7f99eb3 100644
--- a/integration_test.go
+++ b/integration_test.go
@@ -36,8 +36,11 @@
 	protobufVersion = "27.0-rc1"
 
 	golangVersions = func() []string {
-		// Version policy: oldest supported version of Go.
+		// Version policy: oldest supported version of Go, plus the version before that.
+		// This matches the version policy of the Google Cloud Client Libraries:
+		// https://cloud.google.com/go/getting-started/supported-go-versions
 		return []string{
+			"1.20.14",
 			"1.21.10",
 			"1.22.3",
 		}