Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add GH Actions CI Workflow #1355

Merged
merged 3 commits into from
Apr 8, 2022
Merged

Add GH Actions CI Workflow #1355

merged 3 commits into from
Apr 8, 2022

Conversation

ihcsim
Copy link
Contributor

@ihcsim ihcsim commented Apr 5, 2022

Change Overview

This PR re-enables the GH Actions CI workflow. I would like to let it run in parallel to the current CI setup to compare the two CI solutions in terms of their speed, efficiency, responsiveness, flakiness and cost.

All the existing Travis CI jobs and stages have been added to the GH Actions main.yaml workflow. A completed successful CI run looks like this:

github-actions-ci

See https://github.com/kanisterio/kanister/actions/runs/2097423926.

Some highlights include:

  • Parallel, independent jobs to run the test, integration-test, and helm-test suites
  • Parallel, independent jobs to build the controller, kanctl and kando binaries
  • Independent k3d clusters to run the test suites
  • Run the release job only when there is a new merge into master or a new tag
  • Takes about 25 minutes to complete compared to at least 30 mins on Travis (excluding the make release-snapshot target)
  • Test flakes happen less frequently with the k3d setup

Pull request type

Please check the type of change your PR introduces:

  • CI/CD

Issues

Copy link
Contributor

@viveksinghggits viveksinghggits left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Like we discussed we should let it run parallel to travis for sometime.

Copy link
Contributor

@pavannd1 pavannd1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM
Question on the images being built - will we have both Travis and GHA trying to build and tag the same docker images?

@ihcsim
Copy link
Contributor Author

ihcsim commented Apr 6, 2022

@pavannd1 yes, but it should be idempotent.

Copy link
Contributor

@julio-lopez julio-lopez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎉 🎊 🚀 🥳
🥇Thanks for doing this.

In future iterations it'd be good to explore how to break down the jobs into smaller pieces, and also increase the level of parallelism. Also, it'd be good to figure out how long does it take to pass artifacts between jobs (accounting for both upload & download) and see whether or not that provides benefits vs. for example, re-running some steps.

Another thing to consider later is whether it makes sense to have the release job in a separate workflow.

@julio-lopez
Copy link
Contributor

julio-lopez commented Apr 7, 2022

Like we discussed we should let it run parallel to travis for sometime.

It'd make sense to merge it then and have it be a "not required" check.

@viveksinghggits Do you want to kueue it?

@ihcsim ihcsim added kueue and removed kueue labels Apr 7, 2022
Signed-off-by: Ivan Sim <ivan.sim@kasten.io>
@ihcsim ihcsim force-pushed the ci-github-actions branch 2 times, most recently from fc3e923 to 0eb6259 Compare April 7, 2022 16:42
Signed-off-by: Ivan Sim <ivan.sim@kasten.io>
@ihcsim
Copy link
Contributor Author

ihcsim commented Apr 7, 2022

Looks like mergify requires addition workflow permission to merge this.

@infraq infraq merged commit 4e590f0 into master Apr 8, 2022
@infraq infraq deleted the ci-github-actions branch April 8, 2022 23:24
@shuguet shuguet added this to In Progress in Kanister via automation Apr 21, 2022
@shuguet shuguet moved this from In Progress to Done in Kanister Apr 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

Successfully merging this pull request may close these issues.

None yet

5 participants