Commit Graph
50 Commits
Author SHA1 Message Date
Bassam Tabbara 55daf639dd build: always cleanup docker images 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 1245e6022a build: dont build ceph again during tests 2017-04-04 17:01:39 -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 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
Travis Nielsen 7ba9e8e7c2 merge rook-operator binary wtih rookd 2017-03-30 12:45:11 -07:00
Steve Leon 2f0045db2e Adding lint check for syntax and style. 2017-03-16 09:47:49 -07:00
Bassam Tabbara c4bfac4bfc build: separate download dir to avoid race 2017-03-08 14:42:03 -08:00
Bassam Tabbara 82b139ec69 build: simplify Jenkinsfile 2017-03-07 15:25:12 -08:00
Bassam Tabbara 59aac91fab build: support for building different version of ceph
this add support for building rook with kraken and luminous
release of ceph. A new Makefile flag CEPH_BRANCH is used to
specify the version to be built.
2017-03-06 14:51:32 -08: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 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 a73eb92a8b build: pass VERBOSE=1 when V=1 2017-02-09 17:06:02 -08:00
Travis Nielsen 0601091388 basic operator to launch placeholder services 2017-02-01 09:48:53 -08:00
Bassam Tabbara e8d1470310 build: build more packages from source
we now build all the required packages for rookd from source. also
reorganized the external project a bit to support this.

Removed STATIC makefile option and replaced with LINKMODE
2016-12-12 17:21:52 -05:00
Bassam Tabbara 0216acaa84 build: fix static builds
restructure the build tags and installsuffix usage for golang
to build our projects correctly for static and dynamic builds.
2016-11-16 14:11:29 -08:00
Bassam Tabbara 31f3abaf23 build: fix the build version
Fixes #178
2016-11-14 14:54:51 -08:00
Bassam Tabbara 0aac00ff79 build: use netgo build tag for static builds
pass netgo build tag just for static builds. this required a refactoring of build flags to avoid passing netgo to non-static packages.

Fixes #80
2016-11-14 12:54:02 -08:00
Bassam Tabbara b3c4f18c89 initial docs and licensing 2016-11-07 17:13:39 -08:00
Bassam Tabbara 7da39894c0 rename castle to rook
switched to using quay.io for all containers -- we are no longer
publishing to hub.docker.com.
2016-10-27 13:42:03 +02:00
Bassam Tabbara 4936587b94 go import fixes 2016-10-26 00:38:39 +02:00
Bassam Tabbara d7c9d41f04 use rsync to speedup build on macOS
we know use rsync to sync sources to the build container
and avoid osxfs which is painfully slow. the macOS/docker
build now is on par with linux builds
2016-10-18 17:55:36 -07:00
Bassam Tabbara f9ace65a79 make castle go gettable
changed the cmd/castlectl pacakge to not have a main function and
added main.go at the root of the tree. this makes the whole
project go gettable.

also fixed a number of makefile issues to deal with go files in the
root of the tree.
2016-10-17 17:07:27 -07:00
Bassam Tabbara c7c64f83a5 improve support for building on the macOS
numerous path fixes in makefiles.

now using a cross-build volume for docker to avoid running heavy I/O paths on docker's osxfs which is super slow.
2016-10-17 10:43:23 -07:00
Bassam Tabbara 76666ba508 support for release builds
This commit adds support for build release artifacts and
publishing them. Currently we support binaries that are published
to github release, docker containers that go to hub.docker.com,
and rkt ACIs (which are not currently published).
2016-10-12 10:34:16 -07:00
Bassam Tabbara 0c30d20386 Simplify Makefile to support cross compiling
Makefile has been simplified to take advantage of incremental
build support in golang, and to setup for cross compiling.
2016-10-10 15:35:38 -07:00
Bassam Tabbara a68d91f9be Pickup latest ceph with reworked commits 2016-09-29 21:51:01 -07:00
Bassam Tabbara 60b0dc3b05 Dependency checking in Makefile and other improvements
Makefile now checks go dependencies and only builds what is needed.

Refactored the Makefile into three parts for better maintenance.

Add a buildall target that is the initial attempt at cross compiling
castlectl.
2016-09-29 12:17:42 -07:00
Bassam Tabbara 07c0245889 Makefile improvements
Makefile now attempts to build only what is needed. Dependency
checking has been improved but its not perfect yet.

Also added support for building in a private gopath which would
support building from forked repos.
2016-09-23 23:33:49 -07:00
Bassam Tabbara 0e1efa8d9a Support for ccache 2016-09-15 15:11:46 -07:00
Jared Watts d1687653ca Allow an option to skip vendoring in the Makefile 2016-09-14 08:17:28 -07:00
Bassam Tabbara e1c9e4bd99 reorder makeflags 2016-09-13 15:15:01 -07:00
Travis Nielsen c479d3100e Merge pull request #14 from quantum/agent-test
Monitor agent unit tests
2016-09-13 12:54:07 -07:00
Bassam Tabbara 494c1043f3 Merge pull request #11 from quantum/add-circle-build
Add circleci support
2016-09-12 14:38:51 -07:00
Bassam Tabbara a15df92546 Performance improvements to circleci build 2016-09-12 14:02:11 -07:00
Travis Nielsen d80e88c279 Add unit tests for the ceph monitor 2016-09-12 13:52:46 -07:00
Bassam Tabbara f3098d04f2 build castle in a container. added circle.yml 2016-09-11 19:53:39 -07:00
bassamtabbara d68a584ce2 Merge pull request #9 from quantum/run-glide-on-build
run glide install on each build. upgrade glide to 12.1
2016-09-10 12:57:57 -07:00
Travis Nielsen 05458f08b7 add test command to makefile 2016-09-09 13:44:04 -07:00
Bassam Tabbara 0f79c6b1aa run glide install on each build. upgrade glide to 12.1 2016-09-08 14:24:47 -07:00
Jared Watts dd6866fb96 Port ceph-test logic into new castlectl tool (just to get castlectl off the ground, this won't be the final CLI UX) 2016-08-19 13:49:10 -07:00
Bassam Tabbara 41bf52a6cf support for dynamic linking and PIE 2016-08-08 16:39:26 -07:00
Bassam Tabbara 2bc5c76987 call ceph-mon directly 2016-08-04 16:52:07 -07:00
Bassam Tabbara 3ed21e2154 initial support for creating a cluster. build change to support different allocators. improvements to Makefile 2016-08-03 12:38:23 -07:00
Bassam Tabbara 8eba8822cc support for generating a key in castled. end-to-end build working 2016-07-28 23:54:38 -07:00
Bassam Tabbara fa4dc4e406 Initial support for building embedded ceph and calling it from a go cmd 2016-07-24 22:27:07 -07:00