Commit Graph
30 Commits
Author SHA1 Message Date
subhamkrai 99358688d8 ci: use github composition to reduce duplication
Using Github Compositoin to reduce the yaml duplication.
https://github.blog/changelog/2021-08-25-github-actions-reduce-duplication-with-action-composition/

Closes: https://github.com/rook/rook/issues/8637
Signed-off-by: subhamkrai <srai@redhat.com>
2021-11-09 16:41:55 +05:30
subhamkrai 6d0a06365f ci: update minikube and kubernetes version
Updating minikube version to `v1.23.2` and
k8s version to `v1.22.2`

Signed-off-by: subhamkrai <srai@redhat.com>
2021-10-20 10:04:31 +05:30
Blaine Gardner 65619c2677 test: get more partition info setting up ci disk
Add some commands to get more partition info when setting up the GH
action runner's disk for use in integration tests. This will both aid in
debugging and may "jog" the system such that it will no longer need to
reload the partition info when running the OSD prepare job.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-10-18 11:29:13 -06:00
subhamkrai fb13b5cad0 ci: run tmate session only on PR
run tmate only for `pull_request` event and
remove for other events. As during release
when tests fail it takes extra 30 min to fail the
test or someone manually has to end the test
which is painfully especially during release time.

Signed-off-by: subhamkrai <srai@redhat.com>
2021-09-27 19:52:37 +05:30
Travis Nielsen f5c1543ddf build: update min k8s version to 1.16
In Rook v1.8 the min version of K8s supported is updated to 1.16.
Users running on older versions of K8s are recommended to update
to 1.16 or newer before updating to Rook v1.8.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-09-23 16:17:56 -06:00
Sébastien Han 53ad7c73a1 ci: add failfast go flag to stop tests sooner (optionnal)
With the -failfast flag the tests will not continue when one of them
fails. This allows us to log in the runner and observe the exact state
of any failure.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-09-08 11:24:58 +02:00
subhamkrai 94d8b9b2e6 ci: reduce tmate timeout to 60
reduce tmate timeout to 60 for the pull_request event.

Signed-off-by: subhamkrai <srai@redhat.com>
2021-08-18 10:29:03 +05:30
Sébastien Han 796f6d12c8 ci: test on kubernetes 1.22
1.22 just got released. We now bump our tests one version higher too.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-08-05 09:39:05 +02:00
Travis Nielsen 87596c6f8e build: detect git version instead of setting to 0
The build version should be detected with the git describe
command, but if the VERSION var is already set, it will be
used instead of being detected from git. During the official
builds or even local builds, we just want to let the makefile
detect the git version.

The full git history is added to enable proper detection of the
version. Without the full history only a hash is returned for
the version, which then results in an invalid semantic version
error for the helm chart.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-07-28 07:25:10 -06:00
subhamkrai f90050c5b2 ci: update versions in the gh action
this commit update the versions in the
action. example minikube, python, commitlint
and others.

Signed-off-by: subhamkrai <srai@redhat.com>
2021-06-24 23:07:47 +05:30
subhamkrai fb7f4ce33b ci: set tmate for 120min in case of ci failure
this commit enable tmate session for every ci failure
with 120min timeout.

Signed-off-by: subhamkrai <srai@redhat.com>
2021-06-23 12:31:54 +05:30
Blaine Gardner e71882fd16 test: add xtrace for github action shells
For all Rook-maintained GH actions, use a default shell that has xtrace
enabled to help debug any errors.

Enable xtrace on all actions except these that use only external tools:
- codespell
- commitlint (wagoid/commitlint)
- golangci-lint
- helm-lint (chart-testing)
- stale
- yamllint

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-06-22 10:58:08 -06:00
subhamkrai 7974d46b20 ci: improve github action writing
we have lots of duplicate codes for
github action. this commit refactor
them to a bash script which will minimize
duplicate codes.

Signed-off-by: subhamkrai <srai@redhat.com>
2021-04-27 20:15:52 +05:30
Sébastien Han 6a33395c4a ci: separate PR and release/master branch push into different files
We now have a single file with all the integration test that will run
when code is pushed to a release branch or merged in master.

Also, we have separate files with integration tests that run on pull
requests against master or a release branch.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-04-19 12:43:31 +02:00
Sébastien Han 01ad7afe53 ci: ability to skip ci with a label
Additionally to skip ci tag in the commit message from https://github.blog/changelog/2021-02-08-github-actions-skip-pull-request-and-push-workflows-with-skip-ci/
We can now skip integration tests by applying the "skip-ci" label at the
**creation time** of the PR. Obviously adding later works but will still
trigger the test in the initial opening of the PR. Subsequent pushes
will skip integration tests.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-04-14 12:17:34 +02:00
Travis Nielsen 10f350adc9 Merge pull request #7371 from travisn/go-1.16
build: Update the build to use go 1.16 while still supporting 1.15
2021-04-13 07:33:19 -06:00
Travis Nielsen 31c4ef622e build: update the build to use go 1.16
With the release of go 1.16, we update the tools. The -i flag is
now deprecated, no longer necessary for building in a private directory.
The go modules are cleaned up at the same time.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-04-12 15:01:14 -06:00
Travis Nielsen bfa302f2c2 ci: run integration tests on k8s 1.21
With the release of K8s 1.21.0 we now run the integration tests
on v1.21.0. To keep consistent with running master builds on five
recent releases, we keep master builds back to v1.15 and skip other
less changed versions such as v1.16 and 1.19. Jenkins builds just run
five versions, while github actions run four versions.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-04-12 13:10:43 -06:00
Sébastien Han 15901277d5 ci: use authenticated requests for minikube action on suite
We have seen the CI failing to run the minikube action, reaching the API
limit. By using authenticated requests, we can overcome this limitation.
Follow-up of https://github.com/rook/rook/pull/7503/commits/1504fb869b5ed5b8f7df362bc9df3b45dd8ac9ea

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-04-12 14:26:38 +02:00
subhamkrai 81624b255f ci: update minikube version
this commit update the github action
minikube version as minikube setup on
latest k8s version are failing.

Signed-off-by: subhamkrai <srai@redhat.com>
2021-04-08 12:32:04 +05:30
subhamkrai 24ec105b58 ci: enable it test on push
this commit enable IT test to run on master push.

Signed-off-by: subhamkrai <srai@redhat.com>
2021-04-07 11:32:42 +05:30
Sébastien Han 7069aa4f16 ci: fix disk issue with crashing osd
Let's try to create a 'ceph' user with the uid 167 and add it to the
'disk' group so that if the permissions on the disk change then the OSD
should be able to access the disk.

Closes: https://github.com/rook/rook/issues/7405
Signed-off-by: Sébastien Han <seb@redhat.com>
2021-03-25 09:55:35 +01:00
subhamkrai 61ba7ec45a ci: it test to run on multiple k8s version for master/release
this commit enables IT to run on multiple k8s version
and for master/release, all the 5 k8s version
'v1.15.12','v1.16.15','v1.18.15','v1.19.7','v1.20.0'
similar to jenkins.

Signed-off-by: subhamkrai <srai@redhat.com>
2021-03-22 15:55:01 +05:30
subhamkrai 07df8220d8 ci: run gh action on multiple k8s version
this commit enables gh action to run

Flex test on only 'v1.15.12',
Smoke and Helm tests on both 'v1.15.12','v1.20.2',
Mgr, Multicluster and upgrade tests on only 'v1.20.2'

Signed-off-by: subhamkrai <srai@redhat.com>
2021-03-18 09:03:56 +05:30
Travis Nielsen bdbf264e68 ceph: integration tests in github actions skip cleanup
The integration tests run independently in the github actions so there is
no need to cleanup from every test. The cleanup is still needed in the
Jenkins tests where all the suites run serially.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-03-17 11:26:11 -06:00
Travis Nielsen 32c628108c Merge pull request #7416 from leseb/debug-ci
ci: debug runners on failures
2021-03-16 08:57:32 -06:00
Sébastien Han 88c0eb57cd ci: debug runners on failures
If one of the suite fails, it is sometimes handy to ssh into the
instance to precisely understand what's going on.
So by applying a debug label so as "debug-smoke-suite" you will be able
to ssh into the runner to debug. By default it looks
like the runner will be cancelled automatically after 6 hours as per the
official doc: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idtimeout-minutes

I've had a different experience, and somehow 45min seems to be the limit
but I might be wrong.

Once the label is applied, go into the check and the once you are
interested in and search the step "setup tmate session for debugging".
It should output lines with the connection details.

To get the list of all labels see: https://github.com/rook/rook/labels?q=debug-
Example run is available here: https://github.com/rook/rook/pull/7416/checks?check_run_id=2120103989

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-03-16 10:43:38 +01:00
Blaine Gardner b744a08c54 ci: update minikube github action to fix apt-get
Fix an apt-get update issue by bumping to the latest (fixed) version of
manusa/actions-setup-minikube (v2.3.1).

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-03-15 10:10:34 -06:00
Sébastien Han 0adf7624d9 ceph: stick with ubuntu-18.04 on the CI
Github just switched to use Ubuntu 20.04 for the ubuntu-latest and it is
breaking some of our scenarios so far. Especially scenario creating
partitions.

Closes: https://github.com/rook/rook/issues/7327
Signed-off-by: Sébastien Han <seb@redhat.com>
2021-03-01 18:20:42 +01:00
Sébastien Han adaa90b668 ci: split the test into their own files
If each has its own file we can restart them independently in case of
intermittent failures.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-01-08 16:21:36 +01:00