Commit Graph
41 Commits
Author SHA1 Message Date
Blaine Gardner 7febd4e303 ci: add debugging to release build script
Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-09-01 13:58:21 -06:00
subhamkrai 3b99d24340 ci: build failed due unbound var
removing unused var which was making push build
action to fail due set -u which was added recently.

Closes: https://github.com/rook/rook/issues/8616
Signed-off-by: subhamkrai <srai@redhat.com>
2021-09-01 15:15:45 +05:30
Satoru Takeuchi 8a48dbb00d ceph: stop vendoring
We generate vendor directory in building process. It doesn't reduce
build time. In addition, we have encountered some vendoring-related
problems. So let's stop vendoring.

Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
2021-04-21 02:01:56 +00:00
John Mulligan c3e863d1a9 build: support specifying custom 'docker' command in run script
Allow the default 'docker' command to be overridden by an environment
variable in the "build/run" shell script and the supporting library
file.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2019-02-25 18:49:11 -05:00
Dennis Chen 4679fe5694 Disable the 'cross' build on AArch64
AArch64 platform doesn't support the `build.all` command due to the
`hypriot/qemu-register` issue, so we disable this kind of 'cross' build
on AArch64 platform.

Signed-off-by: Dennis Chen <dennis.chen@arm.com>
2018-04-26 16:16:12 +08:00
Bassam Tabbara 2b818eefe4 images: use ceph deb packages instead of building from source
Ceph is now installed from deb packages instead of being built from
source. This results in larger images sizes (roughly 60MB increase
compressed) but the maintenance and build burden is reduced. Future
versions of ceph will hopefully optimize for image size.

All support for building native code in containers has been removed,
as it is no longer needed. When we add other backends we will assume
that they can be installed using apt-get too.
2018-01-08 21:06:44 -08:00
Divesh Angula ee16ca83ad ci updates
- converting results to junit
 - better handling for apt-get install on slaves
 - better support for running tests on minikube and kubeadm
 - update default minikube k8s version to v1.7.2
 -use k8s 1.7.4 for kubeadm
2017-08-23 10:34:21 -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 3bfd06a9f1 build: rework image makefile targets to avoid duplicate runs 2017-06-20 20:57:46 -07:00
Bassam Tabbara 612caef61d build: remove use of patterns in images makefile 2017-06-20 20:57:46 -07:00
Bassam Tabbara fa7460fc54 build: fix entrypoint for rookd and toolbox 2017-06-20 20:57:46 -07:00
Bassam Tabbara 1e68e35c16 build: rename image dirs 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 6f19798a32 build: use the same build registry when running in container 2017-06-20 20:57:46 -07:00
Bassam Tabbara bdf5887e13 build: fix ccache when running in build container + misc 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
David Borman 5ea47e90ea Fix bash error when testing if DOCKER_HOST is set
Change the script "build/run" to use "exit",
not "return".  "return" is only for use within
a function or a sourced script.
2017-04-23 18:43:28 -05: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 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
Bassam Tabbara 223b3852d3 build: fix docker config bind mount 2017-03-07 15:25:12 -08:00
Bassam Tabbara 82b139ec69 build: simplify Jenkinsfile 2017-03-07 15:25:12 -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 0db5404fa9 build: fix bin bind mount 2017-02-09 17:06:02 -08:00
Bassam Tabbara d4c5ccf621 build: fix incremental build on linux
the go pkg directory was not bind mounted and resulted
in lots of rebuilds.
2017-01-23 15:04:30 -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 03b82d5744 build: improve speed of rsync on exit
we were starting the container and stopping it twice to rsync two dirs. with this fix only one start/stop happens.
2016-11-18 20:19:40 -08:00
Bassam Tabbara 29f6834592 build: support concurrent runs of build/run
concurrent runs of build/run are now supported. This is mostly
to benefit jenkins scenarios. removed the need to name containers
and also refactored the rsync path.

Fixes #202
2016-11-17 21:43:40 -08:00
Bassam Tabbara daa9363b53 build: remove ccache dependency on host 2016-11-15 11:32:03 -08:00
Bassam Tabbara fa8980197f build: rsync vendor directory back to host
This works around the issue of bind mounting the vendor directory which does not work with glide. Fixes #93
2016-11-14 21:20:04 -08:00
Bassam Tabbara 06a9389eb5 build: fix permission issues in cross-build
fix permission issues when running in the cross-build container. on the mac now we use the correct uid and gid.
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 4936587b94 go import fixes 2016-10-26 00:38:39 +02:00
Bassam Tabbara de18ae8cdd fix permissions for vendor directory 2016-10-18 21:32:21 -07: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 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 c89025c913 upload container to quay.io
upload our containers to quay.io where they are automatically
converted to ACIs for use by rkt. Partially addresses #50

remove github-release as it was being flaky.
2016-10-12 21:17:20 -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