Now the golang version 1.1 has been released by the official
website[1], so let's add support for this version, else we'll
get below build error when using golang 1.11:
```
build/makelib/golang.mk:103: *** unsupported go version. Please
make install one of the following supported version: '1.7|1.8|1.9|1.10'. Stop.
```
[1] https://golang.org/dl/
Signed-off-by: Dennis Chen <dennis.chen@arm.com>
The image save step in the image build makefiles takes half or more of
the time of builds, and this step is not necessary for development
builds. Move this functionality to the `build/release/Makefile` so that
images are saved during release builds but not during dev builds. This
will allow developers to iterate more quickly on their builds.
Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
Raise the scope of the `IMAGES` config variable in the
`build/release/Makefile` to the `build/makelib/common.mk` file, and use
the `IMAGES` variable in the `images/Makefile` to allow users to build
only select images.
Examples of new use:
make IMAGES='ceph ceph-toolbox' build
make -C build/release IMAGES='ceph ceph-toolbox' publish
The 'images/image.mk' clean.build target was changed to use
`CLEAN_IMAGES` instead of `IMAGES`, as it was conflicting with use of
the parameter in image builds.
Added IMAGES option to top-level make's help text. The text for this
option exceeded 80 lines in the `Makefile` itself, so the help text was
refactored to eliminate ` @echo '<text>'`. The `Makefile` text should
now match exactly what is output to the user including line length.
Added IMAGES option to `INSTALL.md` file's "Build" section and also
moved some text around and added a few extra points of clarification
there to hopefully improve readability, especially for first-time
readers.
Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
Instead of adding Ceph packages to Rook's base image, use
ceph-container's base image, which has Ceph packages preinstalled. Rook
now benefits from the testing the ceph-container project does, and the
scope of the Rook project no longer has to maintain builds of base
images containing Ceph packages.
The only ARM builds of ceph-container are CentOS, and as switching to
CentOS was already a thought, that is easily done at the same time as
this change.
Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
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>
Currently there's no official `dep` tool release for arm64, so we
use `go get -u github.com/golang/dep/cmd/dep` command instead of
`curl` official release to workaround this issue, order to support
native build on arm64 server. Will remove this once official arm64
release of `dep` announced.
Signed-off-by: Dennis Chen <dennis.chen@arm.com>
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.
While ceph can build fine on armhf it is not a tested configuration
today nor are debian packages for ceph published. Also ceph requires
more horsepower than is typically available on armhf machines.
We are dropping armhf support for now. arm64 is still supported.
Update all K8s dependencies to the release-1.8 branches.
Added build and make file support for generating code.
Fixed our use of client-go to match changes in new release.
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.
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.
- 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.
- 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