Skip to content
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

Upgrade to golang 1.6 #22149

Merged
merged 1 commit into from
Apr 5, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ language: go

matrix:
include:
- go: 1.5.3
- go: 1.6.0

install:
- go get github.com/tools/godep
Expand Down
41 changes: 20 additions & 21 deletions build/build-image/cross/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -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 \
Expand All @@ -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
Expand All @@ -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/
2 changes: 1 addition & 1 deletion build/build-image/cross/VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v1.4.2-1
v1.6.0-1
2 changes: 1 addition & 1 deletion build/common.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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-<hash>"

# Here we map the output directories across both the local and remote _output
Expand Down
2 changes: 1 addition & 1 deletion cluster/images/etcd/build-etcd.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion cluster/mesos/docker/test/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -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 <support@mesosphere.io>

# docker.io is suppossed to be in backports, but it's not there yet.
Expand Down
2 changes: 1 addition & 1 deletion docs/devel/development.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To be honest - I think we do NOT officially support 1.5 Go (due to performance issues) - so we shouldn't mention it here.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we run 1.6 in testing, it should require >= 1.6.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's not entirely true - currently we are running 1.4.2 and we officially do NOT support 1.5.X (but it is >= 1.4.2).

We need to explicitly specify versions that we are supporting.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I may fix that in a follow-up if you like

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@luxas - can you fix that in this PR? I will re-apply gtlm label as soon as this is done

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It merged already, will send a follow-up anyway


## Git setup

Expand Down
2 changes: 1 addition & 1 deletion shippable.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ language: go

matrix:
include:
- go: 1.5.3
- go: 1.6.0
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@spxtr @ixdy
Since we are no longer using shippable - can't we just remove this whole file?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, probably best to do that in a separate PR though.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#23845 out for review

env:
- KUBE_TEST_API_VERSIONS=v1,extensions/v1beta1 KUBE_TEST_ETCD_PREFIXES=registry
- KUBE_JUNIT_REPORT_DIR="${SHIPPABLE_REPO_DIR}/shippable/testresults"
Expand Down