diff --git a/docs/UsingOurScripts.md b/docs/UsingOurScripts.md index b98a71b53..38ca5cbba 100644 --- a/docs/UsingOurScripts.md +++ b/docs/UsingOurScripts.md @@ -84,7 +84,7 @@ This file contains the default constants and paths used in the build scripts for "enableTests" : true, /* Test targets triggered in 'nightly' build pipelines running 6 days per week - nightly + weekly to be run during a 'release' pipeline + 'weekly' to be run on the weekend and 'release' from a release pipeline */ "nightlyDefault" : [ "sanity.openjdk", @@ -96,15 +96,36 @@ This file contains the default constants and paths used in the build scripts for ], /* Test targets triggered in 'weekly' build pipelines running once per week - nightly + weekly + jck to be run during a 'release' pipeline - nightly + weekly to be run during 'evaluation weekly' pipeline + weekly + jck to be run during a 'weekly' pipeline + weekly to be run during 'evaluation weekly' pipeline */ "weeklyDefault" : [ + "sanity.openjdk", + "sanity.system", + "extended.system", + "sanity.perf", + "sanity.functional", + "extended.functional" "extended.openjdk", "extended.perf", "special.functional", "dev.openjdk", - "dev.system" + "dev.functional" + ], + /* + Test targets triggered in 'release' build pipelines + release + jck to be run during a 'release' pipeline + */ + "releaseDefault" : [ + "sanity.openjdk", + "sanity.system", + "extended.system", + "sanity.perf", + "sanity.functional", + "extended.functional" + "extended.openjdk", + "extended.perf", + "special.functional" ] }, // Raw content URL of this (defaults.json) file. This is so the openjdk_build_pipeline.groovy script can set user default configs when checking out to the shell script repo diff --git a/pipelines/build/common/build_base_file.groovy b/pipelines/build/common/build_base_file.groovy index b9bddc033..5a80d6da4 100644 --- a/pipelines/build/common/build_base_file.groovy +++ b/pipelines/build/common/build_base_file.groovy @@ -254,52 +254,63 @@ class Builder implements Serializable { List getTestList(Map configuration, String variant) { final List nightly = DEFAULTS_JSON['testDetails']['nightlyDefault'] final List weekly = DEFAULTS_JSON['testDetails']['weeklyDefault'] + final List release = DEFAULTS_JSON['testDetails']['releaseDefault'] List testList = [] /* * No test key or key value is test: false --- test disabled - * Key value is test: 'default' --- nightly build trigger 'nightly' test set, weekly build trigger or release build trigger 'nightly' + 'weekly' test sets - * Key value is test: [customized map] specified nightly and weekly test lists + * Key value is test: 'default' --- nightly build trigger 'nightly' test set, weekly build trigger 'weekly' or release build trigger 'release' test sets + * Key value is test: [customized map] specified nightly, weekly, release test lists * Key value is test: [customized map] specified for different variant */ if (configuration.containsKey('test') && configuration.get('test')) { def testJobType = 'nightly' - if (releaseType.startsWith('Weekly') || releaseType.equals('Release')) { + if (releaseType.startsWith('Weekly')) { testJobType = 'weekly' + } else if (releaseType.equals('Release')){ + testJobType = 'release' } if (isMap(configuration.test)) { if (configuration.test.containsKey(variant)) { - //Test is enable for the variant + //Test is enabled for the variant if (configuration.test.get(variant)) { def testObj = configuration.test.get(variant) if (isMap(testObj)) { if (testJobType == 'nightly') { testList = (configuration.test.get(variant) as Map).get('nightly') as List + } else if (testJobType == 'weekly') { + testList = (configuration.test.get(variant) as Map).get('weekly') as List } else { - testList = ((configuration.test.get(variant) as Map).get('nightly') as List) + ((configuration.test as Map).get('weekly') as List) + testList = (configuration.test.get(variant) as Map).get('release') as List } } else if (testObj instanceof List) { testList = (configuration.test as Map).get(variant) as List } else { if (testJobType == 'nightly') { testList = nightly + } else if (testJobType == 'weekly') { + testList = weekly } else { - testList = nightly + weekly + testList = release } } } } else { if (testJobType == 'nightly') { testList = (configuration.test as Map).get('nightly') as List + } else if (testJobType == 'weekly') { + testList = (configuration.test as Map).get('weekly') as List } else { - testList = ((configuration.test as Map).get('nightly') as List) + ((configuration.test as Map).get('weekly') as List) + testList = (configuration.test as Map).get('release') as List } } } else { // Default to the test sets declared if one isn't set in the build configuration if (testJobType == 'nightly') { testList = nightly + } else if (testJobType == 'weekly') { + testList = weekly } else { - testList = nightly + weekly + testList = release } } } diff --git a/pipelines/build/common/config_regeneration.groovy b/pipelines/build/common/config_regeneration.groovy index 228ad032e..1059f06e3 100644 --- a/pipelines/build/common/config_regeneration.groovy +++ b/pipelines/build/common/config_regeneration.groovy @@ -50,7 +50,7 @@ class Regeneration implements Serializable { private final jobType private String javaToBuild - private final List defaultTestList = ['sanity.openjdk', 'sanity.system', 'extended.system', 'sanity.perf', 'sanity.external'] + private final List defaultTestList = ['sanity.openjdk', 'sanity.system', 'extended.system', 'sanity.perf'] private final String EXCLUDED_CONST = 'EXCLUDED' diff --git a/pipelines/defaults.json b/pipelines/defaults.json index 15f348997..2981365b4 100644 --- a/pipelines/defaults.json +++ b/pipelines/defaults.json @@ -48,6 +48,27 @@ "extended.functional" ], "weeklyDefault" : [ + "sanity.openjdk", + "sanity.system", + "extended.system", + "sanity.perf", + "sanity.functional", + "sanity.external", + "extended.functional", + "extended.openjdk", + "extended.perf", + "special.functional", + "special.openjdk", + "dev.openjdk", + "dev.functional" + ], + "releaseDefault" : [ + "sanity.openjdk", + "sanity.system", + "extended.system", + "sanity.perf", + "sanity.functional", + "extended.functional", "extended.openjdk", "extended.perf", "special.functional" diff --git a/pipelines/src/test/groovy/RepoHandlerTest.groovy b/pipelines/src/test/groovy/RepoHandlerTest.groovy index 1a410c302..e765103c6 100644 --- a/pipelines/src/test/groovy/RepoHandlerTest.groovy +++ b/pipelines/src/test/groovy/RepoHandlerTest.groovy @@ -67,6 +67,7 @@ class RepoHandlerTest { Assertions.assertTrue(adoptJson.testDetails.enableTests instanceof Boolean) Assertions.assertTrue(adoptJson.testDetails.nightlyDefault instanceof List) Assertions.assertTrue(adoptJson.testDetails.weeklyDefault instanceof List) + Assertions.assertTrue(adoptJson.testDetails.releaseDefault instanceof List) } @Test @@ -125,6 +126,7 @@ class RepoHandlerTest { Assertions.assertTrue(userJson.testDetails.enableTests) Assertions.assertEquals(userJson.testDetails.nightlyDefault, [ 'test1', 'test2', 'test3' ]) Assertions.assertEquals(userJson.testDetails.weeklyDefault, [ 'test4', 'test5', 'test6', "test7" ]) + Assertions.assertEquals(userJson.testDetails.releaseDefault, [ 'test8', 'test9' ]) } @Test diff --git a/pipelines/src/test/groovy/fakeDefaults.json b/pipelines/src/test/groovy/fakeDefaults.json index 334317a46..acaa18d28 100644 --- a/pipelines/src/test/groovy/fakeDefaults.json +++ b/pipelines/src/test/groovy/fakeDefaults.json @@ -36,7 +36,8 @@ "enableReproducibleCompare" : false, "enableTests" : true, "nightlyDefault" : [ "test1", "test2", "test3" ], - "weeklyDefault" : [ "test4", "test5", "test6", "test7"] + "weeklyDefault" : [ "test4", "test5", "test6", "test7"], + "releaseDefault" : [ "test8", "test9"] }, "defaultsUrl" : "23" } \ No newline at end of file