adoptium / aqa-tests

Home of test infrastructure for Adoptium builds
https://adoptium.net/aqavit
Apache License 2.0
135 stars 314 forks source link

Update runAqa workflow to allow for BUILD_LIST=external/<subdir> #2482

Open smlambert opened 3 years ago

smlambert commented 3 years ago

An enhancement to the runAqa workflow that will restrict what gets built for the external set of tests (otherwise each subdirectory is built, including Dockerfiles generated for all 23 subdirs.

See https://github.com/AdoptOpenJDK/openjdk-tests/pull/2480#issuecomment-815818366 and https://github.com/AdoptOpenJDK/openjdk-tests/pull/2480#issuecomment-815821704

2001asjad commented 3 years ago

Hello @smlambert , can you please elaborate a bit more about it, like how are we gonna enhance the workflow. Thank You

smlambert commented 3 years ago

Hi @2001asjad - yes this one is shy of details, but you can see on https://github.com/AdoptOpenJDK/openjdk-tests/blob/master/.github/workflows/runAqa.yml#L35 that the parsing of arguments is handled TKG/scripts/testBot/runAqaArgParse.py which by looking at that script, you can see at L52 that there is a set of accepted arguments for --build_list.

So this is where this issue gets 'tricky'...

instead of taking 'external' as build_list arg, which means that we attempt to compile all the contents of the 'external' directory which is huge, would take a long time and often fails... we would rather people using this provided --build_list external/subdir where subdir is one of the subdirectories like external/jacoco etc

Instead of hardcoding each subdir in the list, it would be good to write a function that queried the contents of external and created a list of acceptable build_list values. If this is too challenging, it is also acceptable to take any external/someString, because if someString was not a subdir name, TKG would fail to find the subdir and compilation will fail.

Does this help?

So the actual PR that needs to be created is in https://github.com/adoptium/TKG/blob/master/scripts/testBot/runAqaArgParse.py file