TKG icon indicating copy to clipboard operation
TKG copied to clipboard

Proposal: TKG PR builds

Open llxia opened this issue 4 years ago • 0 comments

Currently, there are no TKG PR builds. All PRs need to be tested using Grinder by contributors/committers. Had a brief discussion with @renfeiw, we can leverage run-aqa GitHub action and setup workflow for TKG PR builds first. This can be the foundation for the workflow for openj9 PR builds, as TKG PR builds are much simpler (i.e., do not need to build the SDK). The major workflow should be similar to https://github.com/AdoptOpenJDK/openjdk-tests/pull/1977, but most values in the workflow need to be parameterized.

Details:

  • users trigger the PR builds (in Github Actions) with comments (similar to auto PR for test exclusion). Triggering syntax should be similar to openj9 PR builds: action <instruction> <test(s)> <platform(s)> <jdkversion(s)> <impl(s)>.

Our plan is to extend this and use it in openj9 PR builds in the future, so we do not want to create another syntax to complicate the user story. Thanks Shelley for the suggestion.

For example:

action nightly sanity.functional xlinuxlargeheap jdk11
action releases testA,testB xlinux,osx jdk8,jdk11 hotspot,openj9

<instruction> - actions that the users want to do.

  1. compile: compile only // currently available in openj9

  2. test: compile and run test(s) // currently available in openj9

  3. nightly: only run test(s) using SDK from nightly

  4. releases: only run test(s) using SDK from releases

  5. <CUSTOMIZED_SDK_URL>:<token>: only run test(s) using SDK from <CUSTOMIZED_SDK_URL>

For TKG PR builds, we only need nightly/releases (case 3 and case 4). We just listed all the cases here.

<impl(s)> can be omitted and the default value is openj9

  • script is needed to translate trigger comment to parameters that can be passed used for run-aqa
  1. a map is needed to map the platform to os (i.e., xlinux => ubuntu-16.04)

  2. set version/impl/target/build_list, etc (maybe we should use the same names as the ones exist in TKG?)

  3. default build_list can be functional,system for now. Possible enhancement: set build_list value according to <test(s)> value. For example, if <test(s)> is sanity.openjdk, then the build_list to openjdk.

  • run-aqa needs to be able to accept TKG_OWNER_BRANCH for TKG PR builds

Open this issue for discussion. FYI @smlambert @pshipton

llxia avatar Oct 22 '20 18:10 llxia