kuttl icon indicating copy to clipboard operation
kuttl copied to clipboard

Create CI infrastructure in GitHub Actions

Open iblancasa opened this issue 3 years ago • 7 comments

Signed-off-by: Israel Blancas [email protected]

What this PR does / why we need it:

  • Fixes #335: CI is not run in PRs
  • Use GitHub Actions for the CI
  • Add a job for the unit tests (missing in the CircleCI automation)

Some notes

  • Create as a draft because I need to add a workflow to create releases

iblancasa avatar Feb 17 '22 19:02 iblancasa

@kensipe, do you want me to remove the .circleci folder?

iblancasa avatar Feb 17 '22 20:02 iblancasa

oh.. nice! We may want to give a heads up and align with kudo... but would limit this to < a week. I don't see any challenges but want to allow for alignment time.

and to answer the question.. yes! we should remove .circleci as part of this transition

Nice stuff!

kensipe avatar Feb 17 '22 20:02 kensipe

Ok, nice. Another question: do you want to create a GitHub workflow for the releases or do you want to keep the process explained in RELEASE.md?

iblancasa avatar Feb 17 '22 21:02 iblancasa

it would be much nicer to have releases off github actions.
some details that may not be on the release doc. I build a docker build with buildx (multi-arch support) and push to docker hub. This is to support Operator SDK score card. It would be wonderful to automate all the things.

kensipe avatar Feb 17 '22 21:02 kensipe

I see all the details are there either on the release doc.. or linked from it.

kensipe avatar Feb 17 '22 21:02 kensipe

this is marked "Draft"... let me know when you're ready. It looks good. I expect we want to pull from circleci... is that the only thing left to change? I would suggest that we can have additional features (like the release process) on a separate PR. Thanks for this!

kensipe avatar Feb 18 '22 21:02 kensipe

@iblancasa checking to see if this is ready?

kensipe avatar Apr 12 '22 13:04 kensipe

@iblancasa do you think that is ready?

kensipe avatar Nov 14 '22 22:11 kensipe

renewed interest in this... I can take it over if needed

kensipe avatar Nov 14 '22 22:11 kensipe

@kensipe I can finish it if you want. It seems @eddycharly started something in #423

iblancasa avatar Nov 15 '22 13:11 iblancasa

I didn't know about this PR, I made something super simple (only runs the linter and unit tests). I failed to get integration tests working because TestEnv startup failure :(

eddycharly avatar Nov 15 '22 13:11 eddycharly

Ok, this PR was originally to create the releases too. How about just fixing the PRs and create another PR for the releases?

iblancasa avatar Nov 15 '22 14:11 iblancasa

@iblancasa your PR looks great, are we going to merge it ? Creating release can come in another PR IMHO. This is critical to get CI running on PRs.

eddycharly avatar Nov 15 '22 16:11 eddycharly

@eddycharly if everyone agrees, we can merge it. I just pushed the branch with the latest changes. Also, removed the draft status.

iblancasa avatar Nov 17 '22 15:11 iblancasa

Outch all is red !

eddycharly avatar Nov 17 '22 15:11 eddycharly

This would be great to have !

eddycharly avatar Nov 17 '22 15:11 eddycharly

@eddycharly I'm trying to fix it. It'll take a while...

iblancasa avatar Nov 17 '22 15:11 iblancasa

@kensipe @eddycharly ready for review. Sorry because I messed up something with a merge and I had to do some pushes...

iblancasa avatar Nov 17 '22 16:11 iblancasa

very interested in this PR and those related. I will be reviewing today and pushing to merge asap

kensipe avatar Nov 21 '22 15:11 kensipe

I agree about the upgrades and everything but, as I pointed in this comment, https://github.com/kudobuilder/kuttl/pull/337#discussion_r1027304407 this PRs is just porting the CI from one system to another.

iblancasa avatar Nov 22 '22 16:11 iblancasa

agree with @erikgb however I'm good with landing this and removing circle in a separate PR. reviewing... however we will likely want to review the actual experience. Reviewing content now.

kensipe avatar Nov 28 '22 16:11 kensipe

More importantly I think we should swith to kind or something closer to a real cluster. IMHO, running api server and etcd only is not enough.

eddycharly avatar Nov 28 '22 16:11 eddycharly

@eddycharly we use api-server and etc for integration tests... we use kind for e2e tests... it seems we are covered there

kensipe avatar Nov 28 '22 16:11 kensipe

Actions to follow: https://github.com/kudobuilder/kuttl/issues/427 https://github.com/kudobuilder/kuttl/issues/428 https://github.com/kudobuilder/kuttl/issues/429

kensipe avatar Nov 28 '22 16:11 kensipe

we use kind for e2e tests

where does this happen ?

eddycharly avatar Nov 28 '22 16:11 eddycharly

In the e2e logs:

harness.go:220: started test environment (kube-apiserver and etcd) in 4.821556848s

eddycharly avatar Nov 28 '22 16:11 eddycharly