Commit Graph

254 Commits (4940eae478248670cbed1bcde15def96229b5c7e)

Author SHA1 Message Date
Tim Hockin 5728b1970a Use json-iterator for JSON, kill off codecgen 2017-08-31 23:30:45 -07:00
Tim Hockin 831fd242e8 Remove seemingly obsolete binaries 2017-08-18 21:01:19 -07:00
Christoph Blecker 499d6da965
Bump required golang version to 1.8 2017-07-25 12:11:03 -07:00
Kubernetes Submit Queue 9e5eb70d55 Merge pull request #46862 from dims/respect-build-platform-env-var
Automatic merge from submit-queue (batch tested with PRs 49083, 45540, 46862)

Respect KUBE_BUILD_PLATFORMS set by user

**What this PR does / why we need it**:

Currently the only(?) toggle available for custom arch builds is
KUBE_FASTBUILD. We should allow the user to specify a list
of arch(es) in the environment variable KUBE_BUILD_PLATFORMS.

Example:
KUBE_BUILD_PLATFORMS="linux/amd64 linux/arm64" hack/build-cross.sh

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #

Fixes #20365

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2017-07-19 21:18:27 -07:00
Davanum Srinivas 476e816107 Respect KUBE_BUILD_PLATFORMS set by user
Currently the only(?) toggle available for custom arch builds is
KUBE_FASTBUILD. We should allow the user to specify a list
of arch(es) in the environment variable KUBE_BUILD_PLATFORMS.

Example:
KUBE_BUILD_PLATFORMS="linux/amd64 linux/arm64" hack/build-cross.sh

Fixes #20365
2017-07-19 20:00:39 -04:00
sakeven e6d2d726ed update golang version to go1.8
Signed-off-by: sakeven <jc5930@sina.cn>
2017-07-18 14:11:28 +08:00
Davanum Srinivas 823e26ddbf Remove unnecessary wrapper flags
Drop KUBE_GOFLAGS, KUBE_GOGCFLAGS, KUBE_GOLDFLAGS references
from the build infrastructure. There are some usages still
for KUBE_GOFLAGS, so we should print a deprecation message
until all those are fixed. If both KUBE_GOFLAGS and GOFLAGS
are just then we just bail out.
2017-06-07 12:31:01 -04:00
Dr. Stefan Schimanski 33e50da9f4 Rename {kube- ->}apiextensions-{-> api}server 2017-06-06 12:06:31 +02:00
Wojciech Tyczynski 97b6701ea1 Get rid of patched version of Go 1.8.1 2017-05-25 20:05:34 +02:00
Wojciech Tyczynski 3a1bb09ea9 Patch golang 2017-05-16 21:29:22 +02:00
deads2k ed27887ad2 wire new staging repo 2017-05-02 08:43:31 -04:00
Timothy St. Clair 01366851ea Prune k8petstore from examples and e2es per discussion on sig-testing 2017-04-28 11:49:23 -05:00
Kubernetes Submit Queue 549bd4b7d5 Merge pull request #44591 from ixdy/bazel-push-build
Automatic merge from submit-queue (batch tested with PRs 44591, 44549)

Update repo-infra bazel dependency and use new gcs_upload rule

This PR provides similar functionality to push-build.sh entirely within Bazel rules (though it relies on gsutil).

It's an alternative to #44306.

Depends on https://github.com/kubernetes/repo-infra/pull/13.

**Release note**:

```release-note
NONE
```
2017-04-27 10:54:56 -07:00
Lucas Käldström 6b5d5371d9
Bump to go1.8.1 and remove the edge GOROOT 2017-04-25 23:45:47 +03:00
Jeff Grafton a9bfae8ec3 Update repo-infra bazel dependency and use new gcs_upload rule 2017-04-25 13:45:28 -07:00
Klaus Ma c6e79167f4 Skip e2e test for Mac. 2017-03-28 11:40:40 +08:00
Christoph Blecker 4d85a54027
Change verify-godeps.sh use ensure_godep_version 2017-03-15 10:32:44 -07:00
Kubernetes Submit Queue 79883dc48d Merge pull request #42070 from luxas/remove_kube_discovery
Automatic merge from submit-queue

Remove the kube-discovery binary from the tree

**What this PR does / why we need it**:

kube-discovery was a temporary solution to implementing proposal: https://github.com/kubernetes/community/blob/master/contributors/design-proposals/bootstrap-discovery.md

However, this functionality is now gonna be implemented in the core for v1.6 and will fully replace kube-discovery:
 - https://github.com/kubernetes/kubernetes/pull/36101 
 - https://github.com/kubernetes/kubernetes/pull/41281
 - https://github.com/kubernetes/kubernetes/pull/41417

So due to that `kube-discovery` isn't used in any v1.6 code, it should be removed.
The image `gcr.io/google_containers/kube-discovery-${ARCH}:1.0` should and will continue to exist so kubeadm <= v1.5 continues to work.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
Remove cmd/kube-discovery from the tree since it's not necessary anymore
```
@jbeda @dgoodwin @mikedanese @dmmcquay @lukemarsden @errordeveloper @pires
2017-03-04 12:58:23 -08:00
Jacob Beacham 0d7a6eb058 New command: gke-certificates-controller
This adds a new stand-alone certificates controller for use on GKE. It
allows calling GKE to sign certificates instead of requiring the CA
private key locally.

It does not aim for 100% feature parity with kube-controller-manager
yet, so for instance, leader election support is omitted.
2017-02-24 14:35:32 -08:00
Lucas Käldström c4e989f51c
Remove the kube-discovery binary from the tree 2017-02-24 21:23:26 +02:00
deads2k 1d40c3ff76 update scripts for new kube-aggregator location 2017-02-14 14:16:59 -05:00
Lucas Käldström 6789d4e637
Workaround that we have two GOROOTs; we have to set the path for the go executable to EDGE_GOROOT/bin/go when using the edge version 2017-01-27 20:31:17 +02:00
Lucas Käldström 04bc44acf9
Remove the patched golang from the kube-cross image and upgrade to go1.8rc1 for arm and ppc64le instead. Reenable the ppc64le builds 2017-01-27 20:03:37 +02:00
Lucas Käldström 23d3451bfe
Add cloud-controller-manager to the CI/release builds 2017-01-20 10:51:36 +02:00
Jeff Grafton bc4b6ac397 Build release tarballs in bazel and add `make bazel-release` rule 2017-01-13 16:17:44 -08:00
deads2k 453651cbfc rename kubernetes-discovery to kube-aggregator 2017-01-10 12:27:42 -05:00
Tim Hockin 52c07683ef Merge pull request #39448 from bowei/remove-dns
Remove dns
2017-01-06 17:31:05 -08:00
Bowei Du 266bf80404 Remove kube-dns from golang.sh 2017-01-06 12:57:46 -08:00
Bowei Du 0992e2bfc9 Remove DNS code from the main repo (code is now in http://github.com/kubernetes/dns) 2017-01-06 12:57:45 -08:00
Jeff Grafton d5705a6f5f Generate a dummy BUILD file in _output/local/go to keep Bazel out of trouble 2017-01-05 22:05:17 -08:00
Kubernetes Submit Queue e843f77c6a Merge pull request #38919 from brendandburns/fix
Automatic merge from submit-queue

Add a KUBERNETES_NODE_* section to build kubelet/kube-proxy for windows

@pires @ixdy 

Addresses https://github.com/kubernetes/kubernetes/issues/38785 (I hope)
2016-12-20 15:32:40 -08:00
deads2k 47073be356 create kuberentes-discovery image 2016-12-20 07:42:49 -05:00
Brendan Burns ab0e245bc6 Add a KUBERNETES_NODE_* section to build kubelet/kube-proxy for windows 2016-12-17 21:07:18 -08:00
Madhusudan.C.S 6560825390 Bundle federation/develop directory in the test tarball for federation testing. 2016-12-16 11:10:16 -08:00
Jeff Grafton 27d096d27d Rename build-tools/ back to build/ 2016-12-14 13:42:15 -08:00
Dr. Stefan Schimanski 036df76242 make: don't preserve rsync time, conflicting with touch on generators 2016-12-13 15:12:45 +01:00
Kubernetes Submit Queue 74de0fdb63 Merge pull request #38135 from MHBauer/go-generate-flag-location
Automatic merge from submit-queue

goflags must be after subcommand

**What this PR does / why we need it**:
if GOFLAGS is set when calling make, kubernetes will fail to build

as an example, I often have `GOFLAGS=-v` so I can have some idea of progress during compilation

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: 
no known issue

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2016-12-12 13:28:24 -08:00
Lucas Käldström afefb19ac4 Fix the cross-build 2016-12-10 16:26:21 +02:00
gajju26 70b92aab45 PR-2 Making docker images availabe for s390x on gcr.io repository and enables s390x support to kube-dns , pause, addon-manager, etcd, hyperkube, kube-discovery modules 2016-12-09 14:38:02 +05:30
Morgan Bauer 3114920d46
goflags must be after subcommand 2016-12-05 12:25:07 -08:00
Sebastian Jug 79202656bc - Moved gobindata, refactored ReadOrDie refs
- Remaining spaghetti untangled
- Missed bazel update and a few hardcoded refs
- New instance of framework.ReadOrDie reference removed post rebase
- Resolve new clientset rebase
- Fixed e2e/generated BUILD dep
- A space
- Missed gobindata ref in golang.sh
2016-12-02 12:57:03 -05:00
Kubernetes Submit Queue 7ec3be4c8e Merge pull request #36964 from ixdy/gobin-build
Automatic merge from submit-queue

Build vendored copy of go-bindata and use that in go generate step

**What this PR does / why we need it**: as the title says, uses the vendored version of `go-bindata` rather than expecting developers to `go get` it (when building outside docker).

**Which issue this PR fixes**: fixes #34067, partially addresses #36655

**Special notes for your reviewer**: we still call `go generate` far too many times:
```console
~/.../src/k8s.io/kubernetes $ which go-bindata
~/.../src/k8s.io/kubernetes $ make
+++ [1116 17:35:28] Building the toolchain targets:
    k8s.io/kubernetes/hack/cmd/teststale
    k8s.io/kubernetes/vendor/github.com/jteeuwen/go-bindata/go-bindata
+++ [1116 17:35:29] Generating bindata:
    test/e2e/framework/gobindata_util.go
+++ [1116 17:35:30] Building go targets for linux/amd64:
    cmd/libs/go2idl/deepcopy-gen
+++ [1116 17:35:35] Building the toolchain targets:
    k8s.io/kubernetes/hack/cmd/teststale
    k8s.io/kubernetes/vendor/github.com/jteeuwen/go-bindata/go-bindata
+++ [1116 17:35:35] Generating bindata:
    test/e2e/framework/gobindata_util.go
+++ [1116 17:35:36] Building go targets for linux/amd64:
    cmd/libs/go2idl/defaulter-gen
+++ [1116 17:35:41] Building the toolchain targets:
    k8s.io/kubernetes/hack/cmd/teststale
    k8s.io/kubernetes/vendor/github.com/jteeuwen/go-bindata/go-bindata
+++ [1116 17:35:41] Generating bindata:
    test/e2e/framework/gobindata_util.go
+++ [1116 17:35:42] Building go targets for linux/amd64:
    cmd/libs/go2idl/conversion-gen
+++ [1116 17:35:47] Building the toolchain targets:
    k8s.io/kubernetes/hack/cmd/teststale
    k8s.io/kubernetes/vendor/github.com/jteeuwen/go-bindata/go-bindata
+++ [1116 17:35:47] Generating bindata:
    test/e2e/framework/gobindata_util.go
+++ [1116 17:35:48] Building go targets for linux/amd64:
    cmd/libs/go2idl/openapi-gen
+++ [1116 17:35:56] Building the toolchain targets:
    k8s.io/kubernetes/hack/cmd/teststale
    k8s.io/kubernetes/vendor/github.com/jteeuwen/go-bindata/go-bindata
+++ [1116 17:35:56] Generating bindata:
    test/e2e/framework/gobindata_util.go
```
Fixing that is a separate effort, though.

cc @sebgoa @ZhangBanger
2016-12-02 07:29:01 -08:00
Jeff Grafton 38690ff7a7 build: don't call unset_platform_envs before building 2016-12-01 10:37:39 -08:00
Jeff Grafton 0d9d623f04 Build vendored copy of go-bindata and use that in go generate step
Additionally remove all instances of `go get`ing go-bindata
2016-11-30 22:23:40 -08:00
Jeff Grafton 9848d6cc8d build: clean platform envs to prevent cross-contamination 2016-11-29 16:35:45 -08:00
Madhusudan.C.S 3c692ebd77 [Federation] Implement the `kubefed` command.
Also:
1. Add it to the client build targets list.
2. Register `kubefed join` and `kubefed unjoin` commands.
2016-11-02 12:48:20 -07:00
Tim Hockin 7aa91bbff6 Use checksum to rsync results
If dependencies are touched, the Makefile will detect that tools like
deepcopy-gen need to be rebuilt.  It will rebuild them, but Go decides the
dependencies are not actually updated (maybe it was a test file - known
limitation of the current Makefile) and does not touch the resulting binary.
Then the Makefile touches the result explicitly to mark thatthe dep change has
been handled.  Then rsync blows away that change with the older file, and
helpfully preserves the timestamp.

Now rsync ignores it if the checksum is the same.  Result = faster build.
2016-10-26 16:30:18 +02:00
Mike Danese 27116c6818 rename build/ to build-tools/ 2016-10-24 14:41:56 -07:00
Jess Frazelle 3193174142
Remove go patches for darwin
Signed-off-by: Jess Frazelle <acidburn@google.com>
2016-10-13 21:12:15 -07:00
Joe Beda dd3ac00c7d Install test subpackages too
We weren't getting incremental builds because of new test only subpackages.  Our
voodoo combo of 'go install' and 'go test -c' didn't cache things like
'test/e2e_node/services'.  Add the '-i' flag to 'go test' to install test only
dependencies too.
2016-10-03 19:42:21 -07:00
Joe Beda 17454a04ac Remove support for boot2docker 2016-10-03 19:42:20 -07:00
Jeff Grafton f769b02c8f Use patched go1.7.1 for cross-builds targeting darwin 2016-09-29 17:05:23 -07:00
deads2k 06b1a9636d promote contrib/mesos to incubator 2016-09-28 10:58:09 -04:00
Kubernetes Submit Queue 83b4133ea8 Merge pull request #33496 from mikedanese/build-kubeadm-kubedisco
Automatic merge from submit-queue

build kube-discovery and kubeadm with release

This will start publishing binaries from our ci builds.

@errordeveloper @dgoodwin
2016-09-27 03:46:57 -07:00
Jeff Grafton 13a3313957 Bundle kubemark in test tarball instead of server tarball 2016-09-26 11:06:48 -07:00
Mike Danese b421bf4315 build kube-discovery and kubeadm with release 2016-09-26 10:20:04 -07:00
Lucas Käldström b17e107def Various improvements plus added a version command 2016-09-25 22:38:39 +03:00
Kubernetes Submit Queue dae3bddf90 Merge pull request #32884 from Random-Liu/separate-build-for-node-e2e
Automatic merge from submit-queue

Add separate build process for node test.

This PR is part of https://github.com/kubernetes/kubernetes/pull/31093. However, because currently node e2e is built on `KUBE_TEST_PLATFORMS`, which includes linux/amd64, darwin/amd64, windows/amd64 and linux/arm, it caused #32251 to fail.

In fact, node e2e is running on the same node with kubelet, and it also has built-in apiserver, etcd and namespace controller. All of them are only built on `KUBE_SERVER_PLATFORMS`, so node e2e should also only be built on those platforms.
```
KUBE_SERVER_PLATFORMS=(
     linux/amd64
     linux/arm
     linux/arm64
   )
```

This PR added a separate build process for node e2e to address this.

@vishh Do you need this for v1.4? because this blocks your #32251. /cc @dchen1107
2016-09-16 14:16:57 -07:00
Random-Liu a67fec6419 Add separate build process for node test. 2016-09-16 11:17:49 -07:00
Lucas Käldström aa045f786e Use a patched golang version for building linux/arm, fixes kube-apiserver 2016-09-14 18:04:22 +03:00
Dr. Stefan Schimanski f2f3a459d8 Use portable ln -snf instead of -sTf 2016-08-29 18:58:56 +02:00
Kubernetes Submit Queue 1e42723269 Merge pull request #31525 from dcbw/handle-existing-go_pkg_dir
Automatic merge from submit-queue

Don't error out if ${go_pkg_dir} already exists

I have 'make' aliased to 'make -j4' for various reasons, and that's always worked fine for Kubernetes in the past.  But it recently broke because EEXIST errors from this symlink creation are fatal.  So make them not fatal, because if the path already exists, why try to create it again?  It exists because two invocations of setup_env() are run in parallel due to the -j4, and they race to create the symlink and one obviously fails.

ln: failed to create symbolic link ‘/home/dcbw/Development/containers/kubernetes/_output/local/go/src/k8s.io/kubernetes’: File exists
Makefile.generated_files:285: recipe for target '_output/bin/deepcopy-gen' failed
make[1]: *** [_output/bin/deepcopy-gen] Error 1
make[1]: *** Waiting for unfinished jobs....
+++ [0826 10:18:02] Generating bindata:
    /home/dcbw/Development/containers/kubernetes/test/e2e/framework/gobindata_util.go
+++ [0826 10:18:02] Building the toolchain targets:
    k8s.io/kubernetes/hack/cmd/teststale
+++ [0826 10:18:03] Building go targets for linux/amd64:
    cmd/libs/go2idl/conversion-gen
Makefile:281: recipe for target 'generated_files' failed
make: *** [generated_files] Error 2
2016-08-28 13:57:32 -07:00
Dan Williams e063c760c2 Don't error out if ${go_pkg_dir} already exists
If it already exists, the world is OK and there's no need to panic.
2016-08-26 13:10:13 -05:00
Madhusudan.C.S d9cea93eb6 [Federation] Do not build separate binaries for federation control plane components, hyperkube should be sufficient.
Also build the hyperkube docker image on-the-fly.

This is only a temporary fix until the proposal in issue
https://github.com/kubernetes/kubernetes/issues/28630 is implemented.

Also, the new build/deployment method completely obviates this step.

We use debian image instead of busybox and do not build hyperkube as a
static binary yet. Wait until PR
https://github.com/kubernetes/kubernetes/pull/26028 is merged to build
static hyperkube binaries.
2016-08-25 14:29:32 -07:00
Jeff Grafton dec4d1ea33 Disable linux/ppc64le compilation by default.
It can be reenabled with KUBE_BUILD_PPC64LE=y.
2016-08-16 17:05:42 -07:00
Tim Hockin 5217a502d1 Set GOROOT 2016-08-12 21:35:32 -07:00
Tim Hockin 99a6a8ab16 Fix subtle build breakage
Repro case:
$ make clean generated_files
$ hack/update-generated-protobuf.sh

This would complain about not finding `fmt`, and it was indicating the wrong
GOROOT.  The problem was that the first step built binaries for generating
code, which *embeds* the value of GOROOT into the binary.  The whole tree was
bind-mounted into the build container and then JUST the dockerized dir was
mounted over it.  The in-container build tried to use the existing binaries,
but GOROOT is wrong.

This change whites-out the whole _output dir.

I first made just an anonymous volume for _output, but docker makes that as
root, which means I can't write to it from our non-root build.  So I just put
it in the data container.  This seems to work.  The biggest change this makes
is that the $GOPATH/bin/ and $GOPATH/pkg/ dirs will persist across dockerized
builds.
2016-08-12 21:20:38 -07:00
Tim St. Clair 9abdf719b8
Add a verbosity concept to kubernetes scripts
The KUBE_VERBOSE environment variable sets the verbosity level to
use. Log messages can specify a verbosity by setting the V
variable. e.g.

    V=2 kube::log::info foo bar

Would only print "foo bar" if $KUBE_VERBOSE >= 2.
2016-08-04 22:01:22 -07:00
Madhusudan.C.S 31f5525f43 Revert "[Federation] Downsize the release binary distribution." 2016-08-01 23:54:09 -07:00
Madhusudan.C.S 5a3a84968b [Federation] Do not build separate binaries for federation control plane components, hyperkube should be sufficient. 2016-08-01 11:45:21 -07:00
Jay Vyas 6166083c78 kill repo-root : test/e2e/serviceloadbalancers.go
bindata and yaml, Gobindata automation
bindata utils for generating, go generate
match server version
gitignore for dirty, ca, rbase, KUBE_ROOT, buildfix
(rebased jul-25,29)
2016-07-29 14:35:19 -04:00
Mike Brown 6ca905ac37 adds source debug build options
Signed-off-by: Mike Brown <brownwm@us.ibm.com>
2016-07-13 11:01:30 -05:00
Tim Hockin 9613e15801 Make releases work 2016-07-12 21:52:54 -07:00
Tim Hockin 881e21c2d5 Link _output/bin/ to real binaries for this arch
This makes followup commits easier wrt finding binaries during build.
2016-07-12 21:52:00 -07:00
Wojciech Tyczynski 3686e55d37 Remove cmd/integration test 2016-07-04 13:07:12 +02:00
David McMahon ef0c9f0c5b Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
k8s-merge-robot 337805d1a7 Merge pull request #27816 from spxtr/no-travis
Automatic merge from submit-queue

Remove all traces of travis.
2016-06-28 03:53:34 -07:00
k8s-merge-robot ba7e0b4dad Merge pull request #27482 from quinton-hoole/2016-06-15-build-darwin-test-binaries-on-os-x
Automatic merge from submit-queue

Build Darwin test binaries on OS X when KUBE_FASTBUILD is set

Without this, on OS X, test binaries would not be built for the local ARCH, and test scripts fail with an obscure error due to not being able to find the correct binary to run.

This makes the behavior on OS X more consistent with Linux.

Tested on OS X and Linux.
2016-06-24 13:57:04 -07:00
Joe Finney ab4a65c10a Remove all traces of travis. 2016-06-21 15:58:34 -07:00
Quinton Hoole 5c546a187b Build Darwin test binaries on OS X. 2016-06-15 14:42:04 -07:00
Lucas Käldström 9673ca16b2 Enable builds for all ppc64le binaries except hyperkube 2016-06-15 22:59:25 +03:00
k8s-merge-robot 421c12e69e Merge pull request #26458 from david-mcmahon/godep-version
Automatic merge from submit-queue

Check for a valid godep version.
2016-06-03 11:04:38 -07:00
David McMahon d038c53c0b Check for a valid godep version. 2016-06-02 16:35:14 -07:00
Lucas Käldström a46a1cdc12 Don't set the env var CC when not cross-compiling 2016-05-30 23:59:34 +03:00
Dr. Stefan Schimanski a79a420fde Move shell completion generation into 'kubectl completion' command 2016-05-30 07:23:36 +02:00
Eric Paris cd700ee3eb Merge pull request #26313 from nikhiljindal/fedServerDoc
federation: Adding a tool to generate docs for federation apiserver and controller manager
2016-05-26 23:09:51 -04:00
Colin Hom a092fd2dd4 Federation build and e2e test integration
Federation components are now buildable and e2e-testable via e2e.go.
2016-05-25 15:07:27 -07:00
nikhiljindal f98bda0b47 Adding a tool to generate federation docs 2016-05-25 15:04:20 -07:00
nikhiljindal 991eb753a2 Renaming federated-apiserver to federation-apiserver 2016-05-24 11:49:39 -07:00
k8s-merge-robot 0257f54a8c Merge pull request #24850 from madhusudancs/speedup-do-nothing
Automatic merge from submit-queue

Improve the speed of do-nothing build.

As @thockin found out here https://github.com/kubernetes/kubernetes/issues/24518, vast majority of the do-nothing build time is spent in rebuilding the test binaries. There is no staleness check support for test binaries.

This commit implements the staleness checks for test binaries and uses them while building packages.

On my workstation, do-nothing hack/build-go.sh time goes from ~20 secs to ~4 secs, of which only ~1 sec is from doing test binary staleness check now (as opposed to ~17 secs it took to build the test binaries before). I did some experiments to bring this time down to <1 sec. I measured using go test -bench, but it was not very useful in this case. I believe, a vast majority of that ~1 second is being spent in fork/exec and piping the results back to the staleness check program along with the ser-deser involved, but it needs to be validated. Not a proof, but to provide some supporting evidence to this claim, running `go list -f format packages` in the shell takes about 600ms irrespective of what's in the format.

Tests are TBD. I am still trying to figure out how to test this, but I would like to get early feedback

cc @mikedanese @mml
2016-05-22 10:33:04 -07:00
k8s-merge-robot a503bb828a Merge pull request #24653 from gtank/go-devel-builds
Automatic merge from submit-queue

hack: allow devel builds of go

This is issue https://github.com/kubernetes/kubernetes/issues/6913. It seems reasonable that someone running a devel build is responsible for making sure it's a sane version.

<!-- Reviewable:start -->
---
This change is [<img src="http://reviewable.k8s.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](http://reviewable.k8s.io/reviews/kubernetes/kubernetes/24653)
<!-- Reviewable:end -->
2016-05-22 08:51:54 -07:00
Abhishek Shah a92ea56024 added build stuff for kube-dns 2016-05-20 15:08:11 -07:00
Clayton Coleman 2c9b83f291 Disable ppc64le for now 2016-05-19 10:19:35 -04:00
George Tankersley 8b507d8cdc hack: allow devel builds of go 2016-05-16 11:06:21 -07:00
huangyuqi 21fe26bd07 remove the rs&subrs logic from cluster controller 2016-05-16 16:48:27 +08:00
Madhusudan.C.S 7e486bd777 Build and use the teststale binary on only the host platform. 2016-05-14 20:29:39 -07:00
Madhusudan.C.S dd154350e8 Address review comments. 2016-05-13 23:09:44 -07:00
Madhusudan.C.S dcaf005ffe Improve the speed of do-nothing build.
As thockin found out here https://github.com/kubernetes/kubernetes/issues/24518,
vast majority of the do-nothing build time is spent in rebuilding the test
binaries. There is no staleness check support for test binaries.

This commit implements the staleness checks for test binaries and uses them
while building packages.

Tests are TBD. I am still trying to figure out how to test this.
2016-05-13 23:09:44 -07:00
Tim Hockin 9a83015e60 Fix path munging funcs and usage
Our `realpath` and `readlink -f` functions (required only because of MacOS,
thanks Steve) were poor substitutes at best.  Mostly they were downright
broken.  This thoroughly overhauls them and adds a test (in comments, since we
don't seem to have shell tests).  For all the interesting cases I could think
of, the fakes act just like the real thing.

Then use those and canonicalize KUBE_ROOT.  In order to make recursive calls of
our shell tool not additively grow `pwd` we have to essentially make the
sourcing of init.sh idempotent.
2016-05-08 20:30:38 -07:00
Tim Hockin 527cb50583 Demand at least go1.6 2016-05-08 20:30:37 -07:00