project-type: freestyle
concurrent: true
node: '{build-node}'
+ build-env-variables: ''
pattern: '**'
pom:
-
+ mvn-opts: ''
+ java-opts: ''
properties:
- infra-properties:
build-days-to-keep: '{build-days-to-keep}'
files: '{obj:pattern}'
builders:
+ - lf-infra-pre-build
- provide-maven-settings:
global-settings-file: 'global-settings'
settings-file: '{mvn-settings}'
+ - inject:
+ properties-content: "{build-env-variables}"
- maven-target:
maven-version: '{maven-version}'
pom: '{obj:pom}'
goals: 'clean install -B
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn {mvn-params}'
+ properties:
+ - MAVEN_OPTS='{mvn-opts}'
+ java-opts:
+ - "{java-opts}"
settings: '{mvn-settings}'
settings-type: cfp
global-settings: 'global-settings'
triggers:
# 11 AM UTC
- - timed: 'H 11 * * *'
+ - timed: '@daily'
- gerrit-trigger-release-manually:
server: '{server-name}'
project: '{project}'
branch: '{branch}'
builders:
+ - lf-infra-pre-build
- provide-maven-settings:
global-settings-file: 'global-settings'
settings-file: '{mvn-settings}'
build-timeout: '{build-timeout}'
triggers:
# 11 AM UTC
- - timed: 'H 11 * * *'
+ - timed: '@daily'
- gerrit-trigger-release-manually:
server: '{server-name}'
project: '{project}'
branch: '{branch}'
builders:
+ - lf-infra-pre-build
- provide-maven-settings:
global-settings-file: 'global-settings'
settings-file: '{mvn-settings}'
triggers:
# 11 AM UTC
- - timed: 'H H(10-17) * * *'
+ - timed: '@daily'
- gerrit-trigger-release-manually:
server: '{server-name}'
project: '{project}'
branch: '{branch}'
builders:
+ - lf-infra-pre-build
- provide-maven-settings:
global-settings-file: 'global-settings'
settings-file: '{mvn-settings}'
triggers:
# 11 AM UTC
- - timed: 'H 11 * * *'
+ - timed: '@daily'
- gerrit-trigger-release-manually:
server: '{server-name}'
project: '{project}'
branch: '{branch}'
builders:
+ - lf-infra-pre-build
- provide-maven-settings:
global-settings-file: 'global-settings'
settings-file: '{mvn-settings}'
triggers:
# 11 AM UTC
- - timed: 'H 11 * * *'
+ - timed: '@daily'
- gerrit-trigger-release-manually:
server: '{server-name}'
project: '{project}'
branch: '{branch}'
builders:
+ - lf-infra-pre-build
- provide-maven-settings:
global-settings-file: 'global-settings'
settings-file: '{mvn-settings}'
project-type: freestyle
node: '{build-node}'
disabled: '{disabled}'
+ version-properties: 'version.properties'
maven-deploy-properties:
properties:
- infra-properties:
triggers:
# 11 AM UTC
- - timed: 'H 11 * * *'
+ - timed: '@daily'
- gerrit-trigger-release-manually:
server: '{server-name}'
project: '{project}'
branch: '{branch}'
builders:
+ - lf-infra-pre-build
- provide-maven-settings:
global-settings-file: 'global-settings'
settings-file: '{mvn-settings}'
- inject:
- properties-file: version.properties
+ properties-file: '{version-properties}'
- maven-set-release-version:
maven-version: '{maven-version}'
mvn-settings: '{mvn-settings}'
pattern: '**'
pom:
mvn_properties: []
+ mvn-params: ''
+ mvn-opts: ''
+ java-opts: ''
properties:
- infra-properties:
files: '{pattern}'
builders:
+ - lf-infra-pre-build
- provide-maven-settings:
global-settings-file: 'global-settings'
settings-file: '{mvn-settings}'
+ - conditional-step:
+ condition-kind: regex-match
+ regex: .*(amd64|arm64).*
+ label: '{project-name}'
+ steps:
+ - shell: !include-raw-escape: global-jjb/shell/docker-login.sh
- maven-target:
maven-version: '{maven-version}'
pom: '{obj:pom}'
- goals: 'clean deploy -B
+ goals: 'clean deploy -B {mvn-params}
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
+ properties:
+ - MAVEN_OPTS='{mvn-opts}'
+ java-opts:
+ - "{java-opts}"
settings: '{mvn-settings}'
settings-type: cfp
global-settings: 'global-settings'
name: '{project-name}-{stream}-merge-profile-java'
builders:
+ - lf-infra-pre-build
- provide-maven-settings:
global-settings-file: 'global-settings'
settings-file: '{mvn-settings}'
name: '{project-name}-{stream}-docker-java-daily'
id: '{project-name}-{stream}-docker-java-daily'
project-type: freestyle
- node: 'ubuntu1604-docker-8c-8g'
+ node: '{build-node}'
disabled: '{disabled}'
properties:
- infra-properties:
triggers:
# 12 AM UTC
- - timed: 'H 12 * * *'
+ - timed: '@daily'
- gerrit-trigger-release-manually:
server: '{server-name}'
project: '{project}'
branch: '{branch}'
builders:
-
+ - lf-infra-pre-build
- provide-maven-settings:
global-settings-file: 'global-settings'
settings-file: '{mvn-settings}'
name: '{project-name}-{stream}-docker-java-properties-daily'
project-type: freestyle
- node: 'ubuntu1604-docker-8c-8g'
+ node: '{build-node}'
disabled: '{disabled}'
properties:
- infra-properties:
build-timeout: '{build-timeout}'
triggers:
# 12 AM UTC
- - timed: 'H 12 * * *'
+ - timed: '@daily'
- gerrit-trigger-release-manually:
server: '{server-name}'
project: '{project}'
branch: '{branch}'
builders:
+ - lf-infra-pre-build
- provide-maven-settings:
global-settings-file: 'global-settings'
settings-file: '{mvn-settings}'
triggers:
# 12 AM UTC
- - timed: 'H 12 * * *'
+ - timed: '@daily'
- gerrit-trigger-release-manually:
server: '{server-name}'
project: '{project}'
branch: '{branch}'
builders:
-
+ - lf-infra-pre-build
- provide-maven-settings:
global-settings-file: 'global-settings'
settings-file: '{mvn-settings}'
triggers:
# 12 AM UTC
- - timed: 'H 12 * * *'
+ - timed: '@daily'
- gerrit-trigger-release-manually:
server: '{server-name}'
project: '{project}'
branch: '{branch}'
builders:
-
+ - lf-infra-pre-build
- provide-maven-settings:
global-settings-file: 'global-settings'
settings-file: '{mvn-settings}'
name: '{project-name}-{stream}-docker-java-version-shell-daily'
project-type: freestyle
- node: 'ubuntu1604-docker-8c-8g'
+ node: '{build-node}'
disabled: '{disabled}'
properties:
- infra-properties:
triggers:
# 12 AM UTC
- - timed: 'H 12 * * *'
+ - timed: '@daily'
- gerrit-trigger-release-manually:
server: '{server-name}'
project: '{project}'
branch: '{branch}'
builders:
-
+ - lf-infra-pre-build
- provide-maven-settings:
global-settings-file: 'global-settings'
settings-file: '{mvn-settings}'
triggers:
# 12 AM UTC
- - timed: 'H 12 * * *'
+ - timed: '@daily'
- gerrit-trigger-release-manually:
server: '{server-name}'
project: '{project}'
branch: '{branch}'
builders:
-
+ - lf-infra-pre-build
- provide-maven-settings:
global-settings-file: 'global-settings'
settings-file: '{mvn-settings}'
name: '{project-name}-{stream}-docker-version-java-daily'
id: '{project-name}-{stream}-docker-version-java-daily'
project-type: freestyle
- node: 'ubuntu1604-docker-8c-8g'
+ node: '{build-node}'
disabled: '{disabled}'
properties:
- infra-properties:
triggers:
# 12 AM UTC
- - timed: 'H 12 * * *'
+ - timed: '@daily'
- gerrit-trigger-release-manually:
server: '{server-name}'
project: '{project}'
branch: '{branch}'
builders:
-
+ - lf-infra-pre-build
- provide-maven-settings:
global-settings-file: 'global-settings'
settings-file: '{mvn-settings}'
name: '{project-name}-{stream}-aai-docker-java-daily'
project-type: freestyle
- node: 'ubuntu1604-docker-8c-8g'
+ node: '{build-node}'
docker-image-name: ''
disabled: '{disabled}'
properties:
triggers:
# 12 AM UTC
- - timed: 'H 12 * * *'
+ - timed: '@daily'
- gerrit-trigger-release-manually:
server: '{server-name}'
project: '{project}'
branch: '{branch}'
builders:
-
+ - lf-infra-pre-build
- provide-maven-settings:
global-settings-file: 'global-settings'
settings-file: '{mvn-settings}'
<<: *merge_java_defaults
name: '{project-name}-{stream}-sdc-merge-java'
- node: 'ubuntu1604-docker-8c-8g'
+ node: '{build-node}'
build-timeout: 120
builders:
+ - lf-infra-pre-build
- provide-maven-settings:
global-settings-file: 'global-settings'
settings-file: '{mvn-settings}'
# use default as mvn-profile if profile is not needed
mvn-profile: '{mvn-profile}'
mvn-params: ''
+
+- job-template:
+ # Job template for Java merge jobs on multiple architectures
+ #
+ # The purpose of this job template is to:
+ # 1. Run parallel {project-name}-{stream}-verify-java jobs for each supported architecture
+ # 2. Build and push a docker manifest list for the images created by
+ # the previous jobs
+
+ name: '{project-name}-multiarch-{stream}-merge-java'
+ node: '{build-node}'
+ project-type: multijob
+ disabled: '{obj:disabled}'
+ pattern: '**'
+
+ parameters:
+ - lf-infra-parameters:
+ project: '{project}'
+ stream: '{stream}'
+ branch: '{branch}'
+ - string:
+ name: DOCKER_REGISTRY
+ default: 'none'
+ - string:
+ name: DOCKERHUB_REGISTRY
+ default: 'registry-1.docker.io'
+
+ properties:
+ - throttle:
+ max-per-node: 1
+ option: 'project'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - '{project-name}-.*-merge-.*'
+ blocking-level: 'NODE'
+
+ scm:
+ - gerrit-trigger-scm:
+ refspec: ''
+ choosing-strategy: 'default'
+ submodule-recursive: '{submodule-recursive}'
+
+ wrappers:
+ - infra-wrappers:
+ build-timeout: '{build-timeout}'
+
+ triggers:
+ - gerrit-trigger-patch-merged:
+ server: '{server-name}'
+ project: '{project}'
+ branch: '{branch}'
+ files: '{pattern}'
+
+ builders:
+ - multijob:
+ name: 'build docker images'
+ condition: ALWAYS
+ execution-type: PARALLEL
+ projects:
+ - name: '{project-name}-amd64-{stream}-merge-java'
+ kill-phase-on: FAILURE
+ current-parameters: true
+ - name: '{project-name}-arm64-{stream}-merge-java'
+ kill-phase-on: NEVER
+ current-parameters: true
+ - multijob:
+ name: 'publish docker manifest'
+ condition: SUCCESSFUL
+ execution-type: PARALLEL
+ projects:
+ - name: '{project-name}-docker-manifest-{stream}'
+ current-parameters: true
+ predefined-parameters: |
+ PARENT_JOB_NAME=$JOB_NAME
+ DOCKERHUB_REGISTRY=docker.io