From 0df07424e7a9d21f8463ae6880d1044b23a830af Mon Sep 17 00:00:00 2001 From: Tim Hockin Date: Wed, 2 Dec 2015 09:54:21 -0800 Subject: [PATCH] Make go version requirements clearer --- docs/devel/development.md | 20 +++++++++++++++++--- docs/getting-started-guides/locally.md | 2 +- docs/getting-started-guides/mesos.md | 2 +- docs/getting-started-guides/vsphere.md | 2 +- hack/lib/golang.sh | 6 +++--- hack/update-gofmt.sh | 4 ++-- hack/verify-gofmt.sh | 4 ++-- 7 files changed, 27 insertions(+), 13 deletions(-) diff --git a/docs/devel/development.md b/docs/devel/development.md index 09abe1e7681..3b5443bcdd5 100644 --- a/docs/devel/development.md +++ b/docs/devel/development.md @@ -33,15 +33,29 @@ Documentation for other releases can be found at # Development Guide -# Releases and Official Builds +This document is intended to be the canonical source of truth for things like +supported toolchain versions for building Kubernetes. If you find a +requirement that this doc does not capture, please file a bug. If you find +other docs with references to requirements that are not simply links to this +doc, please file a bug. + +This document is intended to be relative to the branch in which it is found. +It is guaranteed that requirements will change over time for the development +branch, but release branches of Kubernetes should not change. + +## Releases and Official Builds Official releases are built in Docker containers. Details are [here](http://releases.k8s.io/HEAD/build/README.md). You can do simple builds and development with just a local Docker installation. If want to build go locally outside of docker, please continue below. ## Go development environment -Kubernetes is written in [Go](http://golang.org) programming language. If you haven't set up Go development environment, please follow [this instruction](http://golang.org/doc/code.html) to install go tool and set up GOPATH. Ensure your version of Go is at least 1.3. +Kubernetes is written in the [Go](http://golang.org) programming language. If you haven't set up a Go development environment, please follow [these instructions](http://golang.org/doc/code.html) to install the go tools and set up a GOPATH. -## Git Setup +### Go versions + +Requires Go version 1.4.x or 1.5.x + +## Git setup Below, we outline one of the more common git workflows that core developers use. Other git workflows are also valid. diff --git a/docs/getting-started-guides/locally.md b/docs/getting-started-guides/locally.md index b98bb5d35c4..80695069c32 100644 --- a/docs/getting-started-guides/locally.md +++ b/docs/getting-started-guides/locally.md @@ -70,7 +70,7 @@ You need an [etcd](https://github.com/coreos/etcd/releases) in your path, please #### go -You need [go](https://golang.org/doc/install) at least 1.3+ in your path, please make sure it is installed and in your ``$PATH``. +You need [go](https://golang.org/doc/install) in your path (see [here](../devel/development.md#go-versions) for supported versions), please make sure it is installed and in your ``$PATH``. ### Clone the repository diff --git a/docs/getting-started-guides/mesos.md b/docs/getting-started-guides/mesos.md index 0fd2cf122f0..0e09d7937fe 100644 --- a/docs/getting-started-guides/mesos.md +++ b/docs/getting-started-guides/mesos.md @@ -73,7 +73,7 @@ Further information is available in the Kubernetes on Mesos [contrib directory][ - A running [Mesos cluster on Google Compute Engine][5] - A [VPN connection][10] to the cluster - A machine in the cluster which should become the Kubernetes *master node* with: - - GoLang > 1.2 + - Go (see [here](../devel/development.md#go-versions) for required versions) - make (i.e. build-essential) - Docker diff --git a/docs/getting-started-guides/vsphere.md b/docs/getting-started-guides/vsphere.md index 779c6db2e88..dc420ccdd0b 100644 --- a/docs/getting-started-guides/vsphere.md +++ b/docs/getting-started-guides/vsphere.md @@ -48,7 +48,7 @@ convenient). ### Prerequisites 1. You need administrator credentials to an ESXi machine or vCenter instance. -2. You must have Go (version 1.2 or later) installed: [www.golang.org](http://www.golang.org). +2. You must have Go (see [here](../devel/development.md#go-versions) for supported versions) installed: [www.golang.org](http://www.golang.org). 3. You must have your `GOPATH` set up and include `$GOPATH/bin` in your `PATH`. ```sh diff --git a/hack/lib/golang.sh b/hack/lib/golang.sh index 11eca5def50..bf7ee15275e 100755 --- a/hack/lib/golang.sh +++ b/hack/lib/golang.sh @@ -240,12 +240,12 @@ EOF if [[ "${TRAVIS:-}" != "true" ]]; then local go_version go_version=($(go version)) - if [[ "${go_version[2]}" < "go1.2" ]]; then + if [[ "${go_version[2]}" < "go1.4" ]]; then kube::log::usage_from_stdin <