The github actions are fully covering the build needs in master
so we can go ahead and disable Jenkins by default. In case
there is still a desired to run Jenkins for a particular PR,
the [test full] text can still trigger it.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
Given the improvements with github actions and other improvements,
we now clean up the build instructions for developers joining the
rook project. There is no need to understand about Jenkins pipelines
anymore since we will soon be fully on github actions.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
The cockroachDB operator has not had community support in Rook.
Therefore, the time has come to deprecate and remove it.
If the sources are still needed, there is always git history.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
The CI runs the integration tests on several versions of K8s. By default
the integration tests have all been running on all versions of K8s. With the
recent option to run a minimum matrix for ceph tests it has shown to be reliable
for PRs and is much faster to have the test distribution.
Master and release builds will still run the full set of test suites on all
versions of K8s.
Signed-off-by: travisn <tnielsen@redhat.com>
There are six test suites and six k8s versions where we currently run
the tests. For efficiency we can restrict the testing to one suite
per k8s version. Bigger or riskier changes should still run the full
set of suites on all versions. To trigger the smaller test matrix, add
[test ceph min] to the PR description
Signed-off-by: travisn <tnielsen@redhat.com>
Since most PRs are focused on a single storage provider,
the tests for other storage providers do not need to be
run. The CI will allow skipping tests for other storage
providers by specifying keywords in the PR description.
Similar to [skip ci], you can now specify [test storage-provider].
For example, [test ceph] will only trigger the test
suites for ceph and none of the other storage providers.
Signed-off-by: travisn <tnielsen@redhat.com>
The CI only needs to be run for PRs that have code changes.
PRs that are only documentation, yaml, or other files
that are not built should skip the long and tedious
CI process. This makes the [skip ci] flag more discoverable.
Signed-off-by: travisn <tnielsen@redhat.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>
I started seting up the rook build infastructure and running `make` resuled in:
```shell
vagrant@ubuntu-xenial:~/rook$ make
/bin/bash: go: command not found
/bin/bash: go: command not found
/bin/bash: go: command not found
/bin/bash: go: command not found
```
So I added go to the tools.
Signed-off-by: xinau <felix.ehrenpfort@codecentric.de>
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>
There is a deprecation warning in the `armhf` org on DockerHub.
> The armhf organization is deprecated in favor of the more-specific
arm32v7 and arm32v6 organizations, as per
https://github.com/docker-library/official-images#architectures-other-than-amd64.
Please adjust your usages accordingly.
Required changes to Rook:
`armhf` -> `arm32v7`
`aarch64` -> `arm64v8`
Install documentation has been updated as well.
Signed-off-by: Blaine Gardner <blaine.gardner@suse.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.
- 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.