diff --git a/lib/manager/gomod/__fixtures__/3/go.mod b/lib/manager/gomod/__fixtures__/3/go.mod
new file mode 100644
index 0000000000000000000000000000000000000000..e8000701b03fcbb897c8ca05dc52aca2d0956db7
--- /dev/null
+++ b/lib/manager/gomod/__fixtures__/3/go.mod
@@ -0,0 +1,133 @@
+module k8s.io/minikube
+
+go 1.13
+
+require (
+	cloud.google.com/go v0.45.1
+	github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5 // indirect
+	github.com/Parallels/docker-machine-parallels v1.3.0
+	github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d // indirect
+	github.com/blang/semver v3.5.0+incompatible
+	github.com/c4milo/gotoolkit v0.0.0-20170318115440-bcc06269efa9 // indirect
+	github.com/cenkalti/backoff v2.2.1+incompatible
+	github.com/cheggaaa/pb/v3 v3.0.1
+	github.com/cloudfoundry-attic/jibber_jabber v0.0.0-20151120183258-bcc4c8345a21
+	github.com/cloudfoundry/jibber_jabber v0.0.0-20151120183258-bcc4c8345a21 // indirect
+	github.com/containerd/containerd v1.3.1-0.20191213020239-082f7e3aed57 // indirect
+	github.com/docker/cli v0.0.0-20200303162255-7d407207c304 // indirect
+	github.com/docker/docker v1.13.1
+	github.com/docker/go-units v0.4.0
+	github.com/docker/machine v0.7.1-0.20190902101342-b170508bf44c // v0.16.2^
+	github.com/elazarl/goproxy v0.0.0-20190421051319-9d40249d3c2f
+	github.com/elazarl/goproxy/ext v0.0.0-20190421051319-9d40249d3c2f // indirect
+	github.com/evanphx/json-patch v4.5.0+incompatible // indirect
+	github.com/go-ole/go-ole v1.2.4 // indirect
+	github.com/gogo/protobuf v1.3.1 // indirect
+	github.com/golang-collections/collections v0.0.0-20130729185459-604e922904d3
+	github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b
+	github.com/google/go-cmp v0.3.2-0.20191028172631-481baca67f93
+	github.com/google/go-containerregistry v0.0.0-20200131185320-aec8da010de2
+	github.com/google/go-github v17.0.0+incompatible
+	github.com/google/martian v2.1.1-0.20190517191504-25dcb96d9e51+incompatible // indirect
+	github.com/googleapis/gnostic v0.3.0 // indirect
+	github.com/hashicorp/go-getter v1.4.0
+	github.com/hashicorp/go-retryablehttp v0.5.4
+	github.com/hooklift/assert v0.0.0-20170704181755-9d1defd6d214 // indirect
+	github.com/hooklift/iso9660 v0.0.0-20170318115843-1cf07e5970d8
+	github.com/imdario/mergo v0.3.8 // indirect
+	github.com/intel-go/cpuid v0.0.0-20181003105527-1a4a6f06a1c6 // indirect
+	github.com/johanneswuerbach/nfsexports v0.0.0-20200318065542-c48c3734757f
+	github.com/juju/clock v0.0.0-20190205081909-9c5c9712527c
+	github.com/juju/errors v0.0.0-20190806202954-0232dcc7464d // indirect
+	github.com/juju/loggo v0.0.0-20190526231331-6e530bcce5d8 // indirect
+	github.com/juju/mutex v0.0.0-20180619145857-d21b13acf4bf
+	github.com/juju/retry v0.0.0-20180821225755-9058e192b216 // indirect
+	github.com/juju/testing v0.0.0-20190723135506-ce30eb24acd2 // indirect
+	github.com/juju/utils v0.0.0-20180820210520-bf9cc5bdd62d // indirect
+	github.com/juju/version v0.0.0-20180108022336-b64dbd566305 // indirect
+	github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51
+	github.com/kr/pretty v0.2.0 // indirect
+	github.com/libvirt/libvirt-go v3.4.0+incompatible
+	github.com/machine-drivers/docker-machine-driver-vmware v0.1.1
+	github.com/mattn/go-isatty v0.0.11
+	github.com/mitchellh/go-ps v0.0.0-20170309133038-4fdf99ab2936
+	github.com/moby/hyperkit v0.0.0-20171020124204-a12cd7250bcd
+	github.com/olekukonko/tablewriter v0.0.4
+	github.com/onsi/ginkgo v1.10.3 // indirect
+	github.com/onsi/gomega v1.7.1 // indirect
+	github.com/opencontainers/go-digest v1.0.0-rc1
+	github.com/otiai10/copy v1.0.2
+	github.com/pborman/uuid v1.2.0
+	github.com/pelletier/go-toml v1.6.0 // indirect
+	github.com/phayes/freeport v0.0.0-20180830031419-95f893ade6f2
+	github.com/pkg/browser v0.0.0-20160118053552-9302be274faa
+	github.com/pkg/errors v0.9.1
+	github.com/pkg/profile v0.0.0-20161223203901-3a8809bd8a80
+	github.com/pmezard/go-difflib v1.0.0
+	github.com/prometheus/client_golang v1.1.0 // indirect
+	github.com/prometheus/procfs v0.0.5 // indirect
+	github.com/russross/blackfriday v1.5.3-0.20200218234912-41c5fccfd6f6 // indirect
+	github.com/samalba/dockerclient v0.0.0-20160414174713-91d7393ff859 // indirect
+	github.com/shirou/gopsutil v2.18.12+incompatible
+	github.com/spf13/cast v1.3.1 // indirect
+	github.com/spf13/cobra v1.0.0
+	github.com/spf13/pflag v1.0.5
+	github.com/spf13/viper v1.6.1
+	github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f // indirect
+	github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
+	github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f
+	github.com/zchee/go-vmnet v0.0.0-20161021174912-97ebf9174097
+	golang.org/x/build v0.0.0-20190927031335-2835ba2e683f
+	golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073
+	golang.org/x/net v0.0.0-20200301022130-244492dfa37a // indirect
+	golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e
+	golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9
+	golang.org/x/text v0.3.2
+	google.golang.org/api v0.9.0
+	google.golang.org/genproto v0.0.0-20200117163144-32f20d992d24 // indirect
+	google.golang.org/grpc v1.26.0 // indirect
+	gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 // indirect
+	gopkg.in/ini.v1 v1.51.1 // indirect
+	gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22 // indirect
+	gopkg.in/yaml.v2 v2.2.8
+	gotest.tools/v3 v3.0.2 // indirect
+	k8s.io/api v0.17.3
+	k8s.io/apimachinery v0.17.3
+	k8s.io/client-go v0.17.3
+	k8s.io/kubectl v0.0.0
+	k8s.io/kubernetes v1.17.3
+	k8s.io/utils v0.0.0-20200229041039-0a110f9eb7ab // indirect
+	sigs.k8s.io/sig-storage-lib-external-provisioner v4.0.0+incompatible
+)
+
+replace (
+	git.apache.org/thrift.git => github.com/apache/thrift v0.0.0-20180902110319-2566ecd5d999
+	github.com/docker/docker => github.com/docker/docker v1.4.2-0.20190924003213-a8608b5b67c7
+	github.com/docker/machine => github.com/machine-drivers/machine v0.7.1-0.20200323212942-41eb826190d8
+	github.com/hashicorp/go-getter => github.com/afbjorklund/go-getter v1.4.1-0.20190910175809-eb9f6c26742c
+	github.com/samalba/dockerclient => github.com/sayboras/dockerclient v0.0.0-20191231050035-015626177a97
+	k8s.io/api => k8s.io/api v0.17.3
+	k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.17.3
+	k8s.io/apimachinery => k8s.io/apimachinery v0.17.3
+	k8s.io/apiserver => k8s.io/apiserver v0.17.3
+	k8s.io/cli-runtime => k8s.io/cli-runtime v0.17.3
+	k8s.io/client-go => k8s.io/client-go v0.17.3
+	k8s.io/cloud-provider => k8s.io/cloud-provider v0.17.3
+	k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.17.3
+	k8s.io/code-generator => k8s.io/code-generator v0.17.3
+	k8s.io/component-base => k8s.io/component-base v0.17.3
+	k8s.io/cri-api => k8s.io/cri-api v0.17.3
+	k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.17.3
+	k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.17.3
+	k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.17.3
+	k8s.io/kube-proxy => k8s.io/kube-proxy v0.17.3
+	k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.17.3
+	k8s.io/kubectl => k8s.io/kubectl v0.17.3
+	k8s.io/kubelet => k8s.io/kubelet v0.17.3
+	k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.17.3
+	k8s.io/metrics => k8s.io/metrics v0.17.3
+	k8s.io/node-api => k8s.io/node-api v0.17.3
+	k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.17.3
+	k8s.io/sample-cli-plugin => k8s.io/sample-cli-plugin v0.17.3
+	k8s.io/sample-controller => k8s.io/sample-controller v0.17.3
+)
diff --git a/lib/manager/gomod/__snapshots__/artifacts.spec.ts.snap b/lib/manager/gomod/__snapshots__/artifacts.spec.ts.snap
index 245615173fb138b9c2fe38226f5c52415f4d3955..da1ab355e9456b21eced871c467a164f5462bd84 100644
--- a/lib/manager/gomod/__snapshots__/artifacts.spec.ts.snap
+++ b/lib/manager/gomod/__snapshots__/artifacts.spec.ts.snap
@@ -70,7 +70,7 @@ Array [
 exports[`.updateArtifacts() supports docker mode with credentials 1`] = `
 Array [
   Object {
-    "cmd": "docker pull renovate/go",
+    "cmd": "docker pull renovate/go:latest",
     "options": Object {
       "encoding": "utf-8",
     },
@@ -82,7 +82,7 @@ Array [
     },
   },
   Object {
-    "cmd": "docker run --rm --name=renovate_go --label=renovate_child --user=foobar -v \\"/tmp/github/some/repo\\":\\"/tmp/github/some/repo\\" -v \\"/tmp/renovate/cache\\":\\"/tmp/renovate/cache\\" -v \\"/tmp/renovate/cache/others/go\\":\\"/tmp/renovate/cache/others/go\\" -e GOPATH -e GOPROXY -e GONOSUMDB -e CGO_ENABLED -w \\"/tmp/github/some/repo\\" renovate/go bash -l -c \\"git config --global url.\\\\\\"https://some-token@github.com/\\\\\\".insteadOf \\\\\\"https://github.com/\\\\\\" && go get -d ./...\\"",
+    "cmd": "docker run --rm --name=renovate_go --label=renovate_child --user=foobar -v \\"/tmp/github/some/repo\\":\\"/tmp/github/some/repo\\" -v \\"/tmp/renovate/cache\\":\\"/tmp/renovate/cache\\" -v \\"/tmp/renovate/cache/others/go\\":\\"/tmp/renovate/cache/others/go\\" -e GOPATH -e GOPROXY -e GONOSUMDB -e CGO_ENABLED -w \\"/tmp/github/some/repo\\" renovate/go:latest bash -l -c \\"git config --global url.\\\\\\"https://some-token@github.com/\\\\\\".insteadOf \\\\\\"https://github.com/\\\\\\" && go get -d ./...\\"",
     "options": Object {
       "cwd": "/tmp/github/some/repo",
       "encoding": "utf-8",
@@ -108,7 +108,7 @@ Array [
 exports[`.updateArtifacts() supports docker mode with credentials and appMode enabled 1`] = `
 Array [
   Object {
-    "cmd": "docker pull renovate/go",
+    "cmd": "docker pull renovate/go:latest",
     "options": Object {
       "encoding": "utf-8",
     },
@@ -120,7 +120,7 @@ Array [
     },
   },
   Object {
-    "cmd": "docker run --rm --name=renovate_go --label=renovate_child --user=foobar -v \\"/tmp/github/some/repo\\":\\"/tmp/github/some/repo\\" -v \\"/tmp/renovate/cache\\":\\"/tmp/renovate/cache\\" -v \\"/tmp/renovate/cache/others/go\\":\\"/tmp/renovate/cache/others/go\\" -e GOPATH -e GOPROXY -e GONOSUMDB -e CGO_ENABLED -w \\"/tmp/github/some/repo\\" renovate/go bash -l -c \\"git config --global url.\\\\\\"https://x-access-token:some-token@github.com/\\\\\\".insteadOf \\\\\\"https://github.com/\\\\\\" && go get -d ./...\\"",
+    "cmd": "docker run --rm --name=renovate_go --label=renovate_child --user=foobar -v \\"/tmp/github/some/repo\\":\\"/tmp/github/some/repo\\" -v \\"/tmp/renovate/cache\\":\\"/tmp/renovate/cache\\" -v \\"/tmp/renovate/cache/others/go\\":\\"/tmp/renovate/cache/others/go\\" -e GOPATH -e GOPROXY -e GONOSUMDB -e CGO_ENABLED -w \\"/tmp/github/some/repo\\" renovate/go:latest bash -l -c \\"git config --global url.\\\\\\"https://x-access-token:some-token@github.com/\\\\\\".insteadOf \\\\\\"https://github.com/\\\\\\" && go get -d ./...\\"",
     "options": Object {
       "cwd": "/tmp/github/some/repo",
       "encoding": "utf-8",
@@ -147,7 +147,7 @@ Array [
     },
   },
   Object {
-    "cmd": "docker run --rm --name=renovate_go --label=renovate_child --user=foobar -v \\"/tmp/github/some/repo\\":\\"/tmp/github/some/repo\\" -v \\"/tmp/renovate/cache\\":\\"/tmp/renovate/cache\\" -v \\"/tmp/renovate/cache/others/go\\":\\"/tmp/renovate/cache/others/go\\" -e GOPATH -e GOPROXY -e GONOSUMDB -e CGO_ENABLED -w \\"/tmp/github/some/repo\\" renovate/go bash -l -c \\"git config --global url.\\\\\\"https://x-access-token:some-token@github.com/\\\\\\".insteadOf \\\\\\"https://github.com/\\\\\\" && go mod tidy\\"",
+    "cmd": "docker run --rm --name=renovate_go --label=renovate_child --user=foobar -v \\"/tmp/github/some/repo\\":\\"/tmp/github/some/repo\\" -v \\"/tmp/renovate/cache\\":\\"/tmp/renovate/cache\\" -v \\"/tmp/renovate/cache/others/go\\":\\"/tmp/renovate/cache/others/go\\" -e GOPATH -e GOPROXY -e GONOSUMDB -e CGO_ENABLED -w \\"/tmp/github/some/repo\\" renovate/go:latest bash -l -c \\"git config --global url.\\\\\\"https://x-access-token:some-token@github.com/\\\\\\".insteadOf \\\\\\"https://github.com/\\\\\\" && go mod tidy\\"",
     "options": Object {
       "cwd": "/tmp/github/some/repo",
       "encoding": "utf-8",
@@ -173,7 +173,7 @@ Array [
 exports[`.updateArtifacts() supports docker mode without credentials 1`] = `
 Array [
   Object {
-    "cmd": "docker pull renovate/go",
+    "cmd": "docker pull renovate/go:latest",
     "options": Object {
       "encoding": "utf-8",
     },
@@ -185,7 +185,7 @@ Array [
     },
   },
   Object {
-    "cmd": "docker run --rm --name=renovate_go --label=renovate_child --user=foobar -v \\"/tmp/github/some/repo\\":\\"/tmp/github/some/repo\\" -v \\"/tmp/renovate/cache\\":\\"/tmp/renovate/cache\\" -v \\"/tmp/renovate/cache/others/go\\":\\"/tmp/renovate/cache/others/go\\" -e GOPATH -e GOPROXY -e GONOSUMDB -e CGO_ENABLED -w \\"/tmp/github/some/repo\\" renovate/go bash -l -c \\"go get -d ./...\\"",
+    "cmd": "docker run --rm --name=renovate_go --label=renovate_child --user=foobar -v \\"/tmp/github/some/repo\\":\\"/tmp/github/some/repo\\" -v \\"/tmp/renovate/cache\\":\\"/tmp/renovate/cache\\" -v \\"/tmp/renovate/cache/others/go\\":\\"/tmp/renovate/cache/others/go\\" -e GOPATH -e GOPROXY -e GONOSUMDB -e CGO_ENABLED -w \\"/tmp/github/some/repo\\" renovate/go:latest bash -l -c \\"go get -d ./...\\"",
     "options": Object {
       "cwd": "/tmp/github/some/repo",
       "encoding": "utf-8",
diff --git a/lib/manager/gomod/__snapshots__/extract.spec.ts.snap b/lib/manager/gomod/__snapshots__/extract.spec.ts.snap
index 182598d01d7f3b7b85e1035dcc2a0d7d5d6b33d4..57882e72d9f366bca0e55463b2924692f885c69c 100644
--- a/lib/manager/gomod/__snapshots__/extract.spec.ts.snap
+++ b/lib/manager/gomod/__snapshots__/extract.spec.ts.snap
@@ -1,5 +1,662 @@
 // Jest Snapshot v1, https://goo.gl/fbAQLP
 
+exports[`lib/manager/gomod/extract extractPackageFile() extracts compatibility 1`] = `
+Object {
+  "compatibility": Object {
+    "go": "1.13",
+  },
+  "deps": Array [
+    Object {
+      "currentValue": "v0.45.1",
+      "datasource": "go",
+      "depName": "cloud.google.com/go",
+      "depNameShort": "cloud.google.com/go",
+      "depType": "require",
+      "managerData": Object {
+        "lineNumber": 5,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentValue": "v1.3.0",
+      "datasource": "go",
+      "depName": "github.com/Parallels/docker-machine-parallels",
+      "depNameShort": "Parallels/docker-machine-parallels",
+      "depType": "require",
+      "managerData": Object {
+        "lineNumber": 7,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentValue": "v3.5.0+incompatible",
+      "datasource": "go",
+      "depName": "github.com/blang/semver",
+      "depNameShort": "blang/semver",
+      "depType": "require",
+      "managerData": Object {
+        "lineNumber": 9,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentValue": "v2.2.1+incompatible",
+      "datasource": "go",
+      "depName": "github.com/cenkalti/backoff",
+      "depNameShort": "cenkalti/backoff",
+      "depType": "require",
+      "managerData": Object {
+        "lineNumber": 11,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentValue": "v3.0.1",
+      "datasource": "go",
+      "depName": "github.com/cheggaaa/pb/v3",
+      "depNameShort": "cheggaaa/pb/v3",
+      "depType": "require",
+      "managerData": Object {
+        "lineNumber": 12,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentDigest": "bcc4c8345a21",
+      "currentValue": "v0.0.0-20151120183258-bcc4c8345a21",
+      "datasource": "go",
+      "depName": "github.com/cloudfoundry-attic/jibber_jabber",
+      "depNameShort": "cloudfoundry-attic/jibber_jabber",
+      "depType": "require",
+      "digestOneAndOnly": true,
+      "managerData": Object {
+        "lineNumber": 13,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentValue": "v1.13.1",
+      "datasource": "go",
+      "depName": "github.com/docker/docker",
+      "depNameShort": "docker/docker",
+      "depType": "require",
+      "managerData": Object {
+        "lineNumber": 17,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentValue": "v0.4.0",
+      "datasource": "go",
+      "depName": "github.com/docker/go-units",
+      "depNameShort": "docker/go-units",
+      "depType": "require",
+      "managerData": Object {
+        "lineNumber": 18,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentValue": "v0.7.1-0.20190902101342-b170508bf44c",
+      "datasource": "go",
+      "depName": "github.com/docker/machine",
+      "depNameShort": "docker/machine",
+      "depType": "require",
+      "managerData": Object {
+        "lineNumber": 19,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentDigest": "9d40249d3c2f",
+      "currentValue": "v0.0.0-20190421051319-9d40249d3c2f",
+      "datasource": "go",
+      "depName": "github.com/elazarl/goproxy",
+      "depNameShort": "elazarl/goproxy",
+      "depType": "require",
+      "digestOneAndOnly": true,
+      "managerData": Object {
+        "lineNumber": 20,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentDigest": "604e922904d3",
+      "currentValue": "v0.0.0-20130729185459-604e922904d3",
+      "datasource": "go",
+      "depName": "github.com/golang-collections/collections",
+      "depNameShort": "golang-collections/collections",
+      "depType": "require",
+      "digestOneAndOnly": true,
+      "managerData": Object {
+        "lineNumber": 25,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentDigest": "23def4e6c14b",
+      "currentValue": "v0.0.0-20160126235308-23def4e6c14b",
+      "datasource": "go",
+      "depName": "github.com/golang/glog",
+      "depNameShort": "golang/glog",
+      "depType": "require",
+      "digestOneAndOnly": true,
+      "managerData": Object {
+        "lineNumber": 26,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentValue": "v0.3.2-0.20191028172631-481baca67f93",
+      "datasource": "go",
+      "depName": "github.com/google/go-cmp",
+      "depNameShort": "google/go-cmp",
+      "depType": "require",
+      "managerData": Object {
+        "lineNumber": 27,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentDigest": "aec8da010de2",
+      "currentValue": "v0.0.0-20200131185320-aec8da010de2",
+      "datasource": "go",
+      "depName": "github.com/google/go-containerregistry",
+      "depNameShort": "google/go-containerregistry",
+      "depType": "require",
+      "digestOneAndOnly": true,
+      "managerData": Object {
+        "lineNumber": 28,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentValue": "v17.0.0+incompatible",
+      "datasource": "go",
+      "depName": "github.com/google/go-github",
+      "depNameShort": "google/go-github",
+      "depType": "require",
+      "managerData": Object {
+        "lineNumber": 29,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentValue": "v1.4.0",
+      "datasource": "go",
+      "depName": "github.com/hashicorp/go-getter",
+      "depNameShort": "hashicorp/go-getter",
+      "depType": "require",
+      "managerData": Object {
+        "lineNumber": 32,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentValue": "v0.5.4",
+      "datasource": "go",
+      "depName": "github.com/hashicorp/go-retryablehttp",
+      "depNameShort": "hashicorp/go-retryablehttp",
+      "depType": "require",
+      "managerData": Object {
+        "lineNumber": 33,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentDigest": "1cf07e5970d8",
+      "currentValue": "v0.0.0-20170318115843-1cf07e5970d8",
+      "datasource": "go",
+      "depName": "github.com/hooklift/iso9660",
+      "depNameShort": "hooklift/iso9660",
+      "depType": "require",
+      "digestOneAndOnly": true,
+      "managerData": Object {
+        "lineNumber": 35,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentDigest": "c48c3734757f",
+      "currentValue": "v0.0.0-20200318065542-c48c3734757f",
+      "datasource": "go",
+      "depName": "github.com/johanneswuerbach/nfsexports",
+      "depNameShort": "johanneswuerbach/nfsexports",
+      "depType": "require",
+      "digestOneAndOnly": true,
+      "managerData": Object {
+        "lineNumber": 38,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentDigest": "9c5c9712527c",
+      "currentValue": "v0.0.0-20190205081909-9c5c9712527c",
+      "datasource": "go",
+      "depName": "github.com/juju/clock",
+      "depNameShort": "juju/clock",
+      "depType": "require",
+      "digestOneAndOnly": true,
+      "managerData": Object {
+        "lineNumber": 39,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentDigest": "d21b13acf4bf",
+      "currentValue": "v0.0.0-20180619145857-d21b13acf4bf",
+      "datasource": "go",
+      "depName": "github.com/juju/mutex",
+      "depNameShort": "juju/mutex",
+      "depType": "require",
+      "digestOneAndOnly": true,
+      "managerData": Object {
+        "lineNumber": 42,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentDigest": "95032a82bc51",
+      "currentValue": "v0.0.0-20180428030007-95032a82bc51",
+      "datasource": "go",
+      "depName": "github.com/kballard/go-shellquote",
+      "depNameShort": "kballard/go-shellquote",
+      "depType": "require",
+      "digestOneAndOnly": true,
+      "managerData": Object {
+        "lineNumber": 47,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentValue": "v3.4.0+incompatible",
+      "datasource": "go",
+      "depName": "github.com/libvirt/libvirt-go",
+      "depNameShort": "libvirt/libvirt-go",
+      "depType": "require",
+      "managerData": Object {
+        "lineNumber": 49,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentValue": "v0.1.1",
+      "datasource": "go",
+      "depName": "github.com/machine-drivers/docker-machine-driver-vmware",
+      "depNameShort": "machine-drivers/docker-machine-driver-vmware",
+      "depType": "require",
+      "managerData": Object {
+        "lineNumber": 50,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentValue": "v0.0.11",
+      "datasource": "go",
+      "depName": "github.com/mattn/go-isatty",
+      "depNameShort": "mattn/go-isatty",
+      "depType": "require",
+      "managerData": Object {
+        "lineNumber": 51,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentDigest": "4fdf99ab2936",
+      "currentValue": "v0.0.0-20170309133038-4fdf99ab2936",
+      "datasource": "go",
+      "depName": "github.com/mitchellh/go-ps",
+      "depNameShort": "mitchellh/go-ps",
+      "depType": "require",
+      "digestOneAndOnly": true,
+      "managerData": Object {
+        "lineNumber": 52,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentDigest": "a12cd7250bcd",
+      "currentValue": "v0.0.0-20171020124204-a12cd7250bcd",
+      "datasource": "go",
+      "depName": "github.com/moby/hyperkit",
+      "depNameShort": "moby/hyperkit",
+      "depType": "require",
+      "digestOneAndOnly": true,
+      "managerData": Object {
+        "lineNumber": 53,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentValue": "v0.0.4",
+      "datasource": "go",
+      "depName": "github.com/olekukonko/tablewriter",
+      "depNameShort": "olekukonko/tablewriter",
+      "depType": "require",
+      "managerData": Object {
+        "lineNumber": 54,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentValue": "v1.0.0-rc1",
+      "datasource": "go",
+      "depName": "github.com/opencontainers/go-digest",
+      "depNameShort": "opencontainers/go-digest",
+      "depType": "require",
+      "managerData": Object {
+        "lineNumber": 57,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentValue": "v1.0.2",
+      "datasource": "go",
+      "depName": "github.com/otiai10/copy",
+      "depNameShort": "otiai10/copy",
+      "depType": "require",
+      "managerData": Object {
+        "lineNumber": 58,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentValue": "v1.2.0",
+      "datasource": "go",
+      "depName": "github.com/pborman/uuid",
+      "depNameShort": "pborman/uuid",
+      "depType": "require",
+      "managerData": Object {
+        "lineNumber": 59,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentDigest": "95f893ade6f2",
+      "currentValue": "v0.0.0-20180830031419-95f893ade6f2",
+      "datasource": "go",
+      "depName": "github.com/phayes/freeport",
+      "depNameShort": "phayes/freeport",
+      "depType": "require",
+      "digestOneAndOnly": true,
+      "managerData": Object {
+        "lineNumber": 61,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentDigest": "9302be274faa",
+      "currentValue": "v0.0.0-20160118053552-9302be274faa",
+      "datasource": "go",
+      "depName": "github.com/pkg/browser",
+      "depNameShort": "pkg/browser",
+      "depType": "require",
+      "digestOneAndOnly": true,
+      "managerData": Object {
+        "lineNumber": 62,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentValue": "v0.9.1",
+      "datasource": "go",
+      "depName": "github.com/pkg/errors",
+      "depNameShort": "pkg/errors",
+      "depType": "require",
+      "managerData": Object {
+        "lineNumber": 63,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentDigest": "3a8809bd8a80",
+      "currentValue": "v0.0.0-20161223203901-3a8809bd8a80",
+      "datasource": "go",
+      "depName": "github.com/pkg/profile",
+      "depNameShort": "pkg/profile",
+      "depType": "require",
+      "digestOneAndOnly": true,
+      "managerData": Object {
+        "lineNumber": 64,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentValue": "v1.0.0",
+      "datasource": "go",
+      "depName": "github.com/pmezard/go-difflib",
+      "depNameShort": "pmezard/go-difflib",
+      "depType": "require",
+      "managerData": Object {
+        "lineNumber": 65,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentValue": "v2.18.12+incompatible",
+      "datasource": "go",
+      "depName": "github.com/shirou/gopsutil",
+      "depNameShort": "shirou/gopsutil",
+      "depType": "require",
+      "managerData": Object {
+        "lineNumber": 70,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentValue": "v1.0.0",
+      "datasource": "go",
+      "depName": "github.com/spf13/cobra",
+      "depNameShort": "spf13/cobra",
+      "depType": "require",
+      "managerData": Object {
+        "lineNumber": 72,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentValue": "v1.0.5",
+      "datasource": "go",
+      "depName": "github.com/spf13/pflag",
+      "depNameShort": "spf13/pflag",
+      "depType": "require",
+      "managerData": Object {
+        "lineNumber": 73,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentValue": "v1.6.1",
+      "datasource": "go",
+      "depName": "github.com/spf13/viper",
+      "depNameShort": "spf13/viper",
+      "depType": "require",
+      "managerData": Object {
+        "lineNumber": 74,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentDigest": "1d523034197f",
+      "currentValue": "v0.0.0-20180618132009-1d523034197f",
+      "datasource": "go",
+      "depName": "github.com/xeipuuv/gojsonschema",
+      "depNameShort": "xeipuuv/gojsonschema",
+      "depType": "require",
+      "digestOneAndOnly": true,
+      "managerData": Object {
+        "lineNumber": 77,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentDigest": "97ebf9174097",
+      "currentValue": "v0.0.0-20161021174912-97ebf9174097",
+      "datasource": "go",
+      "depName": "github.com/zchee/go-vmnet",
+      "depNameShort": "zchee/go-vmnet",
+      "depType": "require",
+      "digestOneAndOnly": true,
+      "managerData": Object {
+        "lineNumber": 78,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentDigest": "2835ba2e683f",
+      "currentValue": "v0.0.0-20190927031335-2835ba2e683f",
+      "datasource": "go",
+      "depName": "golang.org/x/build",
+      "depNameShort": "golang.org/x/build",
+      "depType": "require",
+      "digestOneAndOnly": true,
+      "managerData": Object {
+        "lineNumber": 79,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentDigest": "78000ba7a073",
+      "currentValue": "v0.0.0-20200302210943-78000ba7a073",
+      "datasource": "go",
+      "depName": "golang.org/x/crypto",
+      "depNameShort": "golang.org/x/crypto",
+      "depType": "require",
+      "digestOneAndOnly": true,
+      "managerData": Object {
+        "lineNumber": 80,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentDigest": "cd5d95a43a6e",
+      "currentValue": "v0.0.0-20190911185100-cd5d95a43a6e",
+      "datasource": "go",
+      "depName": "golang.org/x/sync",
+      "depNameShort": "golang.org/x/sync",
+      "depType": "require",
+      "digestOneAndOnly": true,
+      "managerData": Object {
+        "lineNumber": 82,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentDigest": "9fbb57f87de9",
+      "currentValue": "v0.0.0-20200124204421-9fbb57f87de9",
+      "datasource": "go",
+      "depName": "golang.org/x/sys",
+      "depNameShort": "golang.org/x/sys",
+      "depType": "require",
+      "digestOneAndOnly": true,
+      "managerData": Object {
+        "lineNumber": 83,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentValue": "v0.3.2",
+      "datasource": "go",
+      "depName": "golang.org/x/text",
+      "depNameShort": "golang.org/x/text",
+      "depType": "require",
+      "managerData": Object {
+        "lineNumber": 84,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentValue": "v0.9.0",
+      "datasource": "go",
+      "depName": "google.golang.org/api",
+      "depNameShort": "google.golang.org/api",
+      "depType": "require",
+      "managerData": Object {
+        "lineNumber": 85,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentValue": "v2.2.8",
+      "datasource": "go",
+      "depName": "gopkg.in/yaml.v2",
+      "depNameShort": "yaml",
+      "depType": "require",
+      "managerData": Object {
+        "lineNumber": 91,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentValue": "v0.17.3",
+      "datasource": "go",
+      "depName": "k8s.io/api",
+      "depNameShort": "k8s.io/api",
+      "depType": "require",
+      "managerData": Object {
+        "lineNumber": 93,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentValue": "v0.17.3",
+      "datasource": "go",
+      "depName": "k8s.io/apimachinery",
+      "depNameShort": "k8s.io/apimachinery",
+      "depType": "require",
+      "managerData": Object {
+        "lineNumber": 94,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentValue": "v0.17.3",
+      "datasource": "go",
+      "depName": "k8s.io/client-go",
+      "depNameShort": "k8s.io/client-go",
+      "depType": "require",
+      "managerData": Object {
+        "lineNumber": 95,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentValue": "v0.0.0",
+      "datasource": "go",
+      "depName": "k8s.io/kubectl",
+      "depNameShort": "k8s.io/kubectl",
+      "depType": "require",
+      "managerData": Object {
+        "lineNumber": 96,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentValue": "v1.17.3",
+      "datasource": "go",
+      "depName": "k8s.io/kubernetes",
+      "depNameShort": "k8s.io/kubernetes",
+      "depType": "require",
+      "managerData": Object {
+        "lineNumber": 97,
+        "multiLine": true,
+      },
+    },
+    Object {
+      "currentValue": "v4.0.0+incompatible",
+      "datasource": "go",
+      "depName": "sigs.k8s.io/sig-storage-lib-external-provisioner",
+      "depNameShort": "sigs.k8s.io/sig-storage-lib-external-provisioner",
+      "depType": "require",
+      "managerData": Object {
+        "lineNumber": 99,
+        "multiLine": true,
+      },
+    },
+  ],
+}
+`;
+
 exports[`lib/manager/gomod/extract extractPackageFile() extracts multi-line requires 1`] = `
 Array [
   Object {
diff --git a/lib/manager/gomod/artifacts.spec.ts b/lib/manager/gomod/artifacts.spec.ts
index abb11fdc3104a1b0e101401ce7716a68dcc3f086..3d782f31046e50751a89f38792b4c123124b4eb8 100644
--- a/lib/manager/gomod/artifacts.spec.ts
+++ b/lib/manager/gomod/artifacts.spec.ts
@@ -38,6 +38,7 @@ const config = {
   localDir: join('/tmp/github/some/repo'),
   cacheDir: join('/tmp/renovate/cache'),
   dockerUser: 'foobar',
+  compatibility: { go: '1.14' },
 };
 
 const goEnv = {
diff --git a/lib/manager/gomod/artifacts.ts b/lib/manager/gomod/artifacts.ts
index 8b120171b9c220a4429714a5e5706a9ae407a7b5..48f219aba92abf665ed95cda280c412b7b7babe5 100644
--- a/lib/manager/gomod/artifacts.ts
+++ b/lib/manager/gomod/artifacts.ts
@@ -66,6 +66,8 @@ export async function updateArtifacts({
       },
       docker: {
         image: 'renovate/go',
+        tagConstraint: config.compatibility?.go,
+        tagScheme: 'npm',
         volumes: [goPath],
         preCommands: getPreCommands(),
       },
diff --git a/lib/manager/gomod/extract.spec.ts b/lib/manager/gomod/extract.spec.ts
index 2c5b6940568fc097c2d89947832a5b602cb024fd..ae754c6cc188f4bd6aec3ba263c8759482d8e93c 100644
--- a/lib/manager/gomod/extract.spec.ts
+++ b/lib/manager/gomod/extract.spec.ts
@@ -3,6 +3,7 @@ import { extractPackageFile } from './extract';
 
 const gomod1 = readFileSync('lib/manager/gomod/__fixtures__/1/go.mod', 'utf8');
 const gomod2 = readFileSync('lib/manager/gomod/__fixtures__/2/go.mod', 'utf8');
+const gomod3 = readFileSync('lib/manager/gomod/__fixtures__/3/go.mod', 'utf8');
 
 describe('lib/manager/gomod/extract', () => {
   describe('extractPackageFile()', () => {
@@ -16,6 +17,11 @@ describe('lib/manager/gomod/extract', () => {
       expect(res.filter((e) => e.skipReason)).toHaveLength(1);
       expect(res.filter((e) => e.depType === 'replace')).toHaveLength(1);
     });
+    it('extracts compatibility', () => {
+      const res = extractPackageFile(gomod3);
+      expect(res).toMatchSnapshot();
+      expect(res.compatibility.go).toEqual('1.13');
+    });
     it('extracts multi-line requires', () => {
       const res = extractPackageFile(gomod2).deps;
       expect(res).toMatchSnapshot();
diff --git a/lib/manager/gomod/extract.ts b/lib/manager/gomod/extract.ts
index fa8ab25e42affb99f41b77c181b8be2cc936072a..8e10d6e47b493bd58bbea02e242a9935c939dfea 100644
--- a/lib/manager/gomod/extract.ts
+++ b/lib/manager/gomod/extract.ts
@@ -1,3 +1,4 @@
+import { validRange } from 'semver';
 import * as datasourceGo from '../../datasource/go';
 import { logger } from '../../logger';
 import { SkipReason } from '../../types';
@@ -43,11 +44,15 @@ function getDep(
 
 export function extractPackageFile(content: string): PackageFile | null {
   logger.trace({ content }, 'gomod.extractPackageFile()');
+  const compatibility: Record<string, any> = {};
   const deps: PackageDependency[] = [];
   try {
     const lines = content.split('\n');
     for (let lineNumber = 0; lineNumber < lines.length; lineNumber += 1) {
       let line = lines[lineNumber];
+      if (line.startsWith('go ') && validRange(line.replace('go ', ''))) {
+        compatibility.go = line.replace('go ', '');
+      }
       const replaceMatch = /^replace\s+[^\s]+[\s]+[=][>]\s+([^\s]+)\s+([^\s]+)/.exec(
         line
       );
@@ -85,5 +90,5 @@ export function extractPackageFile(content: string): PackageFile | null {
   if (!deps.length) {
     return null;
   }
-  return { deps };
+  return { compatibility, deps };
 }