eclipse-openj9 / openj9

Eclipse OpenJ9: A Java Virtual Machine for OpenJDK that's optimized for small footprint, fast start-up, and high throughput. Builds on Eclipse OMR (https://github.com/eclipse/omr) and combines with the Extensions for OpenJDK for OpenJ9 repo.
Other
3.28k stars 720 forks source link

Leverage Github workflows for some OpenJ9 activities #9547

Open smlambert opened 4 years ago

smlambert commented 4 years ago

This is a discussion issue to identify a set of common OpenJ9 activities that we may include in various workflows at the Eclipse OpenJ9 project. In a recent community call, @sophia-guo demonstrated the AdoptOpenJDK/run-aqa action along with a WIP action in her personal repo, sophia-guo/build-jdk-openj9.

With the 2 of these actions, it would be possible to trigger a build and test workflow on both ubuntu and mac runners (which could ultimately replace the travis run that we currently have). We can identify that as one potential OpenJ9 activity that could leverage Github workflows, but let's also consider others and what benefits (either in terms of simplifying existing tasks, taking advantage of some free tier machine resource, or automating things that are currently done manually).

Related: https://github.com/eclipse/openj9/issues/9349 https://github.com/eclipse/openj9/issues/9370

fjeremic commented 4 years ago

First off, kudos to @sophia-guo, @smlambert, and team for pursuing this. We should definitely be taking advantage of all free resources provided to us as an open sourced project. The free runners provided by GitHub also include Windows [1], so we can get full x86 PR coverage of build + test for free in an automated way using GitHub Actions. I'm all for this idea and fully support using @sophia-guo's Actions on the eclipse/openj9 repository to trigger builds on PR push events.

We are also just about to merge three Quality Of Life GitHub Actions to the eclipse/omr project over in eclipse/omr#5088. These actions automate some common and time consuming tasks committers currently do manually. There are examples of each Action in that issue and the PR that enables them is in eclipse/omr#5155. The README's on the Actions [2] explains the limitation mentioned on the OpenJ9 call regarding read/write tokens and forked repositories which is a huge limitation of how GitHub Actions currently are implemented.

If the OpenJ9 community is interested I can propose to add these to OpenJ9 as well as part of the effort here.

[1] https://help.github.com/en/actions/reference/virtual-environments-for-github-hosted-runners#supported-runners-and-hardware-resources [2] https://github.com/fjeremic/cron-labeler#cron-pull-request-labeler