Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added churn testsuite #5101

Merged
merged 17 commits into from
Mar 4, 2024
Merged

Added churn testsuite #5101

merged 17 commits into from
Mar 4, 2024

Conversation

judovana
Copy link
Contributor

churn testsuite is powerful suite to test individual GCs in OpenJDK

As it is added heere, it tests all GCs in given version of jdk.
Initial pass is https://ci.adoptium.net/view/Test_grinder/job/Grinder/8946/
As it is now - for review process, it runs for some 20 seconds - that means aprox 4 seconds per GC, which i moreover useless. In GH actions (https://github.com/rh-openjdk/churn/actions) I run it on all platforms for aprox 3 minutes per GC, whcih is still moreover useless.
Exept running as it is, it can also run in disabled compressed oops mode. Not sure if it is required here. To run both, should be easy. To make it configurable.. not sure...

Few questions:

  • the site generates archive full of logs, which are sueprusefull in case of failure. How to propagate them? Or maybe it is done correctly? If so how to see them in grinder?-)
  • what is acceptable time for you to run churn? I left in comment suggesting 5hours for all GCS (so aprox 1hour per gc - close to be usefull)
  • there is archive with results for jtreg plugin. It contains single juni xml file. Can it be somehow publised?
  • Are you ok with running all gcs in one task?
    • the individual GCs are reported separately in both logs archive and in junit xml file
    • it woudl be nice to have them reported as individual taps or at least individual targets or somethng liek that.. but It is not strightforward to select correct set of GCs per JDK, so I would rather remain in current ALL
    • Despite I would liek to see above, I'm not sure it is possible. The logs from several hours long run are huge

@judovana
Copy link
Contributor Author

Grinder with disabled compressed oops https://ci.adoptium.net/view/Test_grinder/job/Grinder/8948/

Copy link
Contributor

@smlambert smlambert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Going to put a request changes on this PR, so it doesn't get merged before all your questions get answered. I have added some review comments in-line, and will answer some other questions shortly.

My immediate question is what happens when this testcase is run against distributions that do not ship with certain GCs. This likely also relates to your question about running each GC as a separate testcase.

functional/churn/build.xml Outdated Show resolved Hide resolved
<property name="DEST" value="${BUILD_ROOT}/functional/churn" />
<property name="src" location="./churn" />

<target name="THC.check">
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Opportunity to generalize the name to testcodeDir.check and testCodeDir.exists (which could also be made into an ant macrodef and moved to TKG, but not required for this PR), no need to use same ant target name as the TestHeadlessComponents ant tasks

-->
<playlist xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../TKG/resources/playlist.xsd">
<test>
<testCaseName>churn</testCaseName>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggest calling it churnGC_5min and creating a 2nd testTargetName called churnGC_4hr and setting the DURATION accordingly for both.

</groups>
</test>
<test>
<testCaseName>churn-nocoops</testCaseName>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We already have a mechanism to automatically run all test targets twice, once with compressedrefs JVM option, and a second time as noncompressedrefs JVM option.

I have to look closer at what NOCOMP does in the churn code, is it used for other decision-making within the test code to best advise.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it is propagating it to the logs name on top level - https://github.com/rh-openjdk/churn/blob/master/run.sh#L155, and setting the appropriate flags on the low level - https://github.com/rh-openjdk/churn/blob/master/bin/nocoops.sh

functional/churn/playlist.xml Outdated Show resolved Hide resolved
@judovana
Copy link
Contributor Author

TYVM! will elaborate tomorrow morning CET.

@judovana
Copy link
Contributor Author

* the site generates archive full of logs, which are sueprusefull in case of failure. How to propagate them? Or maybe it is done correctly? If so how to see them in grinder?-)

It seems I'm handling resutls correctly. The only disadvantage of run in grinder is, that logs got packed second time. I will fix this in the usptream runner.

@judovana
Copy link
Contributor Author

judovana commented Feb 27, 2024

Hello! Bit more bussy day then expected:(

  • I had remvoed the disbaled coompressed ops variant, and left it to the framework to deal with it. If you would guide me a bit more, I will adjsut upstream to honor your setup I believe
  • I had renamed the targets and split them as you suggested
  • the results seems correct now
  • answer to iminent question is that it will fail ig the GC is msising, or not test, if there is additional GC. Any suggestion on the vendors which gamble so much with GCs? Simialrly with default GC.
    • Currently the decision is based simply on jdk major version, I can add more, or add some custom wrapper
    • Somethng like 050fb07 may work???? (I really am not sure...)
  • Similarly as I'm generating junit xml, it should be easy to generate tap files. Any ideas on it?

@smlambert
Copy link
Contributor

re: #5101 (comment) - great, chat with you tomorrow about final steps

@judovana
Copy link
Contributor Author

pls do not merge (yet). The 050fb07 is missbehavg in my test setup. But maybe my testsetup is wrong

@smlambert
Copy link
Contributor

re: #5101 (comment) - I will convert this to Draft state, until all reviews and testing is completed (that way it can not get merged prematurely)

@smlambert smlambert marked this pull request as draft February 28, 2024 15:44
@judovana
Copy link
Contributor Author

The 050fb07 , overwritten as 2249bc0 now works.

Am now updating readme to reflect the state. Will lift draft (thanx for setting it up) once done

Two new questions

  • the suite now generates next to jtreg archive also nice tap file. Is any special step needed to make it visible?
  • if any GC fails, or (in case of churn_custom) user put in ninsense, it will make the job red.
    • Is it ok, or should some other logic be added, to make it unstable?
  • Will this suite ( I guess the churn_5h_allGCs target) be part of any regular aqa runs in public jenkins?
    • if so, to which, if not by default, but is desired can I add it somewhere?

@judovana
Copy link
Contributor Author

judovana commented Feb 28, 2024

The 050fb07 , overwritten as 2249bc0 now works.

Am now updating readme to reflect the state. Will lift draft (thanx for setting it up) once done

Two new questions

* the suite now generates next to jtreg archive also nice tap file. Is any special step needed to make it visible?
  
  * https://ci.adoptium.net/view/Test_grinder/job/Grinder/8994/ do not publish them

hmm.. https://ci.adoptium.net/view/Test_grinder/job/Grinder/8994/tapResults/ they are here! thoughts? I'm not sure what I did... (search for churn.tap or for eg shenandoah)

@judovana judovana requested a review from smlambert February 28, 2024 18:37
@judovana judovana marked this pull request as ready for review February 28, 2024 18:38
@smlambert
Copy link
Contributor

re: #5101 (comment) - you did not need to do anything, our test pipelines always generate TAP files that include all test targets ( all <test><testCaseName> ... </test> entries defined in playlists). It is a feature of our TKG layer to create the TAP file, and a feature of our Jenkins groovy scripts to then attach the TAP files to the Jenkins job as an artifact.

Copy link
Contributor

@smlambert smlambert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review comments and suggestions are added inline

<command>
export OTOOL_JDK_VERSION="$(JDK_VERSION)" ; \
export JREJDK="jdk" ; \
export OTOOL_garbageCollector="${CHURN_GCS}" ; \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
export OTOOL_garbageCollector="${CHURN_GCS}" ; \
export OTOOL_garbageCollector="${APPLICATION_OPTIONS}" ; \

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do not understand this requirements:

- export OTOOL_garbageCollector="${CHURN_GCS}" ; \
+export OTOOL_garbageCollector="${APPLICATION_OPTIONS}" ; \
...
- export DURATION="${CHURN_DURATION}" ; \
+ export DURATION="300" ; \

The APPLICATION_OPTIONS is something what is custom in aqavit? Isn't it some more general setup?
The "zgc" or "shenandaoh" can be hardly considered as generic.

To remove custom duration s moreover killing the purpise of the changeset and the suite. If you are developing custom GC or porting JDK to new paltform, you want to run churn on each GC you care about (usually default or the single custom one) for several hours. 300s is useles. Generally any hardcoded value in the "custom" setupo is (IMO) bad.

Can we stay with originals pelase? Or maybe an APPLICATION_OPTIONS contain key=value pairs? (but as GC can be space separated list of GCs, it sounds bad). Or maybe APPLICATION_OPTIONS_GC and APPLICATION_OPTIONS_DURATION ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seeing your touch to readme - is there eal fear, that some ccrazy eprson will start 20days long churn run? If so, then I would lke to still keep the duration adjsutable, and only eg limit it from top.

if such logic would be desirable, then also the churn_1m_allGCs and churn_5h_allGCs may actually take GC as parameter. And fallback to "ALL" if nothing provided. wdyt?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please see that I have asked that this churn_custom target is disabled (using the <disables> block I suggested), in that way it does not get run during our automated runs.

Also in our world, no one is allowed to go onto test machines and set CHURN_DURATION and CHURN_GCS environment variables, and we would not want them to do that (for lots of reasons, not the least of which is transparency of machine config).

This leaves me to the point to look at this test target as a useful thing when someone wants to run a Grinder to test a particular GC for a short duration, which is why I suggest leveraging the existing APPLICATION_OPTIONS mechanism for pinpointed testing of a particular GC failure.

All that to be said, feel free to not take those review comments and apply them.

if such logic would be desirable, then also the churn_1m_allGCs and churn_5h_allGCs may actually take GC as parameter. And fallback to "ALL" if nothing provided. wdyt?

Yes, the other option is to remove the churn_custom target altogether from the playlist.xml file in this PR. That would be the expedient way to get this PR through.

Could consider then leveraging APPLICATION_OPTIONS to pass a subset of GCs and if its blank, expect the churn test suite to default to all.

functional/churn/README.md Outdated Show resolved Hide resolved

## Running via aqavit

The support for compressed ops is handled by aqavit itself. It is currently not sure if churn will be able to honor it. If not, churn will be fixed.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The support for compressed ops is handled by aqavit itself. It is currently not sure if churn will be able to honor it. If not, churn will be fixed.
The support for compressed ops is handled by AQAvit itself through the use of the `<variation>` tag in playlist.xml. It is currently not sure if churn will be able to honor it. If not, churn will be fixed.

functional/churn/README.md Outdated Show resolved Hide resolved
functional/churn/playlist.xml Outdated Show resolved Hide resolved
functional/churn/README.md Outdated Show resolved Hide resolved
functional/churn/README.md Outdated Show resolved Hide resolved
</platformRequirementsList>
<groups>
<group>system</group>
</groups>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's restrict to particular vendors for now, as I am not sure which vendors include the entire list of GCs that are in 'allGCs' in their distribution (in particular shenandoah) and we do not want to break others.
Add this bit into the <test> block, can be right after the </groups> tag

<vendors>
        <vendor>eclipse</vendor>
        <vendor>redhat</vendor>
</vendors>

</platformRequirementsList>
<groups>
<group>system</group>
</groups>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

<vendors>
        <vendor>eclipse</vendor>
        <vendor>redhat</vendor>
</vendors>

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will add this element, But I think the generic openjdk should be for sure here. I now recall, there may be issue with shenandoah on jdk8, but I would rather workaround it in CHURN itself, then exclude generic oepnjdk. Thoughts?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had made the listing of GCs dynamic: rh-openjdk/churn@17f1b83

it is still based on known values, but at least will not enforce not-existing GC. Any advice on enabling more vendors? (compelltyh up to you :) tyvm!!)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can onboard other vendors once we see this running for a few weeks at the project, we are just bringing this in now cautiously, but then can broaden it later (and we will do that by testing it against other vendor distros before enabling them).

functional/churn/playlist.xml Outdated Show resolved Hide resolved
@smlambert
Copy link
Contributor

if any GC fails, or (in case of churn_custom) user put in ninsense, it will make the job red.
Is it ok, or should some other logic be added, to make it unstable?

Yes, we will add this test target with a disable tag, since it is there to support development, it can be used in Grinder jobs, and will be skipped in automated / regular test runs.

Will this suite ( I guess the churn_5h_allGCs target) be part of any regular aqa runs in public jenkins?
if so, to which, if not by default, but is desired can I add it somewhere?

Yes, it will get run against our EA builds which get triggered whenever a new upstream tag is available (so approximately weekly for each JDK version). Since we are adding this into dev level, and system group, the 2 enabled test targets in your playlist, churn_1m_allGCs and churn_5h_allGCs, will get run in our *dev.system* test jobs. I have asked you to restrict the test targets to just eclipse and redhat vendors for now, as I do not want to impact other vendors test execution times and also do not think other vendors are shipping with Shenandoah enabled.

@judovana
Copy link
Contributor Author

re: #5101 (comment) - you did not need to do anything, our test pipelines always generate TAP files that include all test targets ( all <test><testCaseName> ... </test> entries defined in playlists). It is a feature of our TKG layer to create the TAP file, and a feature of our Jenkins groovy scripts to then attach the TAP files to the Jenkins job as an artifact.

Well, yes. With all pros and cons. There is usually one tap file, which consider the whole testsuite as on test. Then find properly what really run/failed inside is quite a detective task(but most liekly it is lack of my insight). Where the one default generated tap file is awesome feature, the suites usually generates much better outputs, and should be allowed to publish it.

In this case, the tap file churn generates is pretty good, and as the tkg toolchain is picking up all taps, it is pretty usable (feel free to correct me, or tell me to not generate it).

@judovana
Copy link
Contributor Author

if any GC fails, or (in case of churn_custom) user put in ninsense, it will make the job red.
Is it ok, or should some other logic be added, to make it unstable?

Yes, we will add this test target with a disable tag, since it is there to support development, it can be used in Grinder jobs, and will be skipped in automated / regular test runs.

Will this suite ( I guess the churn_5h_allGCs target) be part of any regular aqa runs in public jenkins?
if so, to which, if not by default, but is desired can I add it somewhere?

Yes, it will get run against our EA builds which get triggered whenever a new upstream tag is available (so approximately weekly for each JDK version). Since we are adding this into dev level, and system group, the 2 enabled test targets in your playlist, churn_1m_allGCs and churn_5h_allGCs, will get run in our *dev.system* test jobs.

Thanx!

I have asked you to restrict the test targets to just eclipse and redhat vendors for now, as I do not want to impact other vendors test execution times and also do not think other vendors are shipping with Shenandoah enabled.

IIRC, shenandoah is enabled everywhere except jdk8 by default, so they would need to manually disable it during build. But why would anybody disable best GC around?

In case of shenandoah, especially because of its 'not-present' in jdk8, I will make it more dynamic. I can exclude GCs from default list based on :XX listings Will elaborate. It do not need to block this PR, only once it is created, other vendors may be onboarded.

@smlambert
Copy link
Contributor

smlambert commented Feb 29, 2024

It do not need to block this PR, only once it is created, other vendors may be onboarded.

Yes, my thought with all of my review comments was to get the PR in and then come back later to adjust after we have run it for a while at the project.

@smlambert
Copy link
Contributor

There is usually one tap file, which consider the whole testsuite as on test. Then find properly what really run/failed inside is quite a detective task(but most liekly it is lack of my insight). Where the one default generated tap file is awesome feature, the suites usually generates much better outputs, and should be allowed to publish it. In this case, the tap file churn generates is pretty good, and as the tkg toolchain is picking up all taps, it is pretty usable (feel free to correct me, or tell me to not generate it).

The TAP file is produced to 'normalize' test results from all suites. Having TAP files that do something different moves us away from normalization. For more granular information, we would look to test suites producing some sort of JUnit style output and then also present that.

@smlambert smlambert requested a review from sophia-guo February 29, 2024 12:49
@judovana
Copy link
Contributor Author

There is usually one tap file, which consider the whole testsuite as on test. Then find properly what really run/failed inside is quite a detective task(but most liekly it is lack of my insight). Where the one default generated tap file is awesome feature, the suites usually generates much better outputs, and should be allowed to publish it. In this case, the tap file churn generates is pretty good, and as the tkg toolchain is picking up all taps, it is pretty usable (feel free to correct me, or tell me to not generate it).

The TAP file is produced to 'normalize' test results from all suites. Having TAP files that do something different moves us away from normalization. For more granular information, we would look to test suites producing some sort of JUnit style output and then also present that.

I see. The churn generates both tap file and packed junit file. So Your recomndation is to stop generating tap file? (no problem on my side, only I liked it :) )

@judovana
Copy link
Contributor Author

It do not need to block this PR, only once it is created, other vendors may be onboarded.

Yes, my thought with all of my review comments was to get the PR in and then come back later to adjust after we have run it for a while at the project.

Sure. Thank you very much! Highly appreciated.

  • I had followed you review everywhere except the CHURN_DURATION. How do you feel about it?
  • I think we may enable more venodrs, but it is up to you, the requested chnage is done
  • readme updated
  • custom tap is no longer geenrated (/me very sad)
  • GH actions are passing all three OSes. But it is msys2 for windows on them, in grinder it is cygwin, and it fails there. Thoughts?
  • no mac run finished up to now (still waiting for executor).
    • thus saying, I would :
 		<platformRequirementsList>
 			<platformRequirements>os.linux</platformRequirements>
-			<platformRequirements>os.win</platformRequirements>
-			<platformRequirements>os.osx</platformRequirements>
 		</platformRequirementsList>

wdyt?

Do you se enay more obstacles?

@sophia-guo
Copy link
Contributor

The tests might need to move to system/ folder instead of functional/ folder if we'd like to trigger the tests automatically as part of jenkins test builds of dev.system. It does work in grinder under functional/ folder as in grinder we can manually set buildList=functional/churn, however in jenkins dev.system jobs buildList=system.

-->
<playlist xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../TKG/resources/playlist.xsd">
<test>
<testCaseName>churn_1m_allGCs</testCaseName>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

churn_1m_allGCs is for testing only. When the PR is ready for merge can it be disabled by adding tag ?

@smlambert
Copy link
Contributor

The tests might need to move to system/ folder instead of functional/ folder if we'd like to trigger the tests automatically as part of jenkins test builds of dev.system. It does work in grinder under functional/ folder as in grinder we can manually set buildList=functional/churn, however in jenkins dev.system jobs buildList=system.

Good catch, we started off with this in functional group, but because it is a stress/load test, it is more appropriate to add it to system, so better to shift the churn folder into the system folder. +1

@sophia-guo
Copy link
Contributor

GH actions are passing all three OSes. But it is msys2 for windows on them, in grinder it is cygwin, and it fails there. Thoughts?

Does the test require MVN? The output says 07:15:38 + which mvn 07:15:38 which: no mvn so no classes generated and failed.

@judovana
Copy link
Contributor Author

GH actions are passing all three OSes. But it is msys2 for windows on them, in grinder it is cygwin, and it fails there. Thoughts?

Does the test require MVN? The output says 07:15:38 + which mvn 07:15:38 which: no mvn so no classes generated and failed.

Default build system is maven. But if it is not found, javac would do. So that is this case, it is compiled directly by javac.

@sophia-guo
Copy link
Contributor

sophia-guo commented Feb 29, 2024

I see. It's an issue with window path and cygwin path.

+ E:/workspace/Grinder/jdkbinary/j2sdk-image/bin/javac -d /cygdrive/e/workspace/Grinder/aqa-tests/functional/churn/churn/target/classes ./org/jboss/churn/LogHistogram.java ./org/jboss/churn/TestRunner.java ./org/jboss/churn/WorkItem.java ./org/jboss/churn/WorkItemMap.java
07:15:40  + pushd /cygdrive/e/workspace/Grinder/aqa-tests/functional/churn/churn/target/classes
07:15:40  E:/workspace/Grinder/aqa-tests/\functional\churn\churn\run.sh: line 183: pushd: /cygdrive/e/workspace/Grinder/aqa-tests/functional/churn/churn/target/classes: No such file or directory

@sophia-guo
Copy link
Contributor

sophia-guo commented Feb 29, 2024

For cygwin "$OS" =~ CYGWIN* you might need to use cygpth -w to print Windows form of directory of /cygdrive/e/workspace/Grinder/aqa-tests/functional/churn/churn/target/classes and also for any other cygwin paths.

@sophia-guo
Copy link
Contributor

@judovana
Copy link
Contributor Author

judovana commented Mar 1, 2024

For cygwin "$OS" =~ CYGWIN* you might need to use cygpth -w to print Windows form of directory of /cygdrive/e/workspace/Grinder/aqa-tests/functional/churn/churn/target/classes and also for any other cygwin paths.

Right yiou are, rh-openjdk/churn#24 was all waht was needed. Rerunning windows.
Thanx a lot for info of mack! saved me some search :)

@judovana
Copy link
Contributor Author

judovana commented Mar 1, 2024

It do not need to block this PR, only once it is created, other vendors may be onboarded.

Yes, my thought with all of my review comments was to get the PR in and then come back later to adjust after we have run it for a while at the project.

Sure. Thank you very much! Highly appreciated.

* I had followed you review everywhere except the CHURN_DURATION. How do you feel about it?

* I think we may enable more venodrs, but it is up to you, the requested chnage is done

* readme updated

* custom tap is no longer geenrated (/me very sad)

* GH actions are passing all three OSes. But it is msys2 for windows on them, in grinder it is cygwin, and it [fails](https://ci.adoptium.net/view/Test_grinder/job/Grinder/9034/tapResults/) there. Thoughts?

* no mac run finished up to now (still waiting for executor).
  
  * thus saying, I would :
 		<platformRequirementsList>
 			<platformRequirements>os.linux</platformRequirements>
-			<platformRequirements>os.win</platformRequirements>
-			<platformRequirements>os.osx</platformRequirements>
 		</platformRequirementsList>

^ no longer necessary.

wdyt?

Do you se enay more obstacles?

I guess the disable of churn_custom target will happen as last thing in this commit once everything else is tunned

@sophia-guo
Copy link
Contributor

Rerunning windows.

The new failure was related with migration from functional to system, I'm hitting the same issue with reproducible comparing tests. I can take a look next Monday.

@judovana
Copy link
Contributor Author

judovana commented Mar 1, 2024

Gosh. Rerunning windows here: https://ci.adoptium.net/view/Test_grinder/job/Grinder/9038/ green!
mac: https://ci.adoptium.net/view/Test_grinder/job/Grinder/9039/ green!
linux: https://ci.adoptium.net/view/Test_grinder/job/Grinder/9040/ green!

@judovana
Copy link
Contributor Author

judovana commented Mar 2, 2024

@sophia-guo TY!
@smlambert one approval reached, do you have any more hints?

@karianna karianna requested a review from smlambert March 2, 2024 21:05
<mkdir dir="${DEST}"/>
</target>

<target name="dist" depends="getChurn" description="generate the distribution">
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should add init task as depends depends="getChurn, init" unless the non-exist directory will be created when doing the <copy todir="${DEST}">? Not sure about this looking at the grinder the $DEST was created.

Copy link
Contributor

@smlambert smlambert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks @judovana ! I may come back for an enhancement on how we run the churn_custom target, but this is good as is.

</platformRequirementsList>
<groups>
<group>system</group>
</groups>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can onboard other vendors once we see this running for a few weeks at the project, we are just bringing this in now cautiously, but then can broaden it later (and we will do that by testing it against other vendor distros before enabling them).

@smlambert smlambert merged commit 6f0d4bb into adoptium:master Mar 4, 2024
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants