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