--- # This file contains job templates for Maven projects. ########## # Macros # ########## - builder: name: lf-maven-build builders: - inject: properties-content: 'MAVEN_GOALS={mvn-goals}' - shell: !include-raw-escape: - ../shell/common-variables.sh - ../shell/maven-build.sh - builder: name: lf-maven-deploy builders: - shell: !include-raw: - ../shell/common-variables.sh - ../shell/maven-deploy.sh - builder: name: lf-maven-stage builders: # include-raw-escape fails due to JJB bug - shell: !include-raw: - ../shell/common-variables.sh - ../shell/maven-stage.sh - builder: name: lf-update-java-alternatives builders: - inject: # Work around inject plugin overriding our GIT_URL variable incorrectly # https://issues.jenkins-ci.org/browse/JENKINS-49775 properties-content: | SET_JDK_VERSION={java-version} GIT_URL="$GIT_URL" - shell: !include-raw-escape: ../shell/update-java-alternatives.sh - inject: properties-file: '/tmp/java.env' #################### # COMMON FUNCTIONS # #################### - lf_maven_common: &lf_maven_common name: lf-maven-common ###################### # Default parameters # ###################### archive-artifacts: > **/*.log **/hs_err_*.log **/target/**/feature.xml **/target/failsafe-reports/failsafe-summary.xml **/target/surefire-reports/*-output.txt ##################### # Job Configuration # ##################### project-type: freestyle node: '{build-node}' properties: - lf-infra-properties: build-days-to-keep: '{build-days-to-keep}' parameters: - lf-infra-parameters: project: '{project}' branch: '{branch}' stream: '{stream}' lftools-version: '{lftools-version}' - lf-infra-maven-parameters: mvn-opts: '{mvn-opts}' mvn-params: '{mvn-params}' mvn-version: '{mvn-version}' - string: name: ARCHIVE_ARTIFACTS default: '{archive-artifacts}' description: Artifacts to archive to the logs server. wrappers: - lf-infra-wrappers: build-timeout: '{build-timeout}' jenkins-ssh-credential: '{jenkins-ssh-credential}' publishers: # TODO: Make email notification work. # - lf-infra-email-notify: # email-recipients: '{email-recipients}' # email-prefix: '[releng]' - lf-infra-publish ############# # Maven CLM # ############# - lf_maven_clm: &lf_maven_clm name: lf-maven-clm ###################### # Default parameters # ###################### branch: master build-days-to-keep: 30 # 30 days for troubleshooting purposes build-timeout: 60 disable-job: false git-url: '$GIT_URL/$PROJECT' github-url: 'https://github.com' java-version: openjdk8 mvn-global-settings: global-settings mvn-opts: '' mvn-params: '' mvn-version: mvn35 nexus-iq-stage: 'build' stream: master submodule-recursive: true nexus_iq_scan_patterns: - '**/*.ear' - '**/*.jar' - '**/*.tar.gz' - '**/*.war' - '**/*.zip' gerrit_clm_triggers: - comment-added-contains-event: comment-contains-value: run-clm$ parameters: - lf-infra-parameters: project: '{project}' branch: '{branch}' stream: '{stream}' lftools-version: '{lftools-version}' - lf-infra-maven-parameters: mvn-opts: '{mvn-opts}' mvn-params: '{mvn-params}' mvn-version: '{mvn-version}' - string: name: ARCHIVE_ARTIFACTS default: '{archive-artifacts}' description: Artifacts to archive to the logs server. - lf-clm-parameters: nexus-iq-stage: '{nexus-iq-stage}' ##################### # Job Configuration # ##################### disabled: '{disable-job}' builders: - lf-infra-pre-build - lf-maven-install: mvn-version: '{mvn-version}' - lf-update-java-alternatives: java-version: '{java-version}' - lf-provide-maven-settings: global-settings-file: '{mvn-global-settings}' settings-file: '{mvn-settings}' - shell: !include-raw-escape: - ../shell/common-variables.sh - ../shell/sonatype-clm.sh - lf-provide-maven-settings-cleanup - shell: 'find . -regex ".*karaf/target" | xargs rm -rf' - nexus-iq-policy-evaluator: stage: '{nexus-iq-stage}' application-type: 'manual' application-id: '{project-name}' scan-patterns: '{obj:nexus_iq_scan_patterns}' fail-build-network-error: true - job-template: name: '{project-name}-maven-clm-{stream}' id: gerrit-maven-clm <<: *lf_maven_common # yamllint disable-line rule:key-duplicates <<: *lf_maven_clm scm: - lf-infra-gerrit-scm: jenkins-ssh-credential: '{jenkins-ssh-credential}' git-url: '{git-url}' refspec: '$GERRIT_REFSPEC' branch: '$GERRIT_BRANCH' submodule-recursive: '{submodule-recursive}' choosing-strategy: default triggers: # Build weekly on Saturdays - timed: 'H H * * 6' - gerrit: server-name: '{gerrit-server-name}' trigger-on: '{obj:gerrit_clm_triggers}' projects: - project-compare-type: ANT project-pattern: '{project}' branches: - branch-compare-type: ANT branch-pattern: '**/{branch}' skip-vote: successful: true failed: true unstable: true notbuilt: true - job-template: name: '{project-name}-maven-clm-{stream}' id: github-maven-clm <<: *lf_maven_common # yamllint disable-line rule:key-duplicates <<: *lf_maven_clm properties: - lf-infra-properties: build-days-to-keep: '{build-days-to-keep}' - github: url: '{github-url}/{github-org}/{project}' scm: - lf-infra-github-scm: url: '{git-clone-url}{github-org}/{project}' refspec: '' branch: 'refs/heads/{branch}' submodule-recursive: '{submodule-recursive}' choosing-strategy: default jenkins-ssh-credential: '{jenkins-ssh-credential}' triggers: # Build weekly on Saturdays - timed: 'H H * * 6' - github-pull-request: trigger-phrase: '^run-clm$' only-trigger-phrase: true status-context: 'CLM' permit-all: true github-hooks: true org-list: - '{github-org}' white-list: '{obj:github_pr_whitelist}' admin-list: '{obj:github_pr_admin_list}' white-list-target-branches: - '{branch}' ######################### # Maven Javadoc Publish # ######################### - lf_maven_javadoc_publish: &lf_maven_javadoc_publish name: lf-maven-javadoc-publish ###################### # Default parameters # ###################### branch: master build-days-to-keep: 30 # 30 days in case a release takes long to get approved. build-timeout: 60 disable-job: false git-url: '$GIT_URL/$PROJECT' github-url: 'https://github.com' java-version: openjdk8 mvn-global-settings: global-settings mvn-opts: '' mvn-params: '' mvn-version: mvn35 stream: master submodule-recursive: true gerrit_merge_triggers: - change-merged-event - comment-added-contains-event: comment-contains-value: remerge$ ##################### # Job Configuration # ##################### disabled: '{disable-job}' builders: - lf-infra-pre-build - lf-maven-install: mvn-version: '{mvn-version}' - lf-update-java-alternatives: java-version: '{java-version}' - lf-provide-maven-settings: global-settings-file: '{mvn-global-settings}' settings-file: '{mvn-settings}' - lf-infra-create-netrc: server-id: '{mvn-site-id}' - inject: properties-content: 'DEPLOY_PATH={javadoc-path}' - shell: !include-raw-escape: - ../shell/common-variables.sh - ../shell/maven-javadoc-generate.sh - ../shell/maven-javadoc-publish.sh - lf-provide-maven-settings-cleanup - job-template: name: '{project-name}-maven-javadoc-publish-{stream}' id: gerrit-maven-javadoc-publish <<: *lf_maven_common # yamllint disable-line rule:key-duplicates <<: *lf_maven_javadoc_publish git-url: '$GIT_URL/$GERRIT_PROJECT' scm: - lf-infra-gerrit-scm: git-url: '{git-url}' refspec: '' branch: '{branch}' submodule-recursive: '{submodule-recursive}' choosing-strategy: default jenkins-ssh-credential: '{jenkins-ssh-credential}' triggers: - gerrit: server-name: '{gerrit-server-name}' trigger-on: '{obj:gerrit_merge_triggers}' projects: - project-compare-type: ANT project-pattern: '{project}' branches: - branch-compare-type: ANT branch-pattern: '**/{branch}' - job-template: name: '{project-name}-maven-javadoc-publish-{stream}' id: github-maven-javadoc-publish <<: *lf_maven_common # yamllint disable-line rule:key-duplicates <<: *lf_maven_javadoc_publish properties: - lf-infra-properties: build-days-to-keep: '{build-days-to-keep}' - github: url: '{github-url}/{github-org}/{project}' scm: - lf-infra-github-scm: url: '{git-clone-url}{github-org}/{project}' refspec: '' branch: '{branch}' submodule-recursive: '{submodule-recursive}' choosing-strategy: default jenkins-ssh-credential: '{jenkins-ssh-credential}' triggers: - github - pollscm: cron: '' - github-pull-request: trigger-phrase: '^remerge$' only-trigger-phrase: true status-context: 'Maven Javadoc Publish' permit-all: true github-hooks: true org-list: - '{github-org}' white-list: '{obj:github_pr_whitelist}' admin-list: '{obj:github_pr_admin_list}' white-list-target-branches: - '{branch}' ######################## # Maven Javadoc Verify # ######################## - lf_maven_javadoc_verify: &lf_maven_javadoc_verify name: lf-maven-javadoc-verify ###################### # Default parameters # ###################### branch: master build-days-to-keep: 30 # 30 days in case a release takes long to get approved. build-timeout: 60 disable-job: false git-url: '$GIT_URL/$PROJECT' github-url: 'https://github.com' java-version: openjdk8 mvn-global-settings: global-settings mvn-opts: '' mvn-params: '' mvn-version: mvn35 stream: master submodule-recursive: true gerrit_verify_triggers: - patchset-created-event: exclude-drafts: true exclude-trivial-rebase: false exclude-no-code-change: false - draft-published-event - comment-added-contains-event: comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$' ##################### # Job Configuration # ##################### concurrent: true disabled: '{disable-job}' builders: - lf-infra-pre-build - lf-maven-install: mvn-version: '{mvn-version}' - lf-update-java-alternatives: java-version: '{java-version}' - lf-provide-maven-settings: global-settings-file: '{mvn-global-settings}' settings-file: '{mvn-settings}' - shell: !include-raw-escape: - ../shell/common-variables.sh - ../shell/maven-javadoc-generate.sh - lf-provide-maven-settings-cleanup - job-template: name: '{project-name}-maven-javadoc-verify-{stream}' id: gerrit-maven-javadoc-verify <<: *lf_maven_common # yamllint disable-line rule:key-duplicates <<: *lf_maven_javadoc_verify scm: - lf-infra-gerrit-scm: jenkins-ssh-credential: '{jenkins-ssh-credential}' git-url: '{git-url}' refspec: '$GERRIT_REFSPEC' branch: '$GERRIT_BRANCH' submodule-recursive: '{submodule-recursive}' choosing-strategy: gerrit triggers: - gerrit: server-name: '{gerrit-server-name}' trigger-on: '{obj:gerrit_verify_triggers}' projects: - project-compare-type: ANT project-pattern: '{project}' branches: - branch-compare-type: ANT branch-pattern: '**/{branch}' - job-template: name: '{project-name}-maven-javadoc-verify-{stream}' id: github-maven-javadoc-verify <<: *lf_maven_common # yamllint disable-line rule:key-duplicates <<: *lf_maven_javadoc_verify properties: - lf-infra-properties: build-days-to-keep: '{build-days-to-keep}' - github: url: '{github-url}/{github-org}/{project}' scm: - lf-infra-github-scm: url: '{git-clone-url}{github-org}/{project}' refspec: '+refs/pull/*:refs/remotes/origin/pr/*' branch: '$sha1' submodule-recursive: '{submodule-recursive}' choosing-strategy: default jenkins-ssh-credential: '{jenkins-ssh-credential}' triggers: - github-pull-request: trigger-phrase: ^(recheck|reverify)$ only-trigger-phrase: false status-context: 'Maven Javadoc Verify' permit-all: true github-hooks: true white-list-target-branches: - '{branch}' ############### # Maven Merge # ############### - lf_maven_merge: &lf_maven_merge name: lf-maven-merge ###################### # Default parameters # ###################### branch: master build-days-to-keep: 30 # 30 days in case we need to troubleshoot build-timeout: 60 cron: '@daily' disable-job: false git-url: '$GIT_URL/$PROJECT' github-url: 'https://github.com' java-version: openjdk8 mvn-global-settings: global-settings mvn-goals: clean deploy mvn-opts: '' mvn-params: '-Dmerge' mvn-version: mvn35 nexus-cut-dirs: 6 # Number of dirs in the Nexus path to remove for wget -r. stream: master submodule-recursive: true gerrit_merge_triggers: - change-merged-event - comment-added-contains-event: comment-contains-value: remerge$ gerrit_trigger_file_paths: - compare-type: REG_EXP pattern: '.*' # github_included_regions MUST match gerrit_trigger_file_paths github_included_regions: - '.*' post_build_trigger: '' ##################### # Job Configuration # ##################### disabled: '{disable-job}' builders: - lf-infra-pre-build - lf-jacoco-nojava-workaround - lf-maven-install: mvn-version: '{mvn-version}' - lf-update-java-alternatives: java-version: '{java-version}' - lf-provide-maven-settings: global-settings-file: '{mvn-global-settings}' settings-file: '{mvn-settings}' - lf-infra-create-netrc: server-id: '{mvn-snapshot-id}' - inject: properties-content: | NEXUS_CUT_DIRS={nexus-cut-dirs} NEXUS_REPO={nexus-snapshot-repo} - shell: !include-raw-escape: ../shell/maven-fetch-metadata.sh - lf-maven-build: mvn-goals: '{mvn-goals}' - lf-maven-deploy - lf-provide-maven-settings-cleanup publishers: - findbugs - lf-jacoco-report - lf-infra-publish - trigger-parameterized-builds: '{obj:post_build_trigger}' - job-template: name: '{project-name}-maven-merge-{stream}' id: gerrit-maven-merge <<: *lf_maven_common # yamllint disable-line rule:key-duplicates <<: *lf_maven_merge scm: - lf-infra-gerrit-scm: jenkins-ssh-credential: '{jenkins-ssh-credential}' git-url: '{git-url}' refspec: '$GERRIT_REFSPEC' branch: '$GERRIT_BRANCH' submodule-recursive: '{submodule-recursive}' choosing-strategy: default triggers: - timed: '{obj:cron}' - gerrit: server-name: '{gerrit-server-name}' trigger-on: '{obj:gerrit_merge_triggers}' projects: - project-compare-type: ANT project-pattern: '{project}' branches: - branch-compare-type: ANT branch-pattern: '**/{branch}' file-paths: '{obj:gerrit_trigger_file_paths}' - job-template: name: '{project-name}-maven-merge-{stream}' id: github-maven-merge <<: *lf_maven_common # yamllint disable-line rule:key-duplicates <<: *lf_maven_merge properties: - lf-infra-properties: build-days-to-keep: '{build-days-to-keep}' - github: url: '{github-url}/{github-org}/{project}' scm: - lf-infra-github-scm: url: '{git-clone-url}{github-org}/{project}' refspec: '' branch: 'refs/heads/{branch}' submodule-recursive: '{submodule-recursive}' choosing-strategy: default jenkins-ssh-credential: '{jenkins-ssh-credential}' triggers: - timed: '{obj:cron}' - github - pollscm: cron: '' - github-pull-request: trigger-phrase: '^remerge$' only-trigger-phrase: true status-context: 'Maven Merge' permit-all: true github-hooks: true org-list: - '{github-org}' white-list: '{obj:github_pr_whitelist}' admin-list: '{obj:github_pr_admin_list}' white-list-target-branches: - '{branch}' included-regions: '{obj:github_included_regions}' ############### # Maven Stage # ############### - lf_maven_stage: &lf_maven_stage name: lf-maven-stage ###################### # Default parameters # ###################### branch: master build-days-to-keep: 30 # 30 days in case a release takes long to get approved. build-timeout: 60 cron: '@daily' disable-job: false git-url: '$GIT_URL/$PROJECT' github-url: 'https://github.com' java-version: openjdk8 mvn-global-settings: global-settings mvn-goals: clean deploy mvn-opts: '' mvn-params: '' mvn-version: mvn35 sign-artifacts: false stream: master submodule-recursive: true gerrit_release_triggers: - comment-added-contains-event: comment-contains-value: stage-release$ ##################### # Job Configuration # ##################### disabled: '{disable-job}' parameters: - lf-infra-parameters: project: '{project}' branch: '{branch}' stream: '{stream}' lftools-version: '{lftools-version}' - lf-infra-maven-parameters: mvn-opts: '{mvn-opts}' mvn-params: '{mvn-params}' mvn-version: '{mvn-version}' staging-profile-id: '{staging-profile-id}' - string: name: ARCHIVE_ARTIFACTS default: '{archive-artifacts}' description: Artifacts to archive to the logs server. - string: name: STAGING_PROFILE_ID default: '{staging-profile-id}' description: Nexus staging profile ID. builders: - lf-infra-pre-build - lf-jacoco-nojava-workaround - lf-maven-install: mvn-version: '{mvn-version}' - lf-update-java-alternatives: java-version: '{java-version}' - lf-provide-maven-settings: global-settings-file: '{mvn-global-settings}' settings-file: '{mvn-settings}' - lf-infra-create-netrc: server-id: '{mvn-staging-id}' - shell: !include-raw-escape: ../shell/maven-patch-release.sh - lf-maven-build: mvn-goals: '{mvn-goals}' - lf-sigul-sign-dir: sign-artifacts: '{sign-artifacts}' sign-dir: '$WORKSPACE/m2repo' - lf-maven-stage - lf-provide-maven-settings-cleanup - job-template: name: '{project-name}-maven-stage-{stream}' id: gerrit-maven-stage <<: *lf_maven_common # yamllint disable-line rule:key-duplicates <<: *lf_maven_stage scm: - lf-infra-gerrit-scm: jenkins-ssh-credential: '{jenkins-ssh-credential}' git-url: '{git-url}' refspec: '$GERRIT_REFSPEC' branch: '$GERRIT_BRANCH' submodule-recursive: '{submodule-recursive}' choosing-strategy: default triggers: - timed: '{obj:cron}' - gerrit: server-name: '{gerrit-server-name}' trigger-on: '{obj:gerrit_release_triggers}' projects: - project-compare-type: ANT project-pattern: '{project}' branches: - branch-compare-type: ANT branch-pattern: '**/{branch}' - job-template: name: '{project-name}-maven-stage-{stream}' id: github-maven-stage <<: *lf_maven_common # yamllint disable-line rule:key-duplicates <<: *lf_maven_stage properties: - lf-infra-properties: build-days-to-keep: '{build-days-to-keep}' - github: url: '{github-url}/{github-org}/{project}' scm: - lf-infra-github-scm: url: '{git-clone-url}{github-org}/{project}' refspec: '+refs/pull/*:refs/remotes/origin/pr/*' branch: '{branch}' submodule-recursive: '{submodule-recursive}' choosing-strategy: default jenkins-ssh-credential: '{jenkins-ssh-credential}' triggers: - timed: '{obj:cron}' - github-pull-request: trigger-phrase: '^build release$' only-trigger-phrase: true status-context: 'Maven Release' permit-all: true github-hooks: true white-list-target-branches: - '{branch}' ############### # Maven Sonar # ############### - lf_maven_sonar: &lf_maven_sonar name: lf-maven-sonar ###################### # Default parameters # ###################### branch: master # Sonar should always be run on master branch build-days-to-keep: 7 build-timeout: 60 cron: 'H H * * 6' # run weekly disable-job: false git-url: '$GIT_URL/$PROJECT' github-url: 'https://github.com' java-version: openjdk8 mvn-global-settings: global-settings mvn-opts: '' mvn-params: '' mvn-version: mvn35 sonar-mvn-goal: 'sonar:sonar' stream: master submodule-recursive: true gerrit_sonar_triggers: - comment-added-contains-event: comment-contains-value: run-sonar$ ##################### # Job Configuration # ##################### disabled: '{disable-job}' parameters: - lf-infra-parameters: project: '{project}' branch: '{branch}' stream: '{stream}' lftools-version: '{lftools-version}' - lf-infra-maven-parameters: mvn-opts: '{mvn-opts}' mvn-params: '{mvn-params}' mvn-version: '{mvn-version}' - string: name: ARCHIVE_ARTIFACTS default: '{archive-artifacts}' description: Artifacts to archive to the logs server. - string: name: SONAR_MAVEN_GOAL default: '{sonar-mvn-goal}' description: | Maven goals to pass to the Sonar call. Typically sonar:sonar however to use a specific version of the sonar-maven-plugin we can call "org.codehaus.mojo:sonar-maven-plugin:3.3.0.603:sonar". triggers: - timed: '{obj:cron}' - gerrit: server-name: '{gerrit-server-name}' trigger-on: '{obj:gerrit_sonar_triggers}' projects: - project-compare-type: 'ANT' project-pattern: '{project}' branches: - branch-compare-type: 'ANT' branch-pattern: '**/master' skip-vote: successful: true failed: true unstable: true notbuilt: true builders: - lf-infra-pre-build - lf-infra-maven-sonar: java-version: '{java-version}' mvn-settings: '{mvn-settings}' mvn-version: '{mvn-version}' publishers: - lf-jacoco-report - findbugs - lf-infra-publish - builder: name: lf-infra-maven-sonar # Run a Sonar build with Maven builders: - lf-maven-install: mvn-version: '{mvn-version}' - lf-update-java-alternatives: java-version: '{java-version}' - inject: # Switch this to the sonar wrapper when JJB 2.0 is available properties-content: SONAR_HOST_URL=$SONAR_URL - lf-provide-maven-settings: global-settings-file: global-settings settings-file: '{mvn-settings}' - shell: !include-raw-escape: - ../shell/common-variables.sh - ../shell/maven-sonar.sh - lf-provide-maven-settings-cleanup - job-template: name: '{project-name}-sonar' id: gerrit-maven-sonar <<: *lf_maven_common # yamllint disable-line rule:key-duplicates <<: *lf_maven_sonar scm: - lf-infra-gerrit-scm: jenkins-ssh-credential: '{jenkins-ssh-credential}' git-url: '{git-url}' refspec: $GERRIT_REFSPEC branch: $GERRIT_BRANCH submodule-recursive: '{submodule-recursive}' choosing-strategy: default - job-template: name: '{project-name}-sonar' id: github-maven-sonar <<: *lf_maven_common # yamllint disable-line rule:key-duplicates <<: *lf_maven_sonar properties: - lf-infra-properties: build-days-to-keep: '{build-days-to-keep}' - github: url: '{github-url}/{github-org}/{project}' scm: - lf-infra-github-scm: url: '{git-clone-url}{github-org}/{project}' refspec: '+refs/pull/*:refs/remotes/origin/pr/*' branch: '$sha1' submodule-recursive: '{submodule-recursive}' choosing-strategy: default jenkins-ssh-credential: '{jenkins-ssh-credential}' triggers: - github-pull-request: trigger-phrase: '^run-sonar$' only-trigger-phrase: false status-context: 'Maven Sonar' permit-all: true github-hooks: true white-list-target-branches: - '{branch}' ################ # Maven Verify # ################ - lf_maven_verify: &lf_maven_verify name: lf-maven-verify ###################### # Default parameters # ###################### branch: master build-days-to-keep: 7 build-timeout: 60 disable-job: false git-url: '$GIT_URL/$PROJECT' github-url: 'https://github.com' java-version: openjdk8 mvn-global-settings: global-settings mvn-goals: clean deploy mvn-opts: '' mvn-params: '-Dstream=$STREAM' mvn-version: mvn35 stream: master submodule-recursive: true gerrit_verify_triggers: - patchset-created-event: exclude-drafts: true exclude-trivial-rebase: false exclude-no-code-change: false - draft-published-event - comment-added-contains-event: comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$' gerrit_trigger_file_paths: - compare-type: REG_EXP pattern: '.*' # github_included_regions MUST match gerrit_trigger_file_paths github_included_regions: - '.*' ##################### # Job Configuration # ##################### concurrent: true disabled: '{disable-job}' builders: - lf-infra-pre-build - lf-jacoco-nojava-workaround - lf-maven-install: mvn-version: '{mvn-version}' - lf-update-java-alternatives: java-version: '{java-version}' - lf-provide-maven-settings: global-settings-file: '{mvn-global-settings}' settings-file: '{mvn-settings}' - lf-maven-build: mvn-goals: '{mvn-goals}' - lf-provide-maven-settings-cleanup publishers: - findbugs - lf-jacoco-report - lf-infra-publish - job-template: name: '{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}' id: gerrit-maven-verify <<: *lf_maven_common # yamllint disable-line rule:key-duplicates <<: *lf_maven_verify scm: - lf-infra-gerrit-scm: jenkins-ssh-credential: '{jenkins-ssh-credential}' git-url: '{git-url}' refspec: '$GERRIT_REFSPEC' branch: '$GERRIT_BRANCH' submodule-recursive: '{submodule-recursive}' choosing-strategy: gerrit triggers: - gerrit: server-name: '{gerrit-server-name}' trigger-on: '{obj:gerrit_verify_triggers}' projects: - project-compare-type: ANT project-pattern: '{project}' branches: - branch-compare-type: ANT branch-pattern: '**/{branch}' file-paths: '{obj:gerrit_trigger_file_paths}' - job-template: name: '{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}' id: github-maven-verify <<: *lf_maven_common # yamllint disable-line rule:key-duplicates <<: *lf_maven_verify properties: - lf-infra-properties: build-days-to-keep: '{build-days-to-keep}' - github: url: '{github-url}/{github-org}/{project}' scm: - lf-infra-github-scm: url: '{git-clone-url}{github-org}/{project}' refspec: '+refs/pull/*:refs/remotes/origin/pr/*' branch: '$sha1' submodule-recursive: '{submodule-recursive}' choosing-strategy: default jenkins-ssh-credential: '{jenkins-ssh-credential}' triggers: - github-pull-request: trigger-phrase: '^(recheck|reverify)$' only-trigger-phrase: false status-context: 'Maven Verify' permit-all: true github-hooks: true white-list-target-branches: - '{branch}' included-regions: '{obj:github_included_regions}' ############################# # Maven Verify Dependencies # ############################# - lf_maven_verify_dependencies: &lf_maven_verify_dependencies name: lf-maven-verify-dependencies ###################### # Default parameters # ###################### branch: master build-days-to-keep: 7 build-timeout: 60 disable-job: false git-url: '$GIT_URL/$PROJECT' github-url: 'https://github.com' java-version: openjdk8 mvn-global-settings: global-settings mvn-goals: clean deploy mvn-opts: '' mvn-params: '-Dstream=$STREAM' mvn-version: mvn35 stream: master submodule-recursive: true gerrit_verify_triggers: - comment-added-contains-event: comment-contains-value: 'recheck: [0-9 ]+' gerrit_trigger_file_paths: - compare-type: ANT pattern: '**' ##################### # Job Configuration # ##################### concurrent: true disabled: '{disable-job}' builders: - lf-infra-pre-build - lf-jacoco-nojava-workaround - lf-maven-install: mvn-version: '{mvn-version}' - lf-update-java-alternatives: java-version: '{java-version}' - lf-provide-maven-settings: global-settings-file: '{mvn-global-settings}' settings-file: '{mvn-settings}' - lf-fetch-dependent-patches - shell: !include-raw-escape: - ../shell/common-variables.sh - ../shell/maven-build-deps.sh - lf-maven-build: mvn-goals: '{mvn-goals}' - lf-provide-maven-settings-cleanup publishers: - findbugs - lf-jacoco-report - lf-infra-publish - job-template: name: '{project-name}-maven-verify-deps-{stream}-{mvn-version}-{java-version}' id: gerrit-maven-verify-dependencies <<: *lf_maven_common # yamllint disable-line rule:key-duplicates <<: *lf_maven_verify_dependencies scm: - lf-infra-gerrit-scm: jenkins-ssh-credential: '{jenkins-ssh-credential}' git-url: '{git-url}' refspec: '$GERRIT_REFSPEC' branch: '$GERRIT_BRANCH' submodule-recursive: '{submodule-recursive}' choosing-strategy: gerrit triggers: - gerrit: server-name: '{gerrit-server-name}' trigger-on: '{obj:gerrit_verify_triggers}' projects: - project-compare-type: ANT project-pattern: '{project}' branches: - branch-compare-type: ANT branch-pattern: '**/{branch}' file-paths: '{obj:gerrit_trigger_file_paths}'