Split x-pack testing into multiple CI jobs (#88697)

This commit is contained in:
Mark Vieira 2022-07-27 12:58:31 -07:00 committed by GitHub
parent a51c66d95e
commit d2c52ef495
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 34 additions and 31 deletions

View File

@ -11,6 +11,7 @@ package org.elasticsearch.gradle.internal;
import groovy.lang.Closure;
import org.elasticsearch.gradle.internal.conventions.util.Util;
import org.elasticsearch.gradle.internal.info.BuildParams;
import org.elasticsearch.gradle.plugin.PluginBuildPlugin;
import org.elasticsearch.gradle.plugin.PluginPropertiesExtension;
import org.elasticsearch.gradle.testclusters.ElasticsearchCluster;
@ -48,6 +49,8 @@ public class BaseInternalPluginBuildPlugin implements Plugin<Project> {
.getExtraProperties()
.set("addQaCheckDependencies", new Closure<Project>(BaseInternalPluginBuildPlugin.this, BaseInternalPluginBuildPlugin.this) {
public void doCall(Project proj) {
// This is only a convenience for local developers so make this a noop when running in CI
if (BuildParams.isCi() == false) {
proj.afterEvaluate(project1 -> {
// let check depend on check tasks of qa sub-projects
final var checkTaskProvider = project1.getTasks().named("check");
@ -61,6 +64,7 @@ public class BaseInternalPluginBuildPlugin implements Plugin<Project> {
);
});
}
}
public void doCall() {
doCall();

View File

@ -6,28 +6,26 @@
* Side Public License, v 1.
*/
import de.thetaphi.forbiddenapis.gradle.ForbiddenApisPlugin
import com.avast.gradle.dockercompose.tasks.ComposePull
import com.fasterxml.jackson.databind.JsonNode
import com.fasterxml.jackson.databind.ObjectMapper
import com.github.jengelman.gradle.plugins.shadow.ShadowPlugin
import de.thetaphi.forbiddenapis.gradle.ForbiddenApisPlugin
import org.elasticsearch.gradle.internal.BuildPlugin
import org.elasticsearch.gradle.Version
import org.elasticsearch.gradle.VersionProperties
import org.elasticsearch.gradle.internal.BwcVersions
import org.elasticsearch.gradle.internal.info.BuildParams
import org.elasticsearch.gradle.plugin.PluginBuildPlugin
import org.gradle.plugins.ide.eclipse.model.AccessRule
import org.gradle.util.DistributionLocator
import org.gradle.util.GradleVersion
import org.elasticsearch.gradle.util.GradleUtils
import static org.elasticsearch.gradle.util.GradleUtils.maybeConfigure
import org.gradle.plugins.ide.eclipse.model.ProjectDependency
import org.elasticsearch.gradle.Version
import org.elasticsearch.gradle.internal.BaseInternalPluginBuildPlugin
import org.elasticsearch.gradle.internal.ResolveAllDependencies
import org.elasticsearch.gradle.internal.info.BuildParams
import org.elasticsearch.gradle.util.GradleUtils
import org.gradle.plugins.ide.eclipse.model.AccessRule
import org.gradle.plugins.ide.eclipse.model.ProjectDependency
import org.gradle.util.DistributionLocator
import org.gradle.util.GradleVersion
import java.nio.file.Files
import static java.nio.file.StandardCopyOption.REPLACE_EXISTING
import static org.elasticsearch.gradle.util.GradleUtils.maybeConfigure
plugins {
id 'lifecycle-base'
@ -208,14 +206,15 @@ allprojects {
}
}
def checkPart1 = tasks.register('checkPart1')
def checkPart2 = tasks.register('checkPart2')
def checkPart3 = tasks.register('checkPart3')
plugins.withId('lifecycle-base') {
if (project.path.startsWith(":x-pack:")) {
checkPart2.configure { dependsOn 'check' }
if (project.path.contains("security") || project.path.contains(":ml")) {
tasks.register('checkPart3') { dependsOn 'check' }
} else {
checkPart1.configure { dependsOn 'check' }
tasks.register('checkPart2') { dependsOn 'check' }
}
} else {
tasks.register('checkPart1') { dependsOn 'check' }
}
}