diff --git a/.travis.yml b/.travis.yml index e7792337da8..82959683124 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,7 +11,7 @@ language: go matrix: include: - - go: 1.5.3 + - go: 1.6.0 install: - go get github.com/tools/godep diff --git a/build/build-image/cross/Dockerfile b/build/build-image/cross/Dockerfile index 333a6e30703..ebdf73c22d0 100644 --- a/build/build-image/cross/Dockerfile +++ b/build/build-image/cross/Dockerfile @@ -15,7 +15,7 @@ # This file creates a standard build environment for building cross # platform go binary for the architecture kubernetes cares about. -FROM golang:1.4.2 +FROM golang:1.6.0 ENV GOARM 6 ENV KUBE_DYNAMIC_CROSSPLATFORMS \ @@ -27,24 +27,24 @@ ENV KUBE_CROSSPLATFORMS \ darwin/amd64 darwin/386 \ windows/amd64 windows/386 -RUN cd /usr/src/go/src \ - && for platform in ${KUBE_CROSSPLATFORMS}; do GOOS=${platform%/*} GOARCH=${platform##*/} ./make.bash --no-clean; done +# Pre-compile the standard go library when cross-compiling. This is much easier now when we have go1.5+ +RUN for platform in ${KUBE_CROSSPLATFORMS}; do GOOS=${platform%/*} GOARCH=${platform##*/} go install std; done # Install g++, then download and install protoc for generating protobuf output RUN apt-get update \ && apt-get install -y g++ rsync \ && apt-get clean && rm -rf /var/lib/apt/lists/* -RUN mkdir -p /usr/local/src/protobuf && cd /usr/local/src/protobuf &&\ - wget -q https://github.com/google/protobuf/releases/download/v3.0.0-beta-2/protobuf-cpp-3.0.0-beta-2.tar.gz &&\ - tar xzvf protobuf-cpp-3.0.0-beta-2.tar.gz &&\ - cd protobuf-3.0.0-beta-2 &&\ - ./configure &&\ - make install &&\ - ldconfig &&\ - cd .. &&\ - rm -rf protobuf-3.0.0-beta-2 &&\ - protoc --version +RUN mkdir -p /usr/local/src/protobuf \ + && cd /usr/local/src/protobuf \ + && curl -sSL https://github.com/google/protobuf/releases/download/v3.0.0-beta-2/protobuf-cpp-3.0.0-beta-2.tar.gz | tar -xzv \ + && cd protobuf-3.0.0-beta-2 \ + && ./configure \ + && make install \ + && ldconfig \ + && cd .. \ + && rm -rf protobuf-3.0.0-beta-2 \ + && protoc --version # Use dynamic cgo linking for architectures other than amd64 for the server platforms # More info here: https://wiki.debian.org/CrossToolchains @@ -60,13 +60,12 @@ RUN echo "deb http://emdebian.org/tools/debian/ jessie main" > /etc/apt/sources. ENV TMPDIR /tmp.k8s # Get the code coverage tool and godep -RUN mkdir $TMPDIR && \ - go get golang.org/x/tools/cmd/cover github.com/tools/godep +RUN mkdir $TMPDIR \ + && go get golang.org/x/tools/cmd/cover github.com/tools/godep -# Download and symlink etcd. We need this for our integration tests. +# Download and symlink etcd. We need this for our integration tests. RUN export ETCD_VERSION=v2.2.1; \ - mkdir -p /usr/local/src/etcd &&\ - cd /usr/local/src/etcd &&\ - curl -fsSLO https://github.com/coreos/etcd/releases/download/$ETCD_VERSION/etcd-$ETCD_VERSION-linux-amd64.tar.gz &&\ - tar xzf etcd-$ETCD_VERSION-linux-amd64.tar.gz &&\ - ln -s ../src/etcd/etcd-$ETCD_VERSION-linux-amd64/etcd /usr/local/bin/ + mkdir -p /usr/local/src/etcd \ + && cd /usr/local/src/etcd \ + && curl -fsSL https://github.com/coreos/etcd/releases/download/${ETCD_VERSION}/etcd-${ETCD_VERSION}-linux-amd64.tar.gz | tar -xz \ + && ln -s ../src/etcd/etcd-${ETCD_VERSION}-linux-amd64/etcd /usr/local/bin/ diff --git a/build/build-image/cross/VERSION b/build/build-image/cross/VERSION index b7ebb10f40d..dba7764369d 100644 --- a/build/build-image/cross/VERSION +++ b/build/build-image/cross/VERSION @@ -1 +1 @@ -v1.4.2-1 +v1.6.0-1 diff --git a/build/common.sh b/build/common.sh index 7f41b25a207..be757325a9c 100755 --- a/build/common.sh +++ b/build/common.sh @@ -48,7 +48,7 @@ readonly KUBE_GCS_DELETE_EXISTING="${KUBE_GCS_DELETE_EXISTING:-n}" # Constants readonly KUBE_BUILD_IMAGE_REPO=kube-build -readonly KUBE_BUILD_IMAGE_CROSS_TAG="v1.4.2-1" +readonly KUBE_BUILD_IMAGE_CROSS_TAG="v1.6.0-1" # KUBE_BUILD_DATA_CONTAINER_NAME=kube-build-data-" # Here we map the output directories across both the local and remote _output diff --git a/cluster/images/etcd/build-etcd.sh b/cluster/images/etcd/build-etcd.sh index cdc897751fc..3cd76d6e360 100755 --- a/cluster/images/etcd/build-etcd.sh +++ b/cluster/images/etcd/build-etcd.sh @@ -27,7 +27,7 @@ TAG=$1 ARCH=$2 TARGET_DIR=$3 -GOLANG_VERSION=${GOLANG_VERSION:-1.5.3} +GOLANG_VERSION=${GOLANG_VERSION:-1.6.0} GOARM=6 # Create the ${TARGET_DIR} directory, if it doesn't exist diff --git a/cluster/mesos/docker/test/Dockerfile b/cluster/mesos/docker/test/Dockerfile index b0f65488ee8..c04d53c253c 100644 --- a/cluster/mesos/docker/test/Dockerfile +++ b/cluster/mesos/docker/test/Dockerfile @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM golang:1.4.3 +FROM golang:1.6.0 MAINTAINER Mesosphere # docker.io is suppossed to be in backports, but it's not there yet. diff --git a/docs/devel/development.md b/docs/devel/development.md index a45b3ab1410..41179f57b42 100644 --- a/docs/devel/development.md +++ b/docs/devel/development.md @@ -54,7 +54,7 @@ Kubernetes is written in the [Go](http://golang.org) programming language. If yo ### Go versions -Requires Go version 1.4.x or 1.5.x +Requires Go version 1.4.x, 1.5.x or 1.6.x ## Git setup diff --git a/shippable.yml b/shippable.yml index e30902ac0b1..770a81e9714 100644 --- a/shippable.yml +++ b/shippable.yml @@ -4,7 +4,7 @@ language: go matrix: include: - - go: 1.5.3 + - go: 1.6.0 env: - KUBE_TEST_API_VERSIONS=v1,extensions/v1beta1 KUBE_TEST_ETCD_PREFIXES=registry - KUBE_JUNIT_REPORT_DIR="${SHIPPABLE_REPO_DIR}/shippable/testresults"