Commit Graph

13 Commits (1a1b0699bc7372f333cc2d900bba684b2b0a96c0)

Author SHA1 Message Date
Joe Beda 843ae1fbe2 Rename `output/` directory to `_output/`
go build ./... will ignore any directory starting with an underscore.
2014-08-29 14:44:55 -07:00
Tim Hockin f0c3896281 Build tweaks
Wrap long lines.
Add GOFLAGS support to build and test.
Comments.
2014-08-28 22:56:00 -07:00
Filipe Brandenburger bf9113ea2e Grab complete version information from git
This replaces the gitcommit() shell function with kube::version_ldflags()
which prepares a string suitable for Go's -ldflags parameter that fills
in the git version fields in pkg/version/base.go.

The gitCommit is now a full 40-character SHA1, the gitVersion will be
filled from `git describe` output (which will only be available once we
have annotated git tags) and gitTreeState will be filled with either
"clean" or "dirty" depending on the tree status at the time of the
build.

Use a kube:: "namespace" (there's really no such a thing in shell, but
the illusion still makes it nice) in order to make this nice to import
into existing shell scripts or on a shell session. (In the future, I'm
planning to introduce more functions and convert some of the top-level
commands into other kube::* shell functions.)

There's a difference now that -version will report a full SHA1, this
will be improved in a follow up change which will improve the Go code
for -version handling to give a more meaningful string that should be
enough to identify the origin of the binary in git.

Tested:
- Built it and checked output of -version:
  $ hack/build-go.sh
  $ output/go/bin/kubelet -version
  Kubernetes version 0.1+, build 3ff7ee4b8c843c7767cd856fbf7d3027cd5410e6

- Ran the release script and checked output of the common.sls file:
  $ release/build-release.sh TESTINSTANCE
  $ cat output/release/master-release/src/saltbase/pillar/common.sls
  instance_prefix: TESTINSTANCE-minion
  go_opt: -ldflags '-X github.com/GoogleCloudPlatform/kubernetes/pkg/version.gitCommit 3ff7ee4b8c843c7767cd856fbf7d3027cd5410e6 -X github.com/GoogleCloudPlatform/kubernetes/pkg/version.gitTreeState clean'

- Successful run of hack/e2e-test.sh end-to-end tests.

Signed-off-by: Filipe Brandenburger <filbranden@google.com>
2014-08-27 17:36:04 -07:00
Filipe Brandenburger 4bc1364224 Fix commitFromGit -> gitCommit in release/build-release.sh
This caused Jenkins break on e2e-test because the version of server and
client did not match exactly, as the server was built without the
version ldflags.

Tested:
- Ran "release/build-release.sh ${instance_name}" and confirmed that
  output/release/master-release/src/saltbase/pillar/common.sls has the
  git version under version.gitCommit no longer version.commitFromGit.

Fixes: b777eb19e2
2014-08-27 14:04:54 -07:00
Filipe Brandenburger 8f55ac9651 Do not set IFS to the wrong value
The correct way to reset it to the default would be IFS=$' \t\n', but
there's no reason to assume a wrong setting here, in fact, nothing this
script does should depend on an IFS setting, so let's just drop this
line altogether.

Tested:
- Ran "release/build-release.sh <instance>" before and after this
  change. Compared the two trees for differences, only difference was
  the SHA1 in output/release/master-release/src/saltbase/pillar/common.sls

    $ diff -Naur output.orig/release/master-release/ output/release/master-release/
    diff -Naur output.orig/release/master-release/src/saltbase/pillar/common.sls output/release/master-release/src/saltbase/pillar/common.sls
    --- output.orig/release/master-release/src/saltbase/pillar/common.sls   2014-08-27 13:28:52.104241577 -0700
    +++ output/release/master-release/src/saltbase/pillar/common.sls        2014-08-27 13:29:28.296087806 -0700
    @@ -1,2 +1,2 @@
     instance_prefix: MY_INSTANCE_NAME-minion
    -go_opt: -ldflags "-X github.com/GoogleCloudPlatform/kubernetes/pkg/version.commitFromGit 'e169da2abfbf'"
    +go_opt: -ldflags "-X github.com/GoogleCloudPlatform/kubernetes/pkg/version.commitFromGit '8aea0d85e447-dirty'"

Signed-off-by: Filipe Brandenburger <filbranden@google.com>
2014-08-27 13:32:09 -07:00
Joe Beda 5722eba780 Propagate version info into salt config and use to build.
Fixes #1043.
2014-08-26 16:17:06 -07:00
Clayton Coleman 9336373857 Use -ldflags to set git commit version 2014-08-25 16:40:47 -04:00
Joe Beda 70c6c75ae3 Fix release and salt scripts for godep 2014-08-13 15:57:41 -07:00
Brad Wells e3fd1672ac (Re)generate the build version when preparing a release.
If hack/build-go.sh has never been run before release/build-release.sh
the subsequent build will fail. Also, when preparing builds the
version should be forced to be up to date with the current checkout.
2014-08-08 22:43:31 -06:00
Jeff Mendoza a4ea512350 Make build-release.sh not directory dependant. 2014-07-18 11:51:19 -07:00
Christophe Labouisse 3ce6fc116d Fixed SCRIPT_DIR computation when CDPATH is set. 2014-07-11 16:55:47 +02:00
Jeff Mendoza 24159294d6 Fix build-release comments. 2014-07-10 15:48:58 -07:00
Jeff Mendoza 5a556dc3fa Start modularizing shell scripts
Pull release tarball building out of release.sh into new
build-release.sh, so you can build the tarball without uploading
to cloud storage.
2014-07-10 15:46:24 -07:00