From d9e6780f3ef234e429b4379c6dcb2b3ae0b3f0b1 Mon Sep 17 00:00:00 2001 From: Stuart Douglas Date: Tue, 29 Oct 2019 10:11:38 +1100 Subject: [PATCH] Reduce CI load on failing PR This changes the CI pipeline to run JDK8 first, and only run the rest of the jobs if it passes. This will greatly reduce the load for failing PR's, at the expense of increasing the total time when CI is not busy and the PR is passing. It also removes the native image build, and just uses the output of the standard JDK8 Linux build. --- azure-pipelines.yml | 28 ++++------------------------ 1 file changed, 4 insertions(+), 24 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 9b7b8edca36a1..4a4549b6c98a9 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -88,7 +88,7 @@ stages: options: '-B --settings azure-mvn-settings.xml -DskipTests=true -Dno-format -DskipDocs' #This stage builds the Quarkus artifacts needed for native image testing - - stage: build_artifact_for_native_stage + - stage: initial_jdk8_stage displayName: 'Build for Native' dependsOn: cache_maven_repo_stage jobs: @@ -98,35 +98,15 @@ stages: pool: vmImage: 'Ubuntu 16.04' steps: - - task: CacheBeta@0 #we know the very first job will have restored or created this, so this will never write built artifacts to the cache - inputs: - key: maven | bom/runtime/pom.xml - path: $(Pipeline.Workspace)/.m2/repository/ - securityNamespace: cache - displayName: Restore Maven Cache - - - task: Maven@3 - displayName: 'Maven Build' - inputs: - goals: 'install' - mavenOptions: $(MAVEN_OPTS) - options: '-B --settings azure-mvn-settings.xml -DskipTests -Dno-format' + - template: ci-templates/jvm-build-steps.yaml - publish: $(MAVEN_CACHE_FOLDER) artifact: BuiltMavenRepo - stage: run_jvm_tests_stage displayName: 'Run JVM Tests' - dependsOn: cache_maven_repo_stage + dependsOn: initial_jdk8_stage jobs: - - job: Build_JDK8_Linux - displayName: 'Build JDK8 Linux' - timeoutInMinutes: 60 - pool: - vmImage: 'Ubuntu 16.04' - steps: - - template: ci-templates/jvm-build-steps.yaml - - job: Windows_Build displayName: 'Windows JVM Build' timeoutInMinutes: 60 @@ -191,7 +171,7 @@ stages: - stage: run_native_tests_stage displayName: 'Native Tests' - dependsOn: build_artifact_for_native_stage + dependsOn: initial_jdk8_stage jobs: - template: ci-templates/native-build-steps.yaml parameters: