Commit Graph
67 Commits
Author SHA1 Message Date
Wil Reichert bf891be243 use BSD / GNU agnotic sed & date params 2017-11-17 17:24:02 -07:00
Bassam Tabbara e5d895a0a1 build: speedup calls to dep ensure
dep ensure blindly updates the whole vendor tree causing everything to be rebuilt. This workaround will only call dep ensure if the .lock file changes or if the vendor dir is non-existent.
2017-11-10 08:47:22 -08:00
Bassam Tabbara f123a46dee move to dep 2017-10-27 16:04:03 -07:00
Bassam Tabbara 1654ebe9eb build: upgrade glide to v0.13.0 2017-10-27 11:57:29 -07:00
Bassam Tabbara 9d5a7e945c build: ensure build concurrency only across platforms
this commit will ensure that any concurrency during the go build only happens across platforms, and no concurrent calls to go build or go install happen for a given platform.

the goal here is to reduce races between concurrent invocations of go build where package files are removed form the file system leading to "can't find import" errors.
2017-10-24 12:44:18 -07:00
Divesh Angula 21228d4d4b CI updates
- Add support for running individual test in a tests suite
 - building integration and longhaul test binaries
 - Addiing support for skipping CI or running just smoke test on a PR.
2017-09-21 15:52:12 -07:00
Bassam Tabbara a3c5a8e8d0 build: export GOARM env variable 2017-08-25 10:22:22 -07:00
Bassam Tabbara e868693cb1 build: upgrade to golang 1.9 2017-08-24 22:16:09 -07:00
Bassam Tabbara 181ddf1bc8 build: ensure we use always use a semver 2017-08-11 20:36:45 -07:00
Bassam Tabbara 9f6d3798e5 build: publish and promote helm charts
we now support charts.rook.io
2017-08-10 13:26:45 -07:00
Bassam Tabbara 556d221c93 build: build helm charts and reorganize demo dir
moved the helm charts and demo files to a `cluster` directory

helm charts are now built by the makefiles, and version tag is updated automagically.
2017-08-09 12:57:39 -07:00
Bassam Tabbara a9d4f68a8d build: fix image platform support 2017-07-21 22:18:25 -07:00
Bassam Tabbara f3d59fd556 build: only set GOARCH if not already set from env 2017-07-21 21:17:09 -07:00
Bassam Tabbara 5732003ec6 build: explicitly build the test packages 2017-07-21 19:25:12 -07:00
Bassam Tabbara 73f854bbde build: use bash for shell in makefiles 2017-07-21 19:25:12 -07:00
Bassam Tabbara 0a9077b0da build: fix building of integration tests 2017-07-21 19:25:11 -07:00
Bassam Tabbara e252c9383b build: move binaries to _output/bin 2017-07-21 19:25:11 -07:00
Bassam Tabbara a8379cf251 build: disable glide up on build 2017-07-21 17:08:40 -07:00
Bassam Tabbara a46565daaf build: fix regression in build
2cdfdab3d regressed the build and we were building for linux_amd64 even when build.all was called
2017-07-21 17:05:11 -07:00
Bassam Tabbara 2cdfdab3db build: optionally build integration tests binary 2017-07-17 17:35:25 -07:00
Bassam Tabbara cdc26ef162 enable 'gofmt -s' and fix issues 2017-07-16 21:24:13 -07:00
Bassam Tabbara bd8d7ca71b build: fix make vendor 2017-07-12 17:28:34 -07:00
Bassam Tabbara a5959bbf8a build: run glide update when glide.yaml changes
this will ensure that we do not have broken dependencies.
2017-07-07 12:45:07 -07:00
Bassam Tabbara e4b1db9bc9 tests: refactor integration tests
refactor integration tests splitting out the kubernetes
cluster setup to just be in a script and making it the reponsibility
of the host/user/jenkins.

integration tests now run just like unit tests using "go test".
2017-06-29 15:20:28 -07:00
Bassam Tabbara e55fd55e7d build: rework release scripts and jenkinsfile
inital commit to convert release scripts to makefiles for improved maintenance.

now publishing to docker hub including manifest list support.

initial attempt at reworking the jenkinsfile to pipeline syntax.
2017-06-29 15:20:27 -07:00
Bassam Tabbara 6188a9bf41 switch quay.io/rook with rook 2017-06-28 22:21:05 -07:00
Bassam Tabbara ab59789334 build: fix make release on mac 2017-06-20 20:57:46 -07:00
Bassam Tabbara 96252b9ef3 build: switch rook and rookd to static
removed PIE and simplified the cross build containers as a result.
2017-06-20 20:57:46 -07:00
Bassam Tabbara f3ae0a2fa8 build: support for building on mac 2017-06-20 20:57:46 -07:00
Bassam Tabbara 78c07696b4 build: revisit caching of images
image caching is now simplified and works based on a single timestamp as the image tag.
2017-06-20 20:57:46 -07:00
Bassam Tabbara 1299df7ec7 build: remove externals and update makefiles
remove externals subdir from the codebase and switch to using
the new build containers. also all submodules are now gone.
2017-06-20 20:57:46 -07:00
Jared Watts d05d074bb9 Fix gofmt issue and update makefile to print and fail upon gofmt errors instead of updating the files inline. 2017-06-13 22:08:04 -07:00
aramisjohnson b589b18dbd Test framework and Tests 2017-05-02 10:13:30 -07:00
Steve Leon 236468119e Added volume provisioner to Rook
- The provisioner is a Kubernetes external volume provisioner
- It calls the Rook API to create and delete volumes on behalf
  of Kubernetes
- It automatically discover Ceph monitor endpoints
- It locates RBD ceph user keys based on the Rook cluster location
- It uses the in-tree RBD volume plugin to do the map/unmap
- Also modify the documentation to reflect the changes on the
  storageclass
2017-04-17 15:20:44 -07:00
Bassam Tabbara c6c575ed7c build: make promote idempotent 2017-04-05 13:30:24 -07:00
Bassam Tabbara 42629f406f build: use a versioned glide binary 2017-04-04 17:02:25 -07:00
Bassam Tabbara cbacbe957d build: cleanup working directories and mac build
centralized all working directories at .work in the root of the tree.  also centralize all download directories to .download at the root of the tree.

cleaned up the rsync behavior between host and docker cross build when running on non-linux host.
2017-04-04 17:02:25 -07:00
Bassam Tabbara 59f5815115 build: support for promoting a build
support for build promotion. For example, make promote CHANNEL=alpha VERISON=v0.4.0, will push the v0.4.0 bits to the alpha channel.
2017-04-04 17:02:25 -07:00
Bassam Tabbara babcc79603 build: cleanup docker images after publish 2017-04-04 17:01:39 -07:00
Bassam Tabbara eeb2656b1f build: fix vendor handling
we now ensure that glide failures stop the build
2017-04-04 17:01:39 -07:00
Bassam Tabbara 192926c96b build: improve golint and glide tool installation 2017-04-04 17:01:39 -07:00
Bassam Tabbara 1179e45334 build: upload build artifacts to S3
we now publish build artifacts to an S3 bucket, by default
its release.rook.io. We no longer push bits to github on
make publish.

Added support for AWS cli in the cross-build container.
2017-04-04 17:01:39 -07:00
Jared Watts fe0b2b5bfd build: release script arg fixes 2017-03-28 14:47:42 -07:00
Steve Leon 2f0045db2e Adding lint check for syntax and style. 2017-03-16 09:47:49 -07:00
Bassam Tabbara 701d03eead build: add dev target for quick builds 2017-03-06 14:51:32 -08:00
Bassam Tabbara cc6f40649a build: run go builds in parallel 2017-03-06 14:51:32 -08:00
Bassam Tabbara 6e84b161fa build: separate externals into their own project
Move external packages including ceph into a separate project under
the externals subdir.
2017-03-06 14:51:32 -08:00
Bassam Tabbara f65c8ede09 ceph: pickup luminous build 2017-03-06 14:51:32 -08:00
Bassam Tabbara 75523ccb17 build: add support debug builds and backtraces
we now build with debug information on linux even for release builds. Debug
information is save in a separate .debug file that can be loaded by gdb.

switched to using the golangs's facilities for cgo backtraces. had to add
C++ demangling to it but its now on par with the default backtrace facility
that ceph had. This approach works with static builds and relies on the
symbol table alone -- no need for rdynamic or DWARF sections in the binary.

Update the build container so that all packages now build with debug, also
fixed zlib package which had a broken link.

Fixes #135
2017-02-09 19:52:27 -08:00
Bassam Tabbara 194949f51e build: remove stale comments 2017-02-09 17:06:02 -08:00