You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by kw...@apache.org on 2024/09/13 06:45:40 UTC

(jackrabbit-filevault-jenkins-lib) branch master updated: Only parameterize branch when not on main branch

This is an automated email from the ASF dual-hosted git repository.

kwin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jackrabbit-filevault-jenkins-lib.git


The following commit(s) were added to refs/heads/master by this push:
     new d211592  Only parameterize branch when not on main branch
d211592 is described below

commit d211592217f9dde280ce0c758516fa4cdb44d3fb
Author: Konrad Windszus <kw...@apache.org>
AuthorDate: Fri Sep 13 08:45:32 2024 +0200

    Only parameterize branch when not on main branch
---
 .../apache/jackrabbit/vault/PipelineSupport.groovy | 26 ++++++++++++++--------
 vars/vaultPipeline.groovy                          |  4 ++--
 vars/vaultStageBuild.groovy                        |  6 +++--
 3 files changed, 23 insertions(+), 13 deletions(-)

diff --git a/src/org/apache/jackrabbit/vault/PipelineSupport.groovy b/src/org/apache/jackrabbit/vault/PipelineSupport.groovy
index 3ba595a..f767b4a 100644
--- a/src/org/apache/jackrabbit/vault/PipelineSupport.groovy
+++ b/src/org/apache/jackrabbit/vault/PipelineSupport.groovy
@@ -23,10 +23,10 @@ package org.apache.jackrabbit.vault
  */
 class PipelineSupport implements Serializable {
     
-    static PipelineSupport INSTANCE;
+    static PipelineSupport INSTANCE
     
-    static PipelineSupport createInstance(String mainNodeLabel, int mainJdkVersion, String mainMavenVersion, boolean isOnMainBranch) {
-        INSTANCE = new PipelineSupport(mainNodeLabel, mainJdkVersion, mainMavenVersion, isOnMainBranch)
+    static PipelineSupport createInstance(String mainNodeLabel, int mainJdkVersion, String mainMavenVersion, String mainBranch) {
+        INSTANCE = new PipelineSupport(mainNodeLabel, mainJdkVersion, mainMavenVersion, mainBranch)
         return INSTANCE
     }
 
@@ -37,16 +37,16 @@ class PipelineSupport implements Serializable {
         return INSTANCE
     }
 
-    private final String mainNodeLabel;
-    private final Integer mainJdkVersion;
-    private final String mainMavenVersion;
-    private final boolean isOnMainBranch;
+    private final String mainNodeLabel
+    private final Integer mainJdkVersion
+    private final String mainMavenVersion
+    private final String mainBranch
 
-    PipelineSupport(String mainNodeLabel, int mainJdkVersion, String mainMavenVersion, boolean isOnMainBranch) {
+    PipelineSupport(String mainNodeLabel, int mainJdkVersion, String mainMavenVersion, String mainBranch) {
         this.mainNodeLabel = mainNodeLabel
         this.mainJdkVersion = mainJdkVersion
         this.mainMavenVersion = mainMavenVersion
-        this.isOnMainBranch = isOnMainBranch
+        this.mainBranch = mainBranch
     }
 
     def executeMaven(pipeline, String mavenArguments, boolean enablePublishers) {
@@ -104,4 +104,12 @@ class PipelineSupport implements Serializable {
     String getMainNodeLabel() {
         return mainNodeLabel
     }
+
+    boolean isOnMainBranch(String currentBranch) {
+        return mainBranch == currentBranch
+    }
+
+    String getMainBranch() {
+        return mainBranch
+    }
 }
\ No newline at end of file
diff --git a/vars/vaultPipeline.groovy b/vars/vaultPipeline.groovy
index 44a34a2..b9ef4be 100644
--- a/vars/vaultPipeline.groovy
+++ b/vars/vaultPipeline.groovy
@@ -21,10 +21,10 @@ import org.apache.jackrabbit.vault.PipelineSupport
 
 // valid node labels in https://cwiki.apache.org/confluence/display/INFRA/ci-builds.apache.org
 def call(String mainNodeLabel, int mainJdkVersion, String mainMavenVersion, Closure body) {
-    PipelineSupport pipelineSupport = PipelineSupport.createInstance(mainNodeLabel, mainJdkVersion, mainMavenVersion, env.BRANCH_NAME == 'master')
+    PipelineSupport pipelineSupport = PipelineSupport.createInstance(mainNodeLabel, mainJdkVersion, mainMavenVersion, 'master')
     // adjust some job properties (https://www.jenkins.io/doc/pipeline/steps/workflow-multibranch/#properties-set-job-properties)
     def buildProperties = []
-    if (pipelineSupport.isOnMainBranch) {
+    if (pipelineSupport.isOnMainBranch(env.BRANCH_NAME)) {
       echo "Building main branch ${env.BRANCH_NAME}"
       // set build retention time first
       buildProperties.add(buildDiscarder(logRotator(artifactDaysToKeepStr: '', artifactNumToKeepStr: '5', daysToKeepStr: '15', numToKeepStr: '10')))
diff --git a/vars/vaultStageBuild.groovy b/vars/vaultStageBuild.groovy
index 669876f..bb4b4c7 100644
--- a/vars/vaultStageBuild.groovy
+++ b/vars/vaultStageBuild.groovy
@@ -55,7 +55,7 @@ def call(List<String> additionalNodeLabels, List<Integer> additionalJdkVersions,
                                         // stash the integration test classes and the build artifact for later execution
                                         stash name: 'integration-test-classes', includes: '**/target/test-classes/**,**/target/*.jar'
                                     }
-                                    if (pipelineSupport.isOnMainBranch) {
+                                    if (pipelineSupport.isOnMainBranch(env.BRANCH_NAME)) {
                                         // Stash the build results so we can deploy them on another node
                                         stash name: 'local-snapshots-dir', includes: 'local-snapshots-dir/**'
                                     }
@@ -74,7 +74,9 @@ def call(List<String> additionalNodeLabels, List<Integer> additionalJdkVersions,
                                 withCredentials([string(credentialsId: 'sonarcloud-filevault-token', variable: 'SONAR_TOKEN')]) {
                                     String mavenArguments = "${sonarPluginGav}:sonar -Dsonar.host.url=https://sonarcloud.io -Dsonar.organization=apache -Dsonar.projectKey=${sonarProjectKey}"
                                     // add variables for branch analysis: https://docs.sonarsource.com/sonarcloud/enriching/branch-analysis-setup/#setup-with-a-non-integrated-build-environment
-                                    mavenArguments += " -Dsonar.branch.name=${env.BRANCH_NAME} -Dsonar.branch.target=master"
+                                    if (!pipelineSupport.isOnMainBranch(env.BRANCH_NAME)) {
+                                        mavenArguments += " -Dsonar.branch.name=${env.BRANCH_NAME} -Dsonar.branch.target=${pipelineSupport.getMainBranch()}"
+                                    }
                                     pipelineSupport.executeMaven(this, 17, mavenArguments, false)
                                 }
                             }