Hey everyone,

Over the past several months (years, maybe?) I've tinkered around with
GitHub Actions as a possible alternative to Jenkins for Apache Kafka CI. I
think it is time to actually give it an earnest try.
We have already done some work with GH Actions. Namely the Docker build and
the "stale PR" workflow. I would like to add a new workflow that will run
the JUnit tests in a GH Action.

Here is an example PR on my personal fork that is using an Action

https://github.com/mumrah/kafka/pull/5

For the full test suite, it took 1h41m. A random Jenkins run I found took
1h17m. A difference of 24m. This is simply because the Jenkins hardware is
beefier than the GH Actions public runners.

ASF has been evaluating the use of larger runners as well as ASF-hosted
runners on beefier hardware. I think eventually, the compute capacity will
be comparable.

There are many benefits to GH Actions compared to Jenkins. To name a few:

* Significantly better UI
* Wide availability of plugins from the GitHub Actions Marketplace
* Better/easier integration with Pull Requests
* Easier to customize workflows based on different GitHub events
* Ability to write custom actions that utilize the `gh` GitHub CLI

Another nice thing (and the original motivation for my inquiry) is that GH
Actions has caching as a built-in concept. This means we can leverage the
Gradle cache and potentially speed up build times on PRs significantly.

I'd like to run both Jenkins and GH Actions side by side for a few weeks so
we can gather data to make an informed determination.

What do folks in the community think about this?

Cheers,
David A

Reply via email to