# GitHub Infra
git-url: https://github.com
- git-clone-url: 'git@github.com:'
+ git-clone-url: "git@github.com:"
github-org: example-org
github_pr_whitelist:
- jpwku
project-name: github-ciman
-
- project:
name: gerrit-openstack-jobs
jobs:
project-name: gerrit-ciman
jenkins-urls: >
- https://jenkins.example.org
- https://jenkins.example.org/sandbox
+ https://jenkins.example.org
+ https://jenkins.example.org/sandbox
- project:
name: github-openstack-jobs
project-name: github-ciman
jenkins-urls: >
- https://jenkins.example.org
- https://jenkins.example.org/sandbox
-
+ https://jenkins.example.org
+ https://jenkins.example.org/sandbox
- project:
name: gerrit-packer-jobs
throttle-enabled: true
throttle_categories:
- - 'cat1'
- - 'cat2'
+ - "cat1"
+ - "cat2"
throttle-max-per-node: 3
throttle-max-total: 2
- throttle-option: 'category'
+ throttle-option: "category"
project-name: throttle-ciman
- project:
name: jenkins-cfg-merge-full-test
jobs:
- - 'gerrit-jenkins-cfg-merge'
+ - "gerrit-jenkins-cfg-merge"
project-name: builder
jenkins-silos: releng sandbox
- project:
name: jenkins-cfg-merge-minimal-test
jobs:
- - 'gerrit-jenkins-cfg-merge'
+ - "gerrit-jenkins-cfg-merge"
project-name: ci-management
- project:
name: openstack-cron-full-test
jobs:
- - 'gerrit-openstack-cron'
+ - "gerrit-openstack-cron"
project-name: ciman-full
jenkins-urls: >
- https://jenkins.example.org
- https://jenkins.example.org/sandbox
+ https://jenkins.example.org
+ https://jenkins.example.org/sandbox
openstack-cloud: example-cloud
openstack-image-cleanup: false
openstack-image-cleanup-age: 42
- project:
name: openstack-cron-minimal-test
jobs:
- - 'gerrit-openstack-cron'
+ - "gerrit-openstack-cron"
project-name: ci-management
jenkins-urls: >
- https://jenkins.example.org
- https://jenkins.example.org/sandbox
+ https://jenkins.example.org
+ https://jenkins.example.org/sandbox
- common-view
view-name: Daily
- view-regex: '.*-daily-.*'
+ view-regex: ".*-daily-.*"
- csit-view
view-name: CSIT-1node
- view-regex: '.*csit-1node.*'
+ view-regex: ".*csit-1node.*"
---
- project:
- name: '{project-name}-docker'
+ name: "{project-name}-docker"
jobs:
- - '{project-name}-gerrit-docker-jobs'
+ - "{project-name}-gerrit-docker-jobs"
project: docker/project
project-name: docker-project
container-public-registry: pub-registry
container-push-registry: push-registry
container-tag-method: yaml-file
- container-tag-yaml-dir: ''
- docker-build-args: ''
+ container-tag-yaml-dir: ""
+ docker-build-args: ""
docker-name: docker-image-name
docker-root: docker
branch: master
#####################
mvn-central: true
- mvn-global-settings: ''
- mvn-settings: ''
- ossrh-profile-id: ''
+ mvn-global-settings: ""
+ mvn-settings: ""
+ ossrh-profile-id: ""
#####################
# Job configuration #
builders:
- lf-maven-central:
- mvn-central: '{mvn-central}'
- mvn-global-settings: '{mvn-global-settings}'
- mvn-settings: '{mvn-settings}'
- ossrh-profile-id: '{ossrh-profile-id}'
+ mvn-central: "{mvn-central}"
+ mvn-global-settings: "{mvn-global-settings}"
+ mvn-settings: "{mvn-settings}"
+ ossrh-profile-id: "{ossrh-profile-id}"
jobs:
- gerrit-maven-sonar
- project: 'sonarcloud'
- project-name: 'sonarcloud'
- branch: 'master'
- mvn-settings: 'sonarcloud-settings'
- mvn-opts: '-Xmx1024m'
+ project: "sonarcloud"
+ project-name: "sonarcloud"
+ branch: "master"
+ mvn-settings: "sonarcloud-settings"
+ mvn-opts: "-Xmx1024m"
sonarcloud: true
sonarcloud-project-key: KEY
sonarcloud-project-organization: ORGANIZATION
openstack-cloud: lf-cloud
openstack-heat-template: csit-2-instance-type.yaml
- openstack-heat-template-dir: 'openstack-hot'
+ openstack-heat-template-dir: "openstack-hot"
odl_system_count: 1
odl_system_flavor: odl-highcpu-4
builders:
- lf-infra-pre-build
- lf-stack-create:
- openstack-cloud: '{openstack-cloud}'
- openstack-heat-template: '{openstack-heat-template}'
- openstack-heat-template-dir: '{openstack-heat-template-dir}'
+ openstack-cloud: "{openstack-cloud}"
+ openstack-heat-template: "{openstack-heat-template}"
+ openstack-heat-template-dir: "{openstack-heat-template-dir}"
openstack-heat-parameters: |
- vm_0_count: '{odl_system_count}'
- vm_0_flavor: '{odl_system_flavor}'
- vm_0_image: '{odl_system_image}'
- vm_1_count: '{tools_system_count}'
- vm_1_flavor: '{tools_system_flavor}'
- vm_1_image: '{tools_system_image}'
+ vm_0_count: '{odl_system_count}'
+ vm_0_flavor: '{odl_system_flavor}'
+ vm_0_image: '{odl_system_image}'
+ vm_1_count: '{tools_system_count}'
+ vm_1_flavor: '{tools_system_flavor}'
+ vm_1_image: '{tools_system_image}'
publishers:
- lf-stack-delete:
- openstack-cloud: '{openstack-cloud}'
+ openstack-cloud: "{openstack-cloud}"
---
- project:
- name: '{project-name}-release'
+ name: "{project-name}-release"
jobs:
- - '{project-name}-gerrit-release-jobs'
+ - "{project-name}-gerrit-release-jobs"
project: self-release/project
project-name: self-release-project
name: whitesource-scan-project-jobs
jobs:
- gerrit-whitesource-scan
- branch: 'master'
+ branch: "master"
mvn-clean-install: true
- mvn-settings: 'whitesource-scan-project-settings'
- project: 'whitesource/scan-project-jobs'
- project-name: 'whitesource-scan-project'
+ mvn-settings: "whitesource-scan-project-settings"
+ project: "whitesource/scan-project-jobs"
+ project-name: "whitesource-scan-project"
wss-product-name: EXAMPLE-ORG
<center>
-<div class="btn-group" role="group" aria-label="...">
+ <div class="btn-group" role="group" aria-label="...">
{% if prev %}
<a class="btn btn-default" href="{{ prev.link|e }}">Prev Page</a>
{% else %}
<button type="button" class="btn btn-default disabled">Prev Page</button>
- {% endif %}
-
- {% if next %}
+ {% endif %} {% if next %}
<a class="btn btn-default" href="{{ next.link|e }}">Next Page</a>
{% else %}
<button type="button" class="btn btn-default disabled">Next Page</button>
{% endif %}
-</div>
+ </div>
</center>
-
-e '\- wrapper:' \
-A1 "$file" \
| grep 'name: ' | awk -F': ' '{print $2}' | sort | uniq \
- | tr -d "'")
+ | tr -d "'" | tr -d '"')
for item in "${docs_interests[@]}"; do
if ! grep -q "$item" "docs/${file//.yaml/.rst}"; then
branch: master
build-days-to-keep: 7
- build-dir: '$WORKSPACE/target'
+ build-dir: "$WORKSPACE/target"
build-timeout: 15
- cmake-opts: ''
- cron: '@daily'
+ cmake-opts: ""
+ cron: "@daily"
disable-job: false
- git-url: '$GIT_URL/$PROJECT'
- github-url: 'https://github.com'
- install-prefix: '$BUILD_DIR/output'
- make-opts: ''
- pre-build: ''
+ git-url: "$GIT_URL/$PROJECT"
+ github-url: "https://github.com"
+ install-prefix: "$BUILD_DIR/output"
+ make-opts: ""
+ pre-build: ""
sonar-scanner-version: 3.3.0.1492
- sonarcloud-api-token: ''
- sonarcloud-organization: ''
- sonarcloud-project-key: ''
+ sonarcloud-api-token: ""
+ sonarcloud-organization: ""
+ sonarcloud-project-key: ""
submodule-recursive: true
submodule-timeout: 10
submodule-disable: false
#####################
project-type: freestyle
- node: '{build-node}'
- disabled: '{disable-job}'
+ node: "{build-node}"
+ disabled: "{disable-job}"
properties:
- lf-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ build-days-to-keep: "{build-days-to-keep}"
parameters:
- lf-infra-parameters:
- project: '{project}'
- branch: '{branch}'
- stream: '{stream}'
- lftools-version: '{lftools-version}'
+ project: "{project}"
+ branch: "{branch}"
+ stream: "{stream}"
+ lftools-version: "{lftools-version}"
- lf-cmake-parameters:
- build-dir: '{build-dir}'
- cmake-opts: '{cmake-opts}'
- install-prefix: '{install-prefix}'
- make-opts: '{make-opts}'
+ build-dir: "{build-dir}"
+ cmake-opts: "{cmake-opts}"
+ install-prefix: "{install-prefix}"
+ make-opts: "{make-opts}"
wrappers:
- lf-infra-wrappers:
- build-timeout: '{build-timeout}'
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ build-timeout: "{build-timeout}"
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
builders:
- lf-infra-pre-build
- - shell: '{pre-build}'
+ - shell: "{pre-build}"
- inject:
# Switch this to the sonar wrapper when JJB 2.0 is available
properties-content: |
- lf-infra-publish
- job-template:
- name: '{project-name}-cmake-sonar'
+ name: "{project-name}-cmake-sonar"
id: gerrit-cmake-sonar
concurrent: false
<<: *lf_cmake_sonar
scm:
- lf-infra-gerrit-scm:
- branch: '$GERRIT_BRANCH'
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
- git-url: '{git-url}'
- refspec: '$GERRIT_REFSPEC'
- submodule-recursive: '{submodule-recursive}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ branch: "$GERRIT_BRANCH"
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
+ git-url: "{git-url}"
+ refspec: "$GERRIT_REFSPEC"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: gerrit
triggers:
- - timed: '{obj:cron}'
+ - timed: "{obj:cron}"
- gerrit:
- server-name: '{gerrit-server-name}'
+ server-name: "{gerrit-server-name}"
trigger-on:
- comment-added-contains-event:
comment-contains-value: '^Patch Set\s+\d+:\s+stage-release\s*$'
projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
+ - project-compare-type: "ANT"
+ project-pattern: "{project}"
branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
+ - branch-compare-type: "ANT"
+ branch-pattern: "**/{branch}"
- job-template:
- name: '{project-name}-cmake-sonar'
+ name: "{project-name}-cmake-sonar"
id: github-cmake-sonar
concurrent: false
<<: *lf_cmake_sonar
properties:
- lf-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ build-days-to-keep: "{build-days-to-keep}"
- github:
- url: '{github-url}/{github-org}/{project}'
+ 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}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ url: "{git-clone-url}{github-org}/{project}"
+ refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
+ branch: "$sha1"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
- - timed: '{obj:cron}'
-
+ - timed: "{obj:cron}"
###############
# CMAKE STAGE #
branch: master
build-days-to-keep: 7
- build-dir: '$WORKSPACE/target'
+ build-dir: "$WORKSPACE/target"
build-timeout: 15
- cmake-opts: ''
- cron: '@daily'
+ cmake-opts: ""
+ cron: "@daily"
disable-job: false
- git-url: '$GIT_URL/$PROJECT'
- github-url: 'https://github.com'
- install-prefix: '$BUILD_DIR/output'
- make-opts: ''
+ git-url: "$GIT_URL/$PROJECT"
+ github-url: "https://github.com"
+ install-prefix: "$BUILD_DIR/output"
+ make-opts: ""
mvn-global-settings: global-settings
- pre-build: ''
+ pre-build: ""
stream: master
submodule-recursive: true
submodule-timeout: 10
submodule-disable: false
- version: ''
+ version: ""
#####################
# Job Configuration #
#####################
project-type: freestyle
- node: '{build-node}'
- disabled: '{disable-job}'
+ node: "{build-node}"
+ disabled: "{disable-job}"
properties:
- lf-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ build-days-to-keep: "{build-days-to-keep}"
parameters:
- lf-infra-parameters:
- project: '{project}'
- branch: '{branch}'
- stream: '{stream}'
+ project: "{project}"
+ branch: "{branch}"
+ stream: "{stream}"
- lf-cmake-parameters:
- build-dir: '{build-dir}'
- cmake-opts: '{cmake-opts}'
- install-prefix: '{install-prefix}'
- make-opts: '{make-opts}'
+ build-dir: "{build-dir}"
+ cmake-opts: "{cmake-opts}"
+ install-prefix: "{install-prefix}"
+ make-opts: "{make-opts}"
- string:
name: NEXUS_GROUP_ID
- default: '{nexus-group-id}'
- description: 'Project Group ID in Nexus to upload to.'
+ default: "{nexus-group-id}"
+ description: "Project Group ID in Nexus to upload to."
- string:
name: STAGING_PROFILE_ID
- default: '{staging-profile-id}'
- description: 'Nexus staging profile ID.'
+ default: "{staging-profile-id}"
+ description: "Nexus staging profile ID."
- string:
name: VERSION
- default: '{version}'
+ default: "{version}"
description: |
- (default: '')
+ (default: '')
- Project version to stage release as. There are 2 methods for
- using this value:
+ Project version to stage release as. There are 2 methods for
+ using this value:
- 1) Defined explicitly here.
- 2) Leave this value blank and set /tmp/artifact_version
+ 1) Defined explicitly here.
+ 2) Leave this value blank and set /tmp/artifact_version
- Use method 2 in conjunction with 'pre-build' configuration to
- generate the artifact_version automatically from files in the
- project's repository. For example with pre-build script:
+ Use method 2 in conjunction with 'pre-build' configuration to
+ generate the artifact_version automatically from files in the
+ project's repository. For example with pre-build script:
- #!/bin/bash
- MAJOR_VERSION="$(grep 'set(OCIO_VERSION_MAJOR' CMakeLists.txt \
- | awk '{{print $NF}}' | awk -F')' '{{print $1}}')"
- MINOR_VERSION="$(grep 'set(OCIO_VERSION_MINOR' CMakeLists.txt \
- | awk '{{print $NF}}' | awk -F')' '{{print $1}}')"
- PATCH_VERSION="$(grep 'set(OCIO_VERSION_PATCH' CMakeLists.txt \
- | awk '{{print $NF}}' | awk -F')' '{{print $1}}')"
- echo "${{MAJOR_VERSION}}.${{MINOR_VERSION}}.${{PATCH_VERSION}}" > /tmp/artifact_version
+ #!/bin/bash
+ MAJOR_VERSION="$(grep 'set(OCIO_VERSION_MAJOR' CMakeLists.txt \
+ | awk '{{print $NF}}' | awk -F')' '{{print $1}}')"
+ MINOR_VERSION="$(grep 'set(OCIO_VERSION_MINOR' CMakeLists.txt \
+ | awk '{{print $NF}}' | awk -F')' '{{print $1}}')"
+ PATCH_VERSION="$(grep 'set(OCIO_VERSION_PATCH' CMakeLists.txt \
+ | awk '{{print $NF}}' | awk -F')' '{{print $1}}')"
+ echo "${{MAJOR_VERSION}}.${{MINOR_VERSION}}.${{PATCH_VERSION}}" > /tmp/artifact_version
wrappers:
- lf-infra-wrappers:
- build-timeout: '{build-timeout}'
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ build-timeout: "{build-timeout}"
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
builders:
- lf-infra-pre-build
- lf-provide-maven-settings:
- global-settings-file: '{mvn-global-settings}'
- settings-file: '{mvn-settings}'
+ global-settings-file: "{mvn-global-settings}"
+ settings-file: "{mvn-settings}"
- lf-infra-create-netrc:
server-id: staging
- - shell: '{pre-build}'
+ - shell: "{pre-build}"
- shell: !include-raw-escape: ../shell/cmake-build.sh
- shell: !include-raw-escape: ../shell/cmake-stage.sh
- lf-provide-maven-settings-cleanup
- lf-infra-publish
- job-template:
- name: '{project-name}-cmake-stage-{stream}'
+ name: "{project-name}-cmake-stage-{stream}"
id: gerrit-cmake-stage
concurrent: true
<<: *lf_cmake_stage
scm:
- lf-infra-gerrit-scm:
- branch: '$GERRIT_BRANCH'
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
- git-url: '{git-url}'
- refspec: '$GERRIT_REFSPEC'
- submodule-recursive: '{submodule-recursive}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ branch: "$GERRIT_BRANCH"
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
+ git-url: "{git-url}"
+ refspec: "$GERRIT_REFSPEC"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: gerrit
triggers:
- - timed: '{obj:cron}'
+ - timed: "{obj:cron}"
- gerrit:
- server-name: '{gerrit-server-name}'
+ server-name: "{gerrit-server-name}"
trigger-on:
- comment-added-contains-event:
comment-contains-value: '^Patch Set\s+\d+:\s+stage-release\s*$'
projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
+ - project-compare-type: "ANT"
+ project-pattern: "{project}"
branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
+ - branch-compare-type: "ANT"
+ branch-pattern: "**/{branch}"
- job-template:
- name: '{project-name}-cmake-stage-{stream}'
+ name: "{project-name}-cmake-stage-{stream}"
id: github-cmake-stage
concurrent: true
<<: *lf_cmake_stage
properties:
- lf-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ build-days-to-keep: "{build-days-to-keep}"
- github:
- url: '{github-url}/{github-org}/{project}'
+ 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}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ url: "{git-clone-url}{github-org}/{project}"
+ refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
+ branch: "$sha1"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
- - timed: '{obj:cron}'
+ - timed: "{obj:cron}"
- github-pull-request:
- trigger-phrase: '^(stage-release)$'
+ trigger-phrase: "^(stage-release)$"
only-trigger-phrase: true
- status-context: 'CMake Stage'
+ status-context: "CMake Stage"
permit-all: true
github-hooks: true
white-list-target-branches:
- - '{branch}'
-
+ - "{branch}"
################
# CMAKE VERIFY #
branch: master
build-days-to-keep: 7
- build-dir: '$WORKSPACE/target'
+ build-dir: "$WORKSPACE/target"
build-timeout: 15
- cmake-opts: ''
+ cmake-opts: ""
disable-job: false
- git-url: '$GIT_URL/$PROJECT'
- github-url: 'https://github.com'
- install-prefix: '$BUILD_DIR/output'
- make-opts: ''
- pre-build: ''
+ git-url: "$GIT_URL/$PROJECT"
+ github-url: "https://github.com"
+ install-prefix: "$BUILD_DIR/output"
+ make-opts: ""
+ pre-build: ""
stream: master
submodule-recursive: true
submodule-timeout: 10
gerrit_trigger_file_paths:
- compare-type: REG_EXP
- pattern: '.*'
+ pattern: ".*"
# github_included_regions MUST match gerrit_trigger_file_paths
github_included_regions:
- - '.*'
+ - ".*"
#####################
# Job Configuration #
#####################
project-type: freestyle
- node: '{build-node}'
- disabled: '{disable-job}'
+ node: "{build-node}"
+ disabled: "{disable-job}"
properties:
- lf-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ build-days-to-keep: "{build-days-to-keep}"
parameters:
- lf-infra-parameters:
- project: '{project}'
- branch: '{branch}'
- stream: '{stream}'
+ project: "{project}"
+ branch: "{branch}"
+ stream: "{stream}"
- lf-cmake-parameters:
- build-dir: '{build-dir}'
- cmake-opts: '{cmake-opts}'
- install-prefix: '{install-prefix}'
- make-opts: '{make-opts}'
+ build-dir: "{build-dir}"
+ cmake-opts: "{cmake-opts}"
+ install-prefix: "{install-prefix}"
+ make-opts: "{make-opts}"
wrappers:
- lf-infra-wrappers:
- build-timeout: '{build-timeout}'
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ build-timeout: "{build-timeout}"
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
builders:
- - shell: '{pre-build}'
+ - shell: "{pre-build}"
- shell: !include-raw-escape: ../shell/cmake-build.sh
publishers:
- lf-infra-publish
- job-template:
- name: '{project-name}-cmake-verify-{stream}'
+ name: "{project-name}-cmake-verify-{stream}"
id: gerrit-cmake-verify
concurrent: true
<<: *lf_cmake_verify
scm:
- lf-infra-gerrit-scm:
- branch: '$GERRIT_BRANCH'
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
- git-url: '{git-url}'
- refspec: '$GERRIT_REFSPEC'
- submodule-recursive: '{submodule-recursive}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ branch: "$GERRIT_BRANCH"
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
+ git-url: "{git-url}"
+ refspec: "$GERRIT_REFSPEC"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: gerrit
triggers:
- gerrit:
- server-name: '{gerrit-server-name}'
- trigger-on: '{obj:gerrit_verify_triggers}'
+ server-name: "{gerrit-server-name}"
+ trigger-on: "{obj:gerrit_verify_triggers}"
projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
+ - project-compare-type: "ANT"
+ project-pattern: "{project}"
branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths: '{obj:gerrit_trigger_file_paths}'
+ - branch-compare-type: "ANT"
+ branch-pattern: "**/{branch}"
+ file-paths: "{obj:gerrit_trigger_file_paths}"
- job-template:
- name: '{project-name}-cmake-verify-{stream}'
+ name: "{project-name}-cmake-verify-{stream}"
id: github-cmake-verify
concurrent: true
<<: *lf_cmake_verify
properties:
- lf-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ build-days-to-keep: "{build-days-to-keep}"
- github:
- url: '{github-url}/{github-org}/{project}'
+ 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}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ url: "{git-clone-url}{github-org}/{project}"
+ refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
+ branch: "$sha1"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
- github-pull-request:
- trigger-phrase: '^(recheck|reverify)$'
+ trigger-phrase: "^(recheck|reverify)$"
only-trigger-phrase: false
- status-context: 'CMake Verify'
+ status-context: "CMake Verify"
permit-all: true
github-hooks: true
- included-regions: '{obj:github_included_regions}'
+ included-regions: "{obj:github_included_regions}"
white-list-target-branches:
- - '{branch}'
+ - "{branch}"
---
- job-group:
- name: '{project-name}-ci-jobs'
+ name: "{project-name}-ci-jobs"
jobs:
- gerrit-jenkins-cfg-merge
- gerrit-jjb-verify
- job-group:
- name: '{project-name}-github-ci-jobs'
+ name: "{project-name}-github-ci-jobs"
jobs:
- github-jenkins-cfg-merge
- github-jjb-verify
- job-group:
- name: '{project-name}-info-yaml-jobs'
+ name: "{project-name}-info-yaml-jobs"
jobs:
- gerrit-info-yaml-verify
- job-group:
- name: '{project-name}-github-info-yaml-jobs'
+ name: "{project-name}-github-info-yaml-jobs"
jobs:
- github-info-yaml-verify
- job-group:
- name: '{project-name}-packer-jobs'
+ name: "{project-name}-packer-jobs"
jobs:
- gerrit-packer-merge
- gerrit-packer-verify
- job-group:
- name: '{project-name}-github-packer-jobs'
+ name: "{project-name}-github-packer-jobs"
jobs:
- github-packer-merge
---
-
####################
# COMMON FUNCTIONS #
####################
- config-file-provider:
files:
- file-id: jjbini
- target: '$HOME/.config/jenkins_jobs/jenkins_jobs.ini'
+ target: "$HOME/.config/jenkins_jobs/jenkins_jobs.ini"
- builder:
name: lf-infra-jjbini-sandbox
- config-file-provider:
files:
- file-id: jjbini-sandbox
- target: '$HOME/.config/jenkins_jobs/jenkins_jobs.ini'
+ target: "$HOME/.config/jenkins_jobs/jenkins_jobs.ini"
- lf_packer: &lf_packer_common
name: lf-packer-common
branch: master
build-timeout: 90
- cron: '@monthly'
+ cron: "@monthly"
disable-job: false
- github-url: 'https://github.com'
+ github-url: "https://github.com"
stream: master
submodule-recursive: true
submodule-timeout: 10
#####################
project-type: freestyle
- node: '{build-node}'
- disabled: '{disable-job}'
+ node: "{build-node}"
+ disabled: "{disable-job}"
properties:
- lf-infra-properties:
- project: '{project}'
+ project: "{project}"
build-days-to-keep: 7
parameters:
- lf-infra-parameters:
- project: '{project}'
- stream: '{stream}'
- branch: '{branch}'
+ project: "{project}"
+ stream: "{stream}"
+ branch: "{branch}"
- lf-packer-parameters:
- packer-version: '{packer-version}'
+ packer-version: "{packer-version}"
wrappers:
- lf-infra-wrappers:
- build-timeout: '{build-timeout}'
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ build-timeout: "{build-timeout}"
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
publishers:
- lf-infra-publish
parameters:
- string:
name: JJB_VERSION
- default: '{jjb-version}'
+ default: "{jjb-version}"
description: Jenkins Job Builder version to download and install.
- string:
name: XDG_CACHE_HOME
- default: '{jjb-cache}'
+ default: "{jjb-cache}"
description: Jenkins Job Builder cache location.
- parameter:
parameters:
- string:
name: PACKER_VERSION
- default: '{packer-version}'
+ default: "{packer-version}"
description: Packer version to download and install.
- parameter:
parameters:
- string:
name: PUPPET_LINT_VERSION
- default: '{puppet-lint-version}'
+ default: "{puppet-lint-version}"
description: Puppet-lint version to download and install.
- lf_jjb_common: &lf_jjb_common
branch: master
build-timeout: 10
disable-job: false
- github-url: 'https://github.com'
- jjb-cache: '$HOME/.cache/jenkins_jobs'
+ github-url: "https://github.com"
+ jjb-cache: "$HOME/.cache/jenkins_jobs"
jjb-version: 2.8.0
stream: master
submodule-recursive: true
throttle-enabled: false
throttle-max-per-node: 1
throttle-max-total: 0
- throttle-option: 'project'
+ throttle-option: "project"
gerrit_trigger_file_paths:
- compare-type: REG_EXP
- pattern: 'jjb/.*'
+ pattern: "jjb/.*"
- compare-type: REG_EXP
- pattern: 'global-jjb'
+ pattern: "global-jjb"
- compare-type: REG_EXP
- pattern: 'shell/.*'
+ pattern: "shell/.*"
# github_included_regions MUST match gerrit_trigger_file_paths
github_included_regions:
- - 'jjb/.*'
- - 'global-jjb'
- - 'shell/.*'
+ - "jjb/.*"
+ - "global-jjb"
+ - "shell/.*"
#####################
# Job Configuration #
#####################
project-type: freestyle
- node: '{build-node}'
- disabled: '{disable-job}'
+ node: "{build-node}"
+ disabled: "{disable-job}"
properties:
- lf-infra-properties:
- project: '{project}'
+ project: "{project}"
build-days-to-keep: 7
- throttle:
- categories: '{obj:throttle_categories}'
- enabled: '{throttle-enabled}'
- max-per-node: '{throttle-max-per-node}'
- max-total: '{throttle-max-total}'
- option: '{throttle-option}'
+ categories: "{obj:throttle_categories}"
+ enabled: "{throttle-enabled}"
+ max-per-node: "{throttle-max-per-node}"
+ max-total: "{throttle-max-total}"
+ option: "{throttle-option}"
parameters:
- lf-infra-parameters:
- project: '{project}'
- stream: '{stream}'
- branch: '{branch}'
+ project: "{project}"
+ stream: "{stream}"
+ branch: "{branch}"
- lf-infra-jjb-parameters:
- jjb-cache: '{jjb-cache}'
- jjb-version: '{jjb-version}'
+ jjb-cache: "{jjb-cache}"
+ jjb-version: "{jjb-version}"
wrappers:
- lf-infra-wrappers:
- build-timeout: '{build-timeout}'
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ build-timeout: "{build-timeout}"
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
publishers:
- lf-infra-publish
######################
- job-template:
- name: '{project-name}-gerrit-branch-lock-{stream}'
+ name: "{project-name}-gerrit-branch-lock-{stream}"
id: gerrit-branch-lock
######################
branch: master
disable-job: false
- git-url: '$GIT_URL/$GERRIT_PROJECT'
+ git-url: "$GIT_URL/$GERRIT_PROJECT"
stream: master
submodule-timeout: 10
submodule-disable: false
#####################
project-type: freestyle
- node: '{build-node}'
- disabled: '{disable-job}'
+ node: "{build-node}"
+ disabled: "{disable-job}"
properties:
- lf-infra-properties:
- project: '{project}'
+ project: "{project}"
build-days-to-keep: 1
parameters:
- lf-infra-parameters:
- project: '{project}'
- stream: '{stream}'
- branch: '{branch}'
+ project: "{project}"
+ stream: "{stream}"
+ branch: "{branch}"
wrappers:
- lf-infra-wrappers:
build-timeout: 5
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
scm:
- lf-infra-gerrit-scm:
- git-url: '{git-url}'
- refspec: ''
- branch: '{branch}'
+ git-url: "{git-url}"
+ refspec: ""
+ branch: "{branch}"
submodule-recursive: false
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
- gerrit:
- server-name: '{gerrit-server-name}'
- trigger-on: '{obj:gerrit_merge_triggers}'
+ server-name: "{gerrit-server-name}"
+ trigger-on: "{obj:gerrit_merge_triggers}"
projects:
- project-compare-type: ANT
- project-pattern: '{project}'
+ project-pattern: "{project}"
branches:
- branch-compare-type: ANT
- branch-pattern: '**/{branch}'
+ branch-pattern: "**/{branch}"
builders:
- shell: !include-raw-escape: ../shell/gerrit-branch-lock.sh
-
publishers:
- lf-infra-publish
builders:
- lf-infra-jjbini
- inject:
- properties-content: 'jenkins_silos={jenkins-silos}'
+ properties-content: "jenkins_silos={jenkins-silos}"
- shell: !include-raw-escape: ../shell/jenkins-configure-clouds.sh
- shell: rm -f "$HOME/.config/jenkins_jobs/jenkins_jobs.ini"
builders:
- lf-infra-jjbini
- inject:
- properties-content: 'jenkins_silos={jenkins-silos}'
+ properties-content: "jenkins_silos={jenkins-silos}"
- shell: !include-raw-escape: ../shell/jenkins-configure-global-vars.sh
- shell: rm -f "$HOME/.config/jenkins_jobs/jenkins_jobs.ini"
######################
branch: master
- cron: '@daily'
+ cron: "@daily"
disable-job: false
- git-url: '$GIT_URL/$GERRIT_PROJECT'
- github-url: 'https://github.com'
+ git-url: "$GIT_URL/$GERRIT_PROJECT"
+ github-url: "https://github.com"
jenkins-silos: production sandbox
submodule-timeout: 10
submodule-disable: false
#####################
project-type: freestyle
- node: '{build-node}'
+ node: "{build-node}"
concurrent: false
- disabled: '{disable-job}'
+ disabled: "{disable-job}"
properties:
- lf-infra-properties:
- project: '{project}'
+ project: "{project}"
build-days-to-keep: 1
parameters:
- lf-infra-parameters:
- project: '{project}'
- stream: ''
+ project: "{project}"
+ stream: ""
branch: master
wrappers:
- lf-infra-wrappers:
build-timeout: 10
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
builders:
- lf-infra-pre-build
- lf-jenkins-cfg-global-vars:
- jenkins-silos: '{jenkins-silos}'
+ jenkins-silos: "{jenkins-silos}"
- lf-jenkins-cfg-clouds:
- jenkins-silos: '{jenkins-silos}'
+ jenkins-silos: "{jenkins-silos}"
publishers:
- lf-infra-publish
- job-template:
- name: '{project-name}-jenkins-cfg-merge'
+ name: "{project-name}-jenkins-cfg-merge"
id: gerrit-jenkins-cfg-merge
<<: *lf_jenkins_cfg_merge
scm:
- lf-infra-gerrit-scm:
- git-url: '{git-url}'
- refspec: 'refs/heads/{branch}'
- branch: '{branch}'
+ git-url: "{git-url}"
+ refspec: "refs/heads/{branch}"
+ branch: "{branch}"
submodule-recursive: true
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
- - timed: '{obj:cron}'
+ - timed: "{obj:cron}"
- gerrit:
- server-name: '{gerrit-server-name}'
- trigger-on: '{obj:gerrit_merge_triggers}'
+ server-name: "{gerrit-server-name}"
+ trigger-on: "{obj:gerrit_merge_triggers}"
projects:
- project-compare-type: ANT
- project-pattern: '{project}'
+ project-pattern: "{project}"
branches:
- branch-compare-type: ANT
- branch-pattern: '**/{branch}'
- file-paths: '{obj:gerrit_trigger_file_paths}'
+ branch-pattern: "**/{branch}"
+ file-paths: "{obj:gerrit_trigger_file_paths}"
- job-template:
- name: '{project-name}-jenkins-cfg-merge'
+ name: "{project-name}-jenkins-cfg-merge"
id: github-jenkins-cfg-merge
<<: *lf_jenkins_cfg_merge
properties:
- lf-infra-properties:
- project: '{project}'
+ project: "{project}"
build-days-to-keep: 1
- github:
- url: '{github-url}/{github-org}/{project}'
+ url: "{github-url}/{github-org}/{project}"
scm:
- lf-infra-github-scm:
- url: '{git-clone-url}{github-org}/{project}'
- refspec: ''
- branch: 'refs/heads/{branch}'
+ url: "{git-clone-url}{github-org}/{project}"
+ refspec: ""
+ branch: "refs/heads/{branch}"
submodule-recursive: true
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
- - timed: '{obj:cron}'
+ - timed: "{obj:cron}"
- github
- pollscm:
- cron: ''
+ cron: ""
- github-pull-request:
- trigger-phrase: '^remerge$'
+ trigger-phrase: "^remerge$"
only-trigger-phrase: true
- status-context: 'Jenkins CFG Merge'
+ status-context: "Jenkins CFG Merge"
permit-all: true
github-hooks: true
org-list:
- - '{github-org}'
- white-list: '{obj:github_pr_whitelist}'
- admin-list: '{obj:github_pr_admin_list}'
- included-regions: '{obj:github_included_regions}'
+ - "{github-org}"
+ white-list: "{obj:github_pr_whitelist}"
+ admin-list: "{obj:github_pr_admin_list}"
+ included-regions: "{obj:github_included_regions}"
white-list-target-branches:
- - '{branch}'
+ - "{branch}"
###########################################
# Jenkins Configuration Management Verify #
branch: master
build-days-to-keep: 7
disable-job: false
- git-url: '$GIT_URL/$GERRIT_PROJECT'
- github-url: 'https://github.com'
+ git-url: "$GIT_URL/$GERRIT_PROJECT"
+ github-url: "https://github.com"
openstack-cloud: vex
submodule-timeout: 10
submodule-disable: false
#####################
project-type: freestyle
- node: '{build-node}'
+ node: "{build-node}"
concurrent: true
- disabled: '{disable-job}'
+ disabled: "{disable-job}"
properties:
- lf-infra-properties:
- project: '{project}'
+ project: "{project}"
build-days-to-keep: 1
parameters:
- lf-infra-parameters:
- project: '{project}'
- stream: ''
+ project: "{project}"
+ stream: ""
branch: master
wrappers:
- lf-infra-wrappers:
build-timeout: 10
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
- config-file-provider:
# Listed after to override openstack-infra-wrappers clouds.yaml
# definition
files:
- file-id: clouds-yaml
- target: '$HOME/.config/openstack/clouds.yaml'
+ target: "$HOME/.config/openstack/clouds.yaml"
- file-id: npmrc
- target: '$HOME/.npmrc'
+ target: "$HOME/.npmrc"
- file-id: pipconf
- target: '$HOME/.config/pip/pip.conf'
+ target: "$HOME/.config/pip/pip.conf"
builders:
- lf-infra-pre-build
- lf-infra-publish
- job-template:
- name: '{project-name}-jenkins-cfg-verify'
+ name: "{project-name}-jenkins-cfg-verify"
id: gerrit-jenkins-cfg-verify
<<: *lf_jenkins_cfg_verify
scm:
- lf-infra-gerrit-scm:
- git-url: '{git-url}'
- refspec: '$GERRIT_REFSPEC'
- branch: '$GERRIT_BRANCH'
+ git-url: "{git-url}"
+ refspec: "$GERRIT_REFSPEC"
+ branch: "$GERRIT_BRANCH"
submodule-recursive: true
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: gerrit
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
- gerrit:
- server-name: '{gerrit-server-name}'
- trigger-on: '{obj:gerrit_verify_triggers}'
+ server-name: "{gerrit-server-name}"
+ trigger-on: "{obj:gerrit_verify_triggers}"
projects:
- project-compare-type: ANT
- project-pattern: '{project}'
+ project-pattern: "{project}"
branches:
- branch-compare-type: ANT
- branch-pattern: '**/{branch}'
- file-paths: '{obj:gerrit_trigger_file_paths}'
+ branch-pattern: "**/{branch}"
+ file-paths: "{obj:gerrit_trigger_file_paths}"
- job-template:
- name: '{project-name}-jenkins-cfg-verify'
+ name: "{project-name}-jenkins-cfg-verify"
id: github-jenkins-cfg-verify
<<: *lf_jenkins_cfg_verify
properties:
- github:
- url: '{github-url}/{github-org}/{project}'
+ 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'
+ url: "{git-clone-url}{github-org}/{project}"
+ refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
+ branch: "$sha1"
submodule-recursive: true
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
- github-pull-request:
- trigger-phrase: '^(recheck|reverify)$'
+ trigger-phrase: "^(recheck|reverify)$"
only-trigger-phrase: false
- status-context: 'Jenkins CFG Verify'
+ status-context: "Jenkins CFG Verify"
permit-all: true
github-hooks: true
- included-regions: '{obj:github_included_regions}'
+ included-regions: "{obj:github_included_regions}"
white-list-target-branches:
- - '{branch}'
+ - "{branch}"
###########################
# JENKINS SANDBOX CLEANUP #
build-timeout: 30
# Run every Saturday at 08:00 UTC
- cron: '0 8 * * 6'
+ cron: "0 8 * * 6"
disable-job: false
#####################
#####################
project-type: freestyle
- node: '{build-node}'
+ node: "{build-node}"
concurrent: true
- disabled: '{disable-job}'
+ disabled: "{disable-job}"
parameters:
- lf-infra-jjb-parameters:
- jjb-cache: '{jjb-cache}'
- jjb-version: '{jjb-version}'
+ jjb-cache: "{jjb-cache}"
+ jjb-version: "{jjb-version}"
triggers:
- - timed: '{obj:cron}'
+ - timed: "{obj:cron}"
builders:
- lf-infra-jjbini
- ../shell/jjb-cleanup.sh
- job-template:
- name: '{project-name}-jenkins-sandbox-cleanup'
+ name: "{project-name}-jenkins-sandbox-cleanup"
id: gerrit-jenkins-sandbox-cleanup
<<: *lf_jjb_common
# yamllint disable-line rule:key-duplicates
<<: *lf_jenkins_sandbox_cleanup
- job-template:
- name: '{project-name}-jenkins-sandbox-cleanup'
+ name: "{project-name}-jenkins-sandbox-cleanup"
id: github-jenkins-sandbox-cleanup
<<: *lf_jjb_common
# yamllint disable-line rule:key-duplicates
<<: *lf_jenkins_sandbox_cleanup
-
##################
# JJB DEPLOY JOB #
##################
disable-job: false
# jjb-deploy should always clone $PROJECT regardless of what
# $GERRIT_PROJECT triggered the job.
- git-url: '$GIT_URL/$PROJECT'
- github-url: 'https://github.com'
+ git-url: "$GIT_URL/$PROJECT"
+ github-url: "https://github.com"
stream: master
submodule-timeout: 10
submodule-disable: false
#####################
project-type: freestyle
- node: '{build-node}'
+ node: "{build-node}"
concurrent: true
- disabled: '{disable-job}'
+ disabled: "{disable-job}"
properties:
- lf-infra-properties:
- project: '{project}'
+ project: "{project}"
build-days-to-keep: 1
parameters:
- lf-infra-parameters:
- project: '{project}'
- stream: '{stream}'
- branch: '{branch}'
+ project: "{project}"
+ stream: "{stream}"
+ branch: "{branch}"
wrappers:
- lf-infra-wrappers:
build-timeout: 5
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
builders:
- lf-pip-install:
- lf-infra-publish
- job-template:
- name: '{project-name}-jjb-deploy-job'
+ name: "{project-name}-jjb-deploy-job"
id: gerrit-jjb-deploy-job
<<: *lf_jjb_deploy_job
scm:
- lf-infra-gerrit-scm:
- git-url: '{git-url}'
- refspec: 'refs/heads/{branch}'
- branch: '{branch}'
+ git-url: "{git-url}"
+ refspec: "refs/heads/{branch}"
+ branch: "{branch}"
submodule-recursive: true
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
- gerrit:
- server-name: '{gerrit-server-name}'
- trigger-on: '{obj:gerrit_jjb_deploy_job_triggers}'
+ server-name: "{gerrit-server-name}"
+ trigger-on: "{obj:gerrit_jjb_deploy_job_triggers}"
projects:
- project-compare-type: ANT
- project-pattern: '**'
+ project-pattern: "**"
branches:
- branch-compare-type: ANT
- branch-pattern: '**'
+ branch-pattern: "**"
skip-vote:
success: true
failed: true
notbuilt: true
- job-template:
- name: '{project-name}-jjb-deploy-job'
+ name: "{project-name}-jjb-deploy-job"
id: github-jjb-deploy-job
<<: *lf_jjb_deploy_job
properties:
- lf-infra-properties:
- project: '{project}'
+ project: "{project}"
build-days-to-keep: 1
- github:
- url: '{github-url}/{github-org}/{project}'
+ 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'
+ url: "{git-clone-url}{github-org}/{project}"
+ refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
+ branch: "$sha1"
submodule-recursive: true
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
- github-pull-request:
trigger-phrase: '^jjb-deploy (?!\*+$).+$'
only-trigger-phrase: true
- status-context: 'JJB Deploy Job'
+ status-context: "JJB Deploy Job"
permit-all: true
github-hooks: true
white-list-target-branches:
- - '{branch}'
+ - "{branch}"
#############
# JJB Merge #
- ../shell/jjb-cleanup.sh
- job-template:
- name: '{project-name}-jjb-merge'
+ name: "{project-name}-jjb-merge"
id: gerrit-jjb-merge
<<: *lf_jjb_common
# yamllint disable-line rule:key-duplicates
<<: *lf_jjb_merge
- git-url: '$GIT_URL/$GERRIT_PROJECT'
+ git-url: "$GIT_URL/$GERRIT_PROJECT"
scm:
- lf-infra-gerrit-scm:
- git-url: '{git-url}'
- refspec: ''
- branch: '{branch}'
- submodule-recursive: '{submodule-recursive}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ git-url: "{git-url}"
+ refspec: ""
+ branch: "{branch}"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
- gerrit:
- server-name: '{gerrit-server-name}'
- trigger-on: '{obj:gerrit_merge_triggers}'
+ server-name: "{gerrit-server-name}"
+ trigger-on: "{obj:gerrit_merge_triggers}"
projects:
- project-compare-type: ANT
- project-pattern: '{project}'
+ project-pattern: "{project}"
branches:
- branch-compare-type: ANT
- branch-pattern: '**/{branch}'
- file-paths: '{obj:gerrit_trigger_file_paths}'
+ branch-pattern: "**/{branch}"
+ file-paths: "{obj:gerrit_trigger_file_paths}"
- job-template:
- name: '{project-name}-jjb-merge'
+ name: "{project-name}-jjb-merge"
id: github-jjb-merge
<<: *lf_jjb_common
# yamllint disable-line rule:key-duplicates
properties:
- lf-infra-properties:
- project: '{project}'
+ project: "{project}"
build-days-to-keep: 7
- github:
- url: '{github-url}/{github-org}/{project}'
+ 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}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ url: "{git-clone-url}{github-org}/{project}"
+ refspec: ""
+ branch: "refs/heads/{branch}"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
- github
- pollscm:
- cron: ''
+ cron: ""
- github-pull-request:
- trigger-phrase: '^remerge$'
+ trigger-phrase: "^remerge$"
only-trigger-phrase: true
- status-context: 'JJB Merge'
+ status-context: "JJB Merge"
permit-all: true
github-hooks: true
org-list:
- - '{github-org}'
- white-list: '{obj:github_pr_whitelist}'
- admin-list: '{obj:github_pr_admin_list}'
- included-regions: '{obj:github_included_regions}'
+ - "{github-org}"
+ white-list: "{obj:github_pr_whitelist}"
+ admin-list: "{obj:github_pr_admin_list}"
+ included-regions: "{obj:github_included_regions}"
white-list-target-branches:
- - '{branch}'
+ - "{branch}"
##############
# JJB Verify #
# Job Configuration #
#####################
- concurrent: '{build-concurrent}'
+ concurrent: "{build-concurrent}"
builders:
- lf-infra-pre-build
- lf-infra-gpg-verify-git-signature
- job-template:
- name: '{project-name}-jjb-verify'
+ name: "{project-name}-jjb-verify"
id: gerrit-jjb-verify
<<: *lf_jjb_common
# yamllint disable-line rule:key-duplicates
# Default parameters #
######################
- git-url: '$GIT_URL/$GERRIT_PROJECT'
+ git-url: "$GIT_URL/$GERRIT_PROJECT"
#####################
# Job Configuration #
scm:
- lf-infra-gerrit-scm:
- git-url: '{git-url}'
- refspec: '$GERRIT_REFSPEC'
- branch: '$GERRIT_BRANCH'
- submodule-recursive: '{submodule-recursive}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ git-url: "{git-url}"
+ refspec: "$GERRIT_REFSPEC"
+ branch: "$GERRIT_BRANCH"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: gerrit
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
- gerrit:
- server-name: '{gerrit-server-name}'
- trigger-on: '{obj:gerrit_verify_triggers}'
+ server-name: "{gerrit-server-name}"
+ trigger-on: "{obj:gerrit_verify_triggers}"
projects:
- project-compare-type: ANT
- project-pattern: '{project}'
+ project-pattern: "{project}"
branches:
- branch-compare-type: ANT
- branch-pattern: '**/{branch}'
- file-paths: '{obj:gerrit_trigger_file_paths}'
+ branch-pattern: "**/{branch}"
+ file-paths: "{obj:gerrit_trigger_file_paths}"
- job-template:
- name: '{project-name}-jjb-verify'
+ name: "{project-name}-jjb-verify"
id: github-jjb-verify
<<: *lf_jjb_common
# yamllint disable-line rule:key-duplicates
properties:
- lf-infra-properties:
- project: '{project}'
+ project: "{project}"
build-days-to-keep: 7
- github:
- url: '{github-url}/{github-org}/{project}'
+ 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}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ url: "{git-clone-url}{github-org}/{project}"
+ refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
+ branch: "$sha1"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
- github-pull-request:
- trigger-phrase: '^(recheck|reverify)$'
+ trigger-phrase: "^(recheck|reverify)$"
only-trigger-phrase: false
- status-context: 'JJB Verify'
+ status-context: "JJB Verify"
permit-all: true
github-hooks: true
- included-regions: '{obj:github_included_regions}'
+ included-regions: "{obj:github_included_regions}"
white-list-target-branches:
- - '{branch}'
+ - "{branch}"
############################
# JJB Verify Upstream GJJB #
- lf-infra-gpg-verify-git-signature
- job-template:
- name: '{project-name}-jjb-verify-upstream-gjjb'
+ name: "{project-name}-jjb-verify-upstream-gjjb"
id: gerrit-jjb-verify-upstream-gjjb
<<: *lf_jjb_common
# yamllint disable-line rule:key-duplicates
# Default parameters #
######################
- git-url: '$GIT_URL/$PROJECT'
+ git-url: "$GIT_URL/$PROJECT"
submodule-timeout: 10
submodule-disable: false
scm:
- lf-infra-gerrit-scm:
- git-url: '{git-url}'
- refspec: ''
- branch: 'master'
+ git-url: "{git-url}"
+ refspec: ""
+ branch: "master"
submodule-recursive: true
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
- gerrit:
- server-name: 'LinuxFoundation'
+ server-name: "LinuxFoundation"
trigger-on:
- patchset-created-event:
exclude-drafts: true
comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
projects:
- project-compare-type: ANT
- project-pattern: 'releng/global-jjb'
+ project-pattern: "releng/global-jjb"
branches:
- branch-compare-type: ANT
- branch-pattern: '**/master'
+ branch-pattern: "**/master"
override-votes: true
gerrit-build-failed-codereview-value: -1
gerrit-build-failed-verified-value: 0
build-timeout: 15
disable-job: false
file-patterns: >
- *.go
- *.groovy
- *.java
- *.py
- *.sh
- git-url: '$GIT_URL/$PROJECT'
- github-url: 'https://github.com'
+ *.go
+ *.groovy
+ *.java
+ *.py
+ *.sh
+ git-url: "$GIT_URL/$PROJECT"
+ github-url: "https://github.com"
lhc-version: 0.2.0
- license-exclude-paths: ''
+ license-exclude-paths: ""
licenses-allowed: Apache-2.0,EPL-1.0,MIT
- project-pattern: '**'
+ project-pattern: "**"
spdx-disable: false
stream: master
submodule-timeout: 10
#####################
project-type: freestyle
- node: '{build-node}'
+ node: "{build-node}"
concurrent: true
- disabled: '{disable-job}'
+ disabled: "{disable-job}"
properties:
- lf-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ build-days-to-keep: "{build-days-to-keep}"
parameters:
- lf-infra-parameters:
- project: '{project}'
- branch: '{branch}'
- stream: '{stream}'
+ project: "{project}"
+ branch: "{branch}"
+ stream: "{stream}"
wrappers:
- lf-infra-wrappers:
- build-timeout: '{build-timeout}'
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ build-timeout: "{build-timeout}"
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
builders:
- lf-license-check:
- file-patterns: '{file-patterns}'
- spdx-disable: '{spdx-disable}'
- lhc-version: '{lhc-version}'
- license-exclude-paths: '{license-exclude-paths}'
- licenses-allowed: '{licenses-allowed}'
+ file-patterns: "{file-patterns}"
+ spdx-disable: "{spdx-disable}"
+ lhc-version: "{lhc-version}"
+ license-exclude-paths: "{license-exclude-paths}"
+ licenses-allowed: "{licenses-allowed}"
publishers:
- lf-infra-publish
- job-template:
- name: '{project-name}-license-check'
+ name: "{project-name}-license-check"
id: gerrit-license-check
<<: *lf_license_check
- git-url: '$GIT_URL/$GERRIT_PROJECT'
+ git-url: "$GIT_URL/$GERRIT_PROJECT"
scm:
- lf-infra-gerrit-scm:
- git-url: '{git-url}'
- refspec: '$GERRIT_REFSPEC'
- branch: '$GERRIT_BRANCH'
+ git-url: "{git-url}"
+ refspec: "$GERRIT_REFSPEC"
+ branch: "$GERRIT_BRANCH"
# Submodules are out of the project's control
submodule-recursive: false
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: gerrit
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
- gerrit:
- server-name: '{gerrit-server-name}'
+ server-name: "{gerrit-server-name}"
# Trigger should not be overridable as we want to always run
trigger-on:
- patchset-created-event:
comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
projects:
- project-compare-type: ANT
- project-pattern: '{project-pattern}'
+ project-pattern: "{project-pattern}"
branches:
- branch-compare-type: ANT
- branch-pattern: '**'
+ branch-pattern: "**"
- job-template:
- name: '{project-name}-license-check'
+ name: "{project-name}-license-check"
id: github-license-check
<<: *lf_license_check
properties:
- lf-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ build-days-to-keep: "{build-days-to-keep}"
- github:
- url: '{github-url}/{github-org}/{project}'
+ 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'
+ url: "{git-clone-url}{github-org}/{project}"
+ refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
+ branch: "$sha1"
# Submodules are out of the project's control
submodule-recursive: false
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
- github-pull-request:
- trigger-phrase: '^recheck$'
+ trigger-phrase: "^recheck$"
only-trigger-phrase: false
- status-context: 'License Check'
+ status-context: "License Check"
permit-all: true
github-hooks: true
white-list-target-branches:
- - '{branch}'
+ - "{branch}"
####################
# Info YAML Verify #
- ../shell/info-file-validate.sh
- job-template:
- name: '{project-name}-info-yaml-verify'
+ name: "{project-name}-info-yaml-verify"
id: gerrit-info-yaml-verify
<<: *lf_jjb_common
# yamllint disable-line rule:key-duplicates
<<: *lf_info_yaml_verify
- git-url: '$GIT_URL/$GERRIT_PROJECT'
+ git-url: "$GIT_URL/$GERRIT_PROJECT"
scm:
- lf-infra-gerrit-scm:
- git-url: '{git-url}'
- refspec: '$GERRIT_REFSPEC'
- branch: '$GERRIT_BRANCH'
- submodule-recursive: '{submodule-recursive}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ git-url: "{git-url}"
+ refspec: "$GERRIT_REFSPEC"
+ branch: "$GERRIT_BRANCH"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: gerrit
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
- gerrit:
- server-name: '{gerrit-server-name}'
- trigger-on: '{obj:gerrit_verify_triggers}'
+ server-name: "{gerrit-server-name}"
+ trigger-on: "{obj:gerrit_verify_triggers}"
projects:
- project-compare-type: ANT
- project-pattern: '{project}'
+ project-pattern: "{project}"
branches:
- branch-compare-type: ANT
- branch-pattern: '**/{branch}'
+ branch-pattern: "**/{branch}"
file-paths:
- compare-type: REG_EXP
- pattern: 'INFO.yaml'
+ pattern: "INFO.yaml"
- job-template:
- name: '{project-name}-info-yaml-verify'
+ name: "{project-name}-info-yaml-verify"
id: github-info-yaml-verify
<<: *lf_jjb_common
# yamllint disable-line rule:key-duplicates
<<: *lf_info_yaml_verify
- github-url: 'https://github.com'
+ github-url: "https://github.com"
properties:
- github:
- url: '{github-url}/{github-org}/{project}'
+ 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}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ url: "{git-clone-url}{github-org}/{project}"
+ refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
+ branch: "$sha1"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
- github-pull-request:
- trigger-phrase: '^(recheck|reverify)$'
+ trigger-phrase: "^(recheck|reverify)$"
only-trigger-phrase: false
- status-context: 'INFO File Verify'
+ status-context: "INFO File Verify"
permit-all: true
github-hooks: true
# included-regions MUST match gerrit file-paths
- included-regions: 'INFO.yaml'
+ included-regions: "INFO.yaml"
white-list-target-branches:
- - '{branch}'
+ - "{branch}"
##################
# OPENSTACK CRON #
branch: master
build-days-to-keep: 7
build-timeout: 10
- cron: '@hourly'
+ cron: "@hourly"
disable-job: false
- git-url: '$GIT_URL/$PROJECT'
- github-url: 'https://github.com'
+ git-url: "$GIT_URL/$PROJECT"
+ github-url: "https://github.com"
openstack-cloud: vex
openstack-image-cleanup: true
openstack-image-cleanup-age: 30
#####################
project-type: freestyle
- node: '{build-node}'
+ node: "{build-node}"
concurrent: false
- disabled: '{disable-job}'
+ disabled: "{disable-job}"
properties:
- lf-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ build-days-to-keep: "{build-days-to-keep}"
parameters:
- lf-infra-parameters:
- project: '{project}'
- stream: '{stream}'
- branch: '{branch}'
+ project: "{project}"
+ stream: "{stream}"
+ branch: "{branch}"
- string:
name: JENKINS_URLS
- default: '{jenkins-urls}'
+ default: "{jenkins-urls}"
description: |
- Space separated list of Jenkins URLs to check for active builds.
+ Space separated list of Jenkins URLs to check for active builds.
wrappers:
- lf-infra-wrappers:
- build-timeout: '{build-timeout}'
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ build-timeout: "{build-timeout}"
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
# Listed after to override openstack-infra-wrappers clouds.yaml definition
- config-file-provider:
files:
- file-id: clouds-yaml
- target: '$HOME/.config/openstack/clouds.yaml'
+ target: "$HOME/.config/openstack/clouds.yaml"
- file-id: npmrc
- target: '$HOME/.npmrc'
+ target: "$HOME/.npmrc"
- file-id: pipconf
- target: '$HOME/.config/pip/pip.conf'
+ target: "$HOME/.config/pip/pip.conf"
triggers:
- - timed: '{obj:cron}'
+ - timed: "{obj:cron}"
builders:
- lf-infra-pre-build
# Stacks
- conditional-step:
condition-kind: boolean-expression
- condition-expression: '{openstack-stack-cleanup}'
+ condition-expression: "{openstack-stack-cleanup}"
steps:
- shell: !include-raw-escape: ../shell/openstack-cleanup-orphaned-stacks.sh
# Servers
- conditional-step:
condition-kind: boolean-expression
- condition-expression: '{openstack-server-cleanup}'
+ condition-expression: "{openstack-server-cleanup}"
steps:
- shell: !include-raw-escape: ../shell/openstack-cleanup-orphaned-servers.sh
# Ports
- conditional-step:
condition-kind: boolean-expression
- condition-expression: '{openstack-port-cleanup}'
+ condition-expression: "{openstack-port-cleanup}"
steps:
- shell: !include-raw-escape: ../shell/openstack-cleanup-orphaned-ports.sh
# Volumes
- conditional-step:
condition-kind: boolean-expression
- condition-expression: '{openstack-volume-cleanup}'
+ condition-expression: "{openstack-volume-cleanup}"
steps:
- shell: !include-raw-escape: ../shell/openstack-cleanup-orphaned-volumes.sh
# Images
- conditional-step:
condition-kind: boolean-expression
- condition-expression: '{openstack-image-protect}'
+ condition-expression: "{openstack-image-protect}"
steps:
- shell: !include-raw-escape: ../shell/openstack-protect-in-use-images.sh
- conditional-step:
condition-kind: boolean-expression
- condition-expression: '{openstack-image-cleanup}'
+ condition-expression: "{openstack-image-cleanup}"
steps:
- inject:
properties-content: OS_IMAGE_CLEANUP_AGE={openstack-image-cleanup-age}
- lf-infra-publish
- job-template:
- name: '{project-name}-openstack-cron'
+ name: "{project-name}-openstack-cron"
id: gerrit-openstack-cron
<<: *lf_openstack_cron
scm:
- lf-infra-gerrit-scm:
- git-url: '{git-url}'
- refspec: 'refs/heads/{branch}'
- branch: '{branch}'
+ git-url: "{git-url}"
+ refspec: "refs/heads/{branch}"
+ branch: "{branch}"
submodule-recursive: true
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
- job-template:
- name: '{project-name}-openstack-cron'
+ name: "{project-name}-openstack-cron"
id: github-openstack-cron
<<: *lf_openstack_cron
scm:
- lf-infra-github-scm:
- url: '{git-clone-url}{github-org}/{project}'
- refspec: ''
- branch: 'refs/heads/{branch}'
+ url: "{git-clone-url}{github-org}/{project}"
+ refspec: ""
+ branch: "refs/heads/{branch}"
submodule-recursive: true
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
################
# Packer Merge #
parameters:
- lf-infra-parameters:
- project: '{project}'
- stream: '{stream}'
- branch: '{branch}'
+ project: "{project}"
+ stream: "{stream}"
+ branch: "{branch}"
- lf-packer-parameters:
- packer-version: '{packer-version}'
+ packer-version: "{packer-version}"
builders:
- lf-infra-packer-build:
- openstack: '{openstack}'
- openstack-cloud: '{openstack-cloud}'
- packer-cloud-settings: '{packer-cloud-settings}'
- packer-version: '{packer-version}'
- platform: '{platforms}'
- template: '{templates}'
+ openstack: "{openstack}"
+ openstack-cloud: "{openstack-cloud}"
+ packer-cloud-settings: "{packer-cloud-settings}"
+ packer-version: "{packer-version}"
+ platform: "{platforms}"
+ template: "{templates}"
- description-setter:
- description: '.*Creating the image:(.*)'
+ description: ".*Creating the image:(.*)"
- job-template:
- name: '{project-name}-packer-merge-{platforms}-{templates}'
+ name: "{project-name}-packer-merge-{platforms}-{templates}"
id: gerrit-packer-merge
<<: *lf_packer_common
# yamllint disable-line rule:key-duplicates
# Default parameters #
######################
- git-url: '$GIT_URL/$GERRIT_PROJECT'
+ git-url: "$GIT_URL/$GERRIT_PROJECT"
gerrit_merge_triggers:
- change-merged-event
scm:
- lf-infra-gerrit-scm:
- git-url: '{git-url}'
- refspec: '$GERRIT_REFSPEC'
- branch: '$GERRIT_BRANCH'
- submodule-recursive: '{submodule-recursive}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ git-url: "{git-url}"
+ refspec: "$GERRIT_REFSPEC"
+ branch: "$GERRIT_BRANCH"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
- - timed: '{obj:cron}'
+ - timed: "{obj:cron}"
- gerrit:
- server-name: '{gerrit-server-name}'
- trigger-on: '{obj:gerrit_merge_triggers}'
+ server-name: "{gerrit-server-name}"
+ trigger-on: "{obj:gerrit_merge_triggers}"
projects:
- project-compare-type: ANT
- project-pattern: '{project}'
+ project-pattern: "{project}"
branches:
- branch-compare-type: ANT
- branch-pattern: '**/{branch}'
+ branch-pattern: "**/{branch}"
file-paths:
- compare-type: REG_EXP
pattern: 'packer\/provision\/.*\.sh'
pattern: 'packer\/vars\/{platforms}\.json'
- job-template:
- name: '{project-name}-packer-merge-{platforms}-{templates}'
+ name: "{project-name}-packer-merge-{platforms}-{templates}"
id: github-packer-merge
<<: *lf_packer_common
# yamllint disable-line rule:key-duplicates
properties:
- lf-infra-properties:
- project: '{project}'
+ project: "{project}"
build-days-to-keep: 7
- github:
- url: '{github-url}/{github-org}/{project}'
+ url: "{github-url}/{github-org}/{project}"
scm:
- lf-infra-github-scm:
- url: '{git-clone-url}{github-org}/{project}'
+ url: "{git-clone-url}{github-org}/{project}"
refspec: >
- +refs/heads/*:refs/remotes/origin/*
- +refs/pull/*:refs/remotes/origin/pr/*
- branch: '$GERRIT_REFSPEC'
- submodule-recursive: '{submodule-recursive}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ +refs/heads/*:refs/remotes/origin/*
+ +refs/pull/*:refs/remotes/origin/pr/*
+ branch: "$GERRIT_REFSPEC"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
- - timed: '{obj:cron}'
+ - timed: "{obj:cron}"
- github
- pollscm:
- cron: ''
+ cron: ""
- github-pull-request:
- trigger-phrase: '^remerge$'
+ trigger-phrase: "^remerge$"
only-trigger-phrase: true
- status-context: 'Packer {platforms}-{templates} Merge'
+ status-context: "Packer {platforms}-{templates} Merge"
permit-all: true
github-hooks: true
org-list:
- - '{github-org}'
- white-list: '{obj:github_pr_whitelist}'
- admin-list: '{obj:github_pr_admin_list}'
+ - "{github-org}"
+ white-list: "{obj:github_pr_whitelist}"
+ admin-list: "{obj:github_pr_admin_list}"
# included-regions MUST match Gerrit Trigger file-paths
included-regions:
- 'packer\/provision\/.*\.sh'
- 'packer\/templates\/{templates}\.json'
- 'packer\/vars\/{platforms}\.json'
white-list-target-branches:
- - '{branch}'
+ - "{branch}"
#################
# Packer Verify #
builders:
- lf-infra-packer-validate:
- openstack: '{openstack}'
- openstack-cloud: '{openstack-cloud}'
- packer-cloud-settings: '{packer-cloud-settings}'
- packer-version: '{packer-version}'
+ openstack: "{openstack}"
+ openstack-cloud: "{openstack-cloud}"
+ packer-cloud-settings: "{packer-cloud-settings}"
+ packer-version: "{packer-version}"
- job-template:
- name: '{project-name}-packer-verify'
+ name: "{project-name}-packer-verify"
id: gerrit-packer-verify
<<: *lf_packer_common
# yamllint disable-line rule:key-duplicates
# Default parameters #
######################
- git-url: '$GIT_URL/$GERRIT_PROJECT'
+ git-url: "$GIT_URL/$GERRIT_PROJECT"
#####################
# Job Configuration #
scm:
- lf-infra-gerrit-scm:
- git-url: '{git-url}'
- refspec: '$GERRIT_REFSPEC'
- branch: '$GERRIT_BRANCH'
- submodule-recursive: '{submodule-recursive}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ git-url: "{git-url}"
+ refspec: "$GERRIT_REFSPEC"
+ branch: "$GERRIT_BRANCH"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: gerrit
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
- gerrit:
- server-name: '{gerrit-server-name}'
- trigger-on: '{obj:gerrit_verify_triggers}'
+ server-name: "{gerrit-server-name}"
+ trigger-on: "{obj:gerrit_verify_triggers}"
projects:
- project-compare-type: ANT
- project-pattern: '{project}'
+ project-pattern: "{project}"
branches:
- branch-compare-type: ANT
- branch-pattern: '**/{branch}'
- file-paths: '{obj:gerrit_trigger_file_paths}'
+ branch-pattern: "**/{branch}"
+ file-paths: "{obj:gerrit_trigger_file_paths}"
- job-template:
- name: '{project-name}-packer-verify'
+ name: "{project-name}-packer-verify"
id: github-packer-verify
<<: *lf_packer_common
# yamllint disable-line rule:key-duplicates
properties:
- lf-infra-properties:
- project: '{project}'
+ project: "{project}"
build-days-to-keep: 7
- github:
- url: '{github-url}/{github-org}/{project}'
+ 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}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ url: "{git-clone-url}{github-org}/{project}"
+ refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
+ branch: "$sha1"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
- github-pull-request:
- trigger-phrase: '^(recheck|reverify)$'
+ trigger-phrase: "^(recheck|reverify)$"
only-trigger-phrase: false
- status-context: 'Packer Verify'
+ status-context: "Packer Verify"
permit-all: true
github-hooks: true
- included-regions: '{obj:github_included_regions}'
+ included-regions: "{obj:github_included_regions}"
white-list-target-branches:
- - '{branch}'
+ - "{branch}"
#################
# Puppet Verify #
build-days-to-keep: 7
build-timeout: 15
disable-job: false
- git-url: '$GIT_URL/$GERRIT_PROJECT'
- github-url: 'https://github.com'
+ git-url: "$GIT_URL/$GERRIT_PROJECT"
+ github-url: "https://github.com"
parallel: true
- puppet-dir: ''
+ puppet-dir: ""
puppet-lint-version: 2.3.6
stream: master
submodule-recursive: true
gerrit_trigger_file_paths:
- compare-type: REG_EXP
- pattern: '.*'
+ pattern: ".*"
# github_included_regions MUST match gerrit_trigger_file_paths
github_included_regions:
- - '.*'
+ - ".*"
#####################
# Job Configuration #
#####################
project-type: freestyle
- node: '{build-node}'
+ node: "{build-node}"
concurrent: true
- disabled: '{disable-job}'
+ disabled: "{disable-job}"
properties:
- lf-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ build-days-to-keep: "{build-days-to-keep}"
parameters:
- lf-infra-parameters:
- project: '{project}'
- branch: '{branch}'
- stream: '{stream}'
+ project: "{project}"
+ branch: "{branch}"
+ stream: "{stream}"
- lf-puppet-parameters:
- puppet-lint-version: '{puppet-lint-version}'
+ puppet-lint-version: "{puppet-lint-version}"
wrappers:
- lf-infra-wrappers:
- build-timeout: '{build-timeout}'
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ build-timeout: "{build-timeout}"
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
builders:
- shell: !include-raw-escape: ../shell/puppet-lint.sh
- lf-infra-publish
- job-template:
- name: '{project-name}-puppet-verify'
+ name: "{project-name}-puppet-verify"
id: gerrit-puppet-verify
<<: *lf_puppet_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}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
+ git-url: "{git-url}"
+ refspec: "$GERRIT_REFSPEC"
+ branch: "$GERRIT_BRANCH"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: gerrit
triggers:
- gerrit:
- server-name: '{gerrit-server-name}'
- trigger-on: '{obj:gerrit_verify_triggers}'
+ server-name: "{gerrit-server-name}"
+ trigger-on: "{obj:gerrit_verify_triggers}"
projects:
- project-compare-type: ANT
- project-pattern: '{project}'
+ project-pattern: "{project}"
branches:
- branch-compare-type: ANT
- branch-pattern: '**/{branch}'
- file-paths: '{obj:gerrit_trigger_file_paths}'
+ branch-pattern: "**/{branch}"
+ file-paths: "{obj:gerrit_trigger_file_paths}"
- job-template:
- name: '{project-name}-puppet-verify'
+ name: "{project-name}-puppet-verify"
id: github-puppet-verify
<<: *lf_puppet_verify
properties:
- lf-infra-properties:
- project: '{project}'
+ project: "{project}"
build-days-to-keep: 7
- github:
- url: '{github-url}/{github-org}/{project}'
+ 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}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ url: "{git-clone-url}{github-org}/{project}"
+ refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
+ branch: "$sha1"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
- github-pull-request:
- trigger-phrase: '^(recheck|reverify)$'
+ trigger-phrase: "^(recheck|reverify)$"
only-trigger-phrase: false
- status-context: 'Puppet Verify'
+ status-context: "Puppet Verify"
permit-all: true
github-hooks: true
- included-regions: '{obj:github_included_regions}'
+ included-regions: "{obj:github_included_regions}"
white-list-target-branches:
- - '{branch}'
+ - "{branch}"
---
- job-group:
- name: '{project-name}-gerrit-docker-jobs'
+ name: "{project-name}-gerrit-docker-jobs"
# This job group contains all the recommended jobs that should be deployed
# for any docker project ci.
- gerrit-docker-merge
- job-group:
- name: '{project-name}-github-docker-jobs'
+ name: "{project-name}-github-docker-jobs"
# This job group contains all the recommended jobs that should be deployed
# for any docker project ci.
- ../shell/docker-get-container-tag.sh
- inject:
# Import the container tag set by this build step
- properties-file: 'env_docker_inject.txt'
+ properties-file: "env_docker_inject.txt"
- builder:
name: lf-docker-build
builders:
- inject:
properties-content: |
- CONTAINER_PUSH_REGISTRY={container-push-registry}
+ CONTAINER_PUSH_REGISTRY={container-push-registry}
- shell: !include-raw-escape:
- ../shell/docker-push.sh
name: lf-docker-common
project-type: freestyle
- node: '{build-node}'
+ node: "{build-node}"
######################
# Default parameters #
submodule-disable: false
submodule-recursive: true
submodule-timeout: 10
- pre_docker_build_script: '# pre docker build script goes here'
- post_docker_build_script: '# post docker build script goes here'
- disable-job: 'false'
- docker-root: '$WORKSPACE'
- docker-build-args: ''
- git-url: '$GIT_URL/$PROJECT'
- container-tag-method: 'latest'
+ pre_docker_build_script: "# pre docker build script goes here"
+ post_docker_build_script: "# post docker build script goes here"
+ disable-job: "false"
+ docker-root: "$WORKSPACE"
+ docker-build-args: ""
+ git-url: "$GIT_URL/$PROJECT"
+ container-tag-method: "latest"
# TODO: how to interpolate value of {docker-root} parameter?
- container-tag-yaml-dir: ''
+ container-tag-yaml-dir: ""
#####################
# Job Configuration #
#####################
- disabled: '{disable-job}'
+ disabled: "{disable-job}"
properties:
- lf-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ build-days-to-keep: "{build-days-to-keep}"
parameters:
- lf-infra-parameters:
- branch: '{branch}'
- project: '{project}'
- refspec: 'refs/heads/{branch}'
- stream: '{stream}'
+ branch: "{branch}"
+ project: "{project}"
+ refspec: "refs/heads/{branch}"
+ stream: "{stream}"
wrappers:
- lf-infra-wrappers:
- build-timeout: '{build-timeout}'
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ build-timeout: "{build-timeout}"
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
publishers:
- lf-infra-publish
scm:
- lf-infra-gerrit-scm:
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
- git-url: '{git-url}'
- refspec: '$GERRIT_REFSPEC'
- branch: '$GERRIT_BRANCH'
- submodule-disable: '{submodule-disable}'
- submodule-recursive: '{submodule-recursive}'
- submodule-timeout: '{submodule-timeout}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
+ git-url: "{git-url}"
+ refspec: "$GERRIT_REFSPEC"
+ branch: "$GERRIT_BRANCH"
+ submodule-disable: "{submodule-disable}"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
choosing-strategy: gerrit
gerrit_verify_triggers:
gerrit_trigger_file_paths:
- compare-type: REG_EXP
- pattern: '.*'
+ pattern: ".*"
# github_included_regions MUST match gerrit_trigger_file_paths
github_included_regions:
- - '.*'
+ - ".*"
builders:
- lf-infra-pre-build
- lf-infra-docker-login:
- global-settings-file: 'global-settings'
- settings-file: '{mvn-settings}'
- - shell: '{pre_docker_build_script}'
+ global-settings-file: "global-settings"
+ settings-file: "{mvn-settings}"
+ - shell: "{pre_docker_build_script}"
- lf-docker-get-container-tag:
- container-tag-method: '{container-tag-method}'
- container-tag-yaml-dir: '{container-tag-yaml-dir}'
- docker-root: '{docker-root}'
+ container-tag-method: "{container-tag-method}"
+ container-tag-yaml-dir: "{container-tag-yaml-dir}"
+ docker-root: "{docker-root}"
- lf-docker-build:
- docker-build-args: '{docker-build-args}'
- docker-name: '{docker-name}'
- docker-root: '{docker-root}'
- container-public-registry: '{container-public-registry}'
- container-push-registry: '{container-push-registry}'
- - shell: '{post_docker_build_script}'
+ docker-build-args: "{docker-build-args}"
+ docker-name: "{docker-name}"
+ docker-root: "{docker-root}"
+ container-public-registry: "{container-public-registry}"
+ container-push-registry: "{container-push-registry}"
+ - shell: "{post_docker_build_script}"
- lf-provide-maven-settings-cleanup
- docker_merge_common: &docker_merge_common
name: docker-merge-common
- cron: ''
+ cron: ""
scm:
- lf-infra-gerrit-scm:
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
- git-url: '{git-url}'
- refspec: '$GERRIT_REFSPEC'
- branch: '$GERRIT_BRANCH'
- submodule-disable: '{submodule-disable}'
- submodule-recursive: '{submodule-recursive}'
- submodule-timeout: '{submodule-timeout}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
+ git-url: "{git-url}"
+ refspec: "$GERRIT_REFSPEC"
+ branch: "$GERRIT_BRANCH"
+ submodule-disable: "{submodule-disable}"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
choosing-strategy: gerrit
gerrit_merge_triggers:
gerrit_trigger_file_paths:
- compare-type: REG_EXP
- pattern: '.*'
+ pattern: ".*"
# github_included_regions MUST match gerrit_trigger_file_paths
github_included_regions:
- - '.*'
+ - ".*"
builders:
- lf-infra-pre-build
- lf-infra-docker-login:
- global-settings-file: 'global-settings'
- settings-file: '{mvn-settings}'
- - shell: '{pre_docker_build_script}'
+ global-settings-file: "global-settings"
+ settings-file: "{mvn-settings}"
+ - shell: "{pre_docker_build_script}"
- lf-docker-get-container-tag:
- container-tag-method: '{container-tag-method}'
- container-tag-yaml-dir: '{container-tag-yaml-dir}'
- docker-root: '{docker-root}'
+ container-tag-method: "{container-tag-method}"
+ container-tag-yaml-dir: "{container-tag-yaml-dir}"
+ docker-root: "{docker-root}"
- lf-docker-build:
- docker-build-args: '{docker-build-args}'
- docker-name: '{docker-name}'
- docker-root: '{docker-root}'
- container-public-registry: '{container-public-registry}'
- container-push-registry: '{container-push-registry}'
- - shell: '{post_docker_build_script}'
+ docker-build-args: "{docker-build-args}"
+ docker-name: "{docker-name}"
+ docker-root: "{docker-root}"
+ container-public-registry: "{container-public-registry}"
+ container-push-registry: "{container-push-registry}"
+ - shell: "{post_docker_build_script}"
# Provided all steps have already passed, push the docker image
- lf-docker-push:
- container-push-registry: '{container-push-registry}'
+ container-push-registry: "{container-push-registry}"
- lf-provide-maven-settings-cleanup
#################
#################
- job-template:
- name: '{project-name}-docker-verify-{stream}'
+ name: "{project-name}-docker-verify-{stream}"
id: gerrit-docker-verify
# Job template for Docker verify jobs
#
triggers:
- gerrit:
- server-name: '{gerrit-server-name}'
- trigger-on: '{obj:gerrit_verify_triggers}'
+ server-name: "{gerrit-server-name}"
+ trigger-on: "{obj:gerrit_verify_triggers}"
projects:
- project-compare-type: ANT
- project-pattern: '{project}'
+ project-pattern: "{project}"
branches:
- branch-compare-type: ANT
- branch-pattern: '**/{branch}'
- file-paths: '{obj:gerrit_trigger_file_paths}'
+ branch-pattern: "**/{branch}"
+ file-paths: "{obj:gerrit_trigger_file_paths}"
- job-template:
- name: '{project-name}-docker-verify-{stream}'
+ name: "{project-name}-docker-verify-{stream}"
id: github-docker-verify
# Job template for Docker verify jobs
#
properties:
- lf-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ build-days-to-keep: "{build-days-to-keep}"
- github:
- url: '{github-url}/{github-org}/{project}'
+ 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}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ url: "{git-clone-url}{github-org}/{project}"
+ refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
+ branch: "$sha1"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
- github-pull-request:
- trigger-phrase: '^(recheck|reverify)$'
+ trigger-phrase: "^(recheck|reverify)$"
only-trigger-phrase: false
- status-context: 'Docker Verify'
+ status-context: "Docker Verify"
permit-all: true
github-hooks: true
white-list-target-branches:
- - '{branch}'
- included-regions: '{obj:github_included_regions}'
+ - "{branch}"
+ included-regions: "{obj:github_included_regions}"
################
# Docker Merge #
################
- job-template:
- name: '{project-name}-docker-merge-{stream}'
+ name: "{project-name}-docker-merge-{stream}"
id: gerrit-docker-merge
# Job template for Docker merge jobs
#
<<: *docker_merge_common
triggers:
- - timed: '{obj:cron}'
+ - timed: "{obj:cron}"
- gerrit:
- server-name: '{gerrit-server-name}'
- trigger-on: '{obj:gerrit_merge_triggers}'
+ server-name: "{gerrit-server-name}"
+ trigger-on: "{obj:gerrit_merge_triggers}"
projects:
- project-compare-type: ANT
- project-pattern: '{project}'
+ project-pattern: "{project}"
branches:
- branch-compare-type: ANT
- branch-pattern: '**/{branch}'
- file-paths: '{obj:gerrit_trigger_file_paths}'
+ branch-pattern: "**/{branch}"
+ file-paths: "{obj:gerrit_trigger_file_paths}"
- job-template:
- name: '{project-name}-docker-merge-{stream}'
+ name: "{project-name}-docker-merge-{stream}"
id: github-docker-merge
# Job template for Docker merge jobs
#
properties:
- lf-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ build-days-to-keep: "{build-days-to-keep}"
- github:
- url: '{github-url}/{github-org}/{project}'
+ 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}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ url: "{git-clone-url}{github-org}/{project}"
+ refspec: ""
+ branch: "refs/heads/{branch}"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
- - timed: '{obj:cron}'
+ - timed: "{obj:cron}"
- github
- pollscm:
- cron: ''
+ cron: ""
- github-pull-request:
- trigger-phrase: '^remerge$'
+ trigger-phrase: "^remerge$"
only-trigger-phrase: true
- status-context: 'Docker Merge'
+ status-context: "Docker Merge"
permit-all: true
github-hooks: true
org-list:
- - '{github-org}'
- white-list: '{obj:github_pr_whitelist}'
- admin-list: '{obj:github_pr_admin_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}'
+ - "{branch}"
+ included-regions: "{obj:github_included_regions}"
gerrit_trigger_file_paths:
- compare-type: REG_EXP
- pattern: 'INFO.yaml'
+ pattern: "INFO.yaml"
#####################
# Job Configuration #
#####################
project-type: freestyle
- node: '{build-node}'
+ node: "{build-node}"
properties:
- lf-infra-properties:
parameters:
- lf-infra-parameters:
project: $GERRIT_PROJECT
- branch: 'master'
- refspec: 'refs/heads/{branch}'
- stream: 'master'
+ branch: "master"
+ refspec: "refs/heads/{branch}"
+ stream: "master"
wrappers:
- lf-infra-wrappers:
- build-timeout: '{build-timeout}'
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ build-timeout: "{build-timeout}"
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
publishers:
- lf-infra-publish
-
- lf_info_vote_verify: &lf_info_vote_verify
name: lf-info-vote-verify
build-days-to-keep: 7
build-timeout: 15
disable-job: false
- git-url: '$GIT_URL/$PROJECT'
+ git-url: "$GIT_URL/$PROJECT"
submodule-timeout: 10
submodule-disable: false
submodule-recursive: true
- comment-added-contains-event:
comment-contains-value: '^Patch Set\s+\d+:\s+vote\s*$'
- comment-added-event:
- approval-category: 'Code-Review'
+ approval-category: "Code-Review"
approval-value: 2
#####################
# Job Configuration #
#####################
- disabled: '{disable-job}'
+ disabled: "{disable-job}"
builders:
- check-info-votes:
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
- job-template:
- name: 'info-vote'
+ name: "info-vote"
id: info-vote-verify
<<: *lf_info_vote_common
# yamllint disable-line rule:key-duplicates
scm:
- lf-infra-gerrit-scm:
- branch: '$GERRIT_BRANCH'
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
- git-url: '{git-url}'
- refspec: '$GERRIT_REFSPEC'
- submodule-recursive: '{submodule-recursive}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ branch: "$GERRIT_BRANCH"
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
+ git-url: "{git-url}"
+ refspec: "$GERRIT_REFSPEC"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: gerrit
triggers:
- gerrit:
- server-name: '{gerrit-server-name}'
- trigger-on: '{obj:gerrit_verify_triggers}'
+ server-name: "{gerrit-server-name}"
+ trigger-on: "{obj:gerrit_verify_triggers}"
projects:
- - project-compare-type: 'ANT'
- project-pattern: '**'
+ - project-compare-type: "ANT"
+ project-pattern: "**"
branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/master'
- file-paths: '{obj:gerrit_trigger_file_paths}'
+ - branch-compare-type: "ANT"
+ branch-pattern: "**/master"
+ file-paths: "{obj:gerrit_trigger_file_paths}"
skip-vote:
- successful: '{gerrit-skip-vote}'
- failed: '{gerrit-skip-vote}'
- unstable: '{gerrit-skip-vote}'
- notbuilt: '{gerrit-skip-vote}'
+ successful: "{gerrit-skip-vote}"
+ failed: "{gerrit-skip-vote}"
+ unstable: "{gerrit-skip-vote}"
+ notbuilt: "{gerrit-skip-vote}"
builders:
- inject:
properties-content: |
- FILE_PATTERNS={file-patterns}
- SPDX_DISABLE={spdx-disable}
- LHC_VERSION={lhc-version}
- LICENSE_EXCLUDE_PATHS={license-exclude-paths}
- LICENSES_ALLOWED={licenses-allowed}
+ FILE_PATTERNS={file-patterns}
+ SPDX_DISABLE={spdx-disable}
+ LHC_VERSION={lhc-version}
+ LICENSE_EXCLUDE_PATHS={license-exclude-paths}
+ LICENSES_ALLOWED={licenses-allowed}
- shell: !include-raw-escape:
- ../shell/license-check.sh
name: lf-infra-create-netrc
builders:
- inject:
- properties-content: 'SERVER_ID={server-id}'
+ properties-content: "SERVER_ID={server-id}"
- shell: !include-raw-escape: ../shell/create-netrc.sh
- builder:
name: lf-infra-docker-login
builders:
- lf-provide-maven-settings:
- global-settings-file: '{global-settings-file}'
- settings-file: '{settings-file}'
+ global-settings-file: "{global-settings-file}"
+ settings-file: "{settings-file}"
- shell: !include-raw-escape: ../shell/docker-login.sh
- lf-provide-maven-settings-cleanup
- lf-provide-maven-settings-cleanup
- config-file-provider:
files:
- - file-id: 'jenkins-log-archives-settings'
- variable: 'SETTINGS_FILE'
+ - file-id: "jenkins-log-archives-settings"
+ variable: "SETTINGS_FILE"
- lf-infra-create-netrc:
server-id: logs
- shell: !include-raw:
- shell: !include-raw:
- ../shell/logs-clear-credentials.sh
- description-setter:
- regexp: '^Build logs: .*'
+ regexp: "^Build logs: .*"
- builder:
name: lf-infra-package-listing
builders:
- conditional-step:
condition-kind: boolean-expression
- condition-expression: '{openstack}'
+ condition-expression: "{openstack}"
steps:
- config-file-provider:
files:
- file-id: clouds-yaml
- target: '$HOME/.config/openstack/clouds.yaml'
+ target: "$HOME/.config/openstack/clouds.yaml"
- inject:
properties-content: OS_CLOUD={openstack-cloud}
- config-file-provider:
files:
- - file-id: '{packer-cloud-settings}'
+ - file-id: "{packer-cloud-settings}"
variable: CLOUDENV
- inject:
properties-content: |
- PACKER_PLATFORM={platform}
- PACKER_TEMPLATE={template}
- PACKER_VERSION={packer-version}
+ PACKER_PLATFORM={platform}
+ PACKER_TEMPLATE={template}
+ PACKER_VERSION={packer-version}
- shell: !include-raw-escape:
- ../shell/packer-install.sh
- ../shell/packer-build.sh
builders:
- conditional-step:
condition-kind: boolean-expression
- condition-expression: '{openstack}'
+ condition-expression: "{openstack}"
steps:
- config-file-provider:
files:
- file-id: clouds-yaml
- target: '$HOME/.config/openstack/clouds.yaml'
+ target: "$HOME/.config/openstack/clouds.yaml"
- inject:
properties-content: OS_CLOUD={openstack-cloud}
- config-file-provider:
files:
- - file-id: '{packer-cloud-settings}'
+ - file-id: "{packer-cloud-settings}"
variable: CLOUDENV
- inject:
properties-content: |
- PACKER_VERSION={packer-version}
+ PACKER_VERSION={packer-version}
- shell: !include-raw-escape:
- ../shell/packer-install.sh
- ../shell/packer-validate.sh
builders:
- inject:
properties-content: |
- PROJECT={project}
- GERRIT_COMMIT_MESSAGE={gerrit-commit-message}
- GERRIT_HOST={gerrit-host}
- GERRIT_TOPIC={gerrit-topic}
- GERRIT_USER={gerrit-user}
- REVIEWERS_EMAIL={reviewers-email}
+ PROJECT={project}
+ GERRIT_COMMIT_MESSAGE={gerrit-commit-message}
+ GERRIT_HOST={gerrit-host}
+ GERRIT_TOPIC={gerrit-topic}
+ GERRIT_USER={gerrit-user}
+ REVIEWERS_EMAIL={reviewers-email}
- shell: !include-raw-escape: ../shell/gerrit-push-patch.sh
- builder:
- builder:
name: lf-jacoco-nojava-workaround
builders:
- - shell: 'mkdir -p $WORKSPACE/target/classes $WORKSPACE/jacoco/classes'
+ - shell: "mkdir -p $WORKSPACE/target/classes $WORKSPACE/jacoco/classes"
- builder:
name: lf-infra-deploy-maven-file
builders:
- lf-maven-install:
- mvn-version: '{mvn-version}'
+ mvn-version: "{mvn-version}"
- lf-provide-maven-settings:
- global-settings-file: '{global-settings-file}'
- settings-file: '{settings-file}'
+ global-settings-file: "{global-settings-file}"
+ settings-file: "{settings-file}"
- inject:
properties-content: |
- MAVEN_REPO_URL={maven-repo-url}
- REPO_ID={repo-id}
- GROUP_ID={group-id}
- UPLOAD_FILES_PATH={upload-files-dir}
+ MAVEN_REPO_URL={maven-repo-url}
+ REPO_ID={repo-id}
+ GROUP_ID={group-id}
+ UPLOAD_FILES_PATH={upload-files-dir}
- shell: !include-raw-escape:
- ../shell/common-variables.sh
- ../shell/deploy-maven-file.sh
builders:
- conditional-step:
condition-kind: boolean-expression
- condition-expression: '{mvn-central}'
+ condition-expression: "{mvn-central}"
steps:
- lf-provide-maven-settings:
- global-settings-file: '{mvn-global-settings}'
- settings-file: '{mvn-settings}'
+ global-settings-file: "{mvn-global-settings}"
+ settings-file: "{mvn-settings}"
- lf-infra-create-netrc:
- server-id: 'ossrh'
+ server-id: "ossrh"
- inject:
- properties-content: 'OSSRH_PROFILE_ID={ossrh-profile-id}'
+ properties-content: "OSSRH_PROFILE_ID={ossrh-profile-id}"
- shell: !include-raw-escape: ../shell/maven-central.sh
- lf-provide-maven-settings-cleanup
# Create a $HOME/.wgetrc to make the Maven download quiet.
- shell: 'echo "quiet=on" > "$HOME/.wgetrc"'
- maven-target:
- maven-version: '{mvn-version}'
- goals: '--version'
+ maven-version: "{mvn-version}"
+ goals: "--version"
- shell: 'rm "$HOME/.wgetrc"'
- builder:
builders:
- config-file-provider:
files:
- - file-id: '{global-settings-file}'
- variable: 'GLOBAL_SETTINGS_FILE'
- - file-id: '{settings-file}'
- variable: 'SETTINGS_FILE'
+ - file-id: "{global-settings-file}"
+ variable: "GLOBAL_SETTINGS_FILE"
+ - file-id: "{settings-file}"
+ variable: "SETTINGS_FILE"
- builder:
name: lf-pip-install
- config-file-provider:
files:
- file-id: lftoolsini
- target: '$HOME/.config/lftools/lftools.ini'
+ target: "$HOME/.config/lftools/lftools.ini"
- shell: !include-raw: ../shell/release-job.sh
- builder:
builders:
- conditional-step:
condition-kind: boolean-expression
- condition-expression: '{sign-artifacts}'
+ condition-expression: "{sign-artifacts}"
steps:
- config-file-provider:
files:
- shell: !include-raw-escape: ../shell/sigul-install.sh
- inject:
properties-content: |
- SIGN_DIR={sign-dir}
- SIGN_MODE={sign-mode}
+ SIGN_DIR={sign-dir}
+ SIGN_MODE={sign-mode}
- shell: !include-raw-escape:
- ../shell/sigul-sign-dir.sh
- shell: !include-raw-escape: ../shell/sigul-configuration-cleanup.sh
docker rmi -f $(docker images -a -q)
exit 0
-
##############
# PARAMETERS #
##############
parameters:
- string:
name: NEXUS_IQ_STAGE
- default: '{nexus-iq-stage}'
+ default: "{nexus-iq-stage}"
description: |
- Stage the policy evaluation will be run against on the Nexus IQ Server.
+ Stage the policy evaluation will be run against on the Nexus IQ Server.
- parameter:
name: lf-cmake-parameters
parameters:
- string:
name: BUILD_DIR
- default: '{build-dir}'
- description: 'Directory to build the project in.'
+ default: "{build-dir}"
+ description: "Directory to build the project in."
- string:
name: CMAKE_OPTS
- default: '{cmake-opts}'
+ default: "{cmake-opts}"
description: |
- Options to pass to CMAKE.
- Example: -DCMAKE_INSTALL_PREFIX=$WORKSPACE/target/output
+ Options to pass to CMAKE.
+ Example: -DCMAKE_INSTALL_PREFIX=$WORKSPACE/target/output
- string:
name: INSTALL_PREFIX
- default: '{install-prefix}'
- description: 'Install prefix for C/C++ builds. Example: /usr/local'
+ default: "{install-prefix}"
+ description: "Install prefix for C/C++ builds. Example: /usr/local"
- string:
name: MAKE_OPTS
- default: '{make-opts}'
- description: 'Options to pass to make. Example: -j8'
+ default: "{make-opts}"
+ description: "Options to pass to make. Example: -j8"
- parameter:
name: lf-infra-maven-parameters
name: M2_HOME
# Sets an env var for shell scripts to be able to call the dynamically
# installed maven without having to calculate the M2_HOME themselves.
- default: '/w/tools/hudson.tasks.Maven_MavenInstallation/{mvn-version}'
- description: 'Maven selector to be used by shell scripts'
+ default: "/w/tools/hudson.tasks.Maven_MavenInstallation/{mvn-version}"
+ description: "Maven selector to be used by shell scripts"
- string:
name: MAVEN_OPTS
- default: '{mvn-opts}'
+ default: "{mvn-opts}"
description: |
- Maven Java opts. Example: -Xmx1024m -XX:MaxPermSize=256m
+ Maven Java opts. Example: -Xmx1024m -XX:MaxPermSize=256m
- string:
name: MAVEN_PARAMS
- default: '{mvn-params}'
+ default: "{mvn-params}"
description: |
- Maven parameters to pass to the mvn command.
+ Maven parameters to pass to the mvn command.
- string:
name: MVN
# Sets an env var for shell scripts to be able to call the dynamically
# installed maven without having to calculate the path themselves.
# yamllint disable-line rule:line-length
- default: '/w/tools/hudson.tasks.Maven_MavenInstallation/{mvn-version}/bin/mvn'
- description: 'Maven selector to be used by shell scripts'
+ default: "/w/tools/hudson.tasks.Maven_MavenInstallation/{mvn-version}/bin/mvn"
+ description: "Maven selector to be used by shell scripts"
- parameter:
name: lf-infra-openstack-parameters
parameters:
- string:
name: OS_CLOUD
- default: '{os-cloud}'
+ default: "{os-cloud}"
description: |
- The name of a cloud configuration in clouds.yaml. OS_CLOUD is a
- variable name that is significant to openstack client as a
- environment variable. Please refer to the documentation for
- further details.
- https://docs.openstack.org/developer/python-openstackclient/
-
+ The name of a cloud configuration in clouds.yaml. OS_CLOUD is a
+ variable name that is significant to openstack client as a
+ environment variable. Please refer to the documentation for
+ further details.
+ https://docs.openstack.org/developer/python-openstackclient/
- parameter:
name: lf-infra-parameters
parameters:
- string:
name: PROJECT
- default: '{project}'
+ default: "{project}"
description: |
- Parameter to identify a SCM project to build. This is typically
- the project repo path. For example: ofextensions/circuitsw
+ Parameter to identify a SCM project to build. This is typically
+ the project repo path. For example: ofextensions/circuitsw
- string:
name: STREAM
- default: '{stream}'
+ default: "{stream}"
description: |
- Stream is often set to the same name as 'branch' but can
- sometimes be used as a name representing a project's release code
- name.
+ Stream is often set to the same name as 'branch' but can
+ sometimes be used as a name representing a project's release code
+ name.
- string:
name: GERRIT_PROJECT
- default: '{project}'
+ default: "{project}"
description: |
- Gerrit Trigger provided parameter to identify Gerrit project that
- triggered the build. This is typically the project repo path as
- exists in Gerrit. For example: ofextensions/circuitsw
+ Gerrit Trigger provided parameter to identify Gerrit project that
+ triggered the build. This is typically the project repo path as
+ exists in Gerrit. For example: ofextensions/circuitsw
- If using Gerrit, in a manual build this should match the PROJECT
- parameter above.
+ If using Gerrit, in a manual build this should match the PROJECT
+ parameter above.
- string:
name: GERRIT_BRANCH
- default: '{branch}'
+ default: "{branch}"
description: |
- Gerrit Trigger provided parameter to identify a Gerrit branch.
+ Gerrit Trigger provided parameter to identify a Gerrit branch.
- If using Gerrit, in a manual build override with the branch to
- build against.
+ If using Gerrit, in a manual build override with the branch to
+ build against.
- string:
name: GERRIT_REFSPEC
- default: 'refs/heads/{branch}'
+ default: "refs/heads/{branch}"
description: |
- Gerrit Trigger provided parameter to identify a refspec to fetch
- from Gerrit.
+ Gerrit Trigger provided parameter to identify a refspec to fetch
+ from Gerrit.
- If using Gerrit, in a manual build override with a refspec.
- https://git-scm.com/book/en/v2/Git-Internals-The-Refspec
- For example: 'refs/heads/master'
+ If using Gerrit, in a manual build override with a refspec.
+ https://git-scm.com/book/en/v2/Git-Internals-The-Refspec
+ For example: 'refs/heads/master'
- string:
name: sha1
- default: 'origin/{branch}'
+ default: "origin/{branch}"
description: |
- GitHub PR Trigger provided parameter for specifying the commit
- to checkout.
+ GitHub PR Trigger provided parameter for specifying the commit
+ to checkout.
- If using GitHub, in a manual build override with a branch path or
- sha1 hash to a specific commit. For example: 'origin/master'
+ If using GitHub, in a manual build override with a branch path or
+ sha1 hash to a specific commit. For example: 'origin/master'
- parameter:
name: lf-infra-node-parameters
parameters:
- string:
name: NODE_DIR
- default: '{node-dir}'
+ default: "{node-dir}"
description: Path to a Node project directory.
- string:
name: NODE_VERSION
- default: '{node-version}'
+ default: "{node-version}"
description: Version of NodeJS to install.
- parameter:
parameters:
- string:
name: TOX_DIR
- default: '{tox-dir}'
+ default: "{tox-dir}"
description: |
- Path to directory containing tox.ini file.
+ Path to directory containing tox.ini file.
- string:
name: TOX_ENVS
- default: '{tox-envs}'
+ default: "{tox-envs}"
description: |
- Tox environments to run build against.
- Example: docs,py2,py3
+ Tox environments to run build against.
+ Example: docs,py2,py3
##############
# PROPERTIES #
- build-discarder:
# Allow build data to be stored at a length configured by the
# downstream project.
- days-to-keep: '{build-days-to-keep}'
+ days-to-keep: "{build-days-to-keep}"
# Do not allow artifacts to be stored in Jenkins.
artifact-num-to-keep: 0
exclude:
# Do not clean up *.jenkins-trigger files for jobs that use a
# properties file as input for triggering another build.
- - '**/*.jenkins-trigger'
+ - "**/*.jenkins-trigger"
fail-build: false
- publisher:
exclude:
# Do not clean up *.jenkins-trigger files for jobs that use a
# properties file as input for triggering another build.
- - '**/*.jenkins-trigger'
+ - "**/*.jenkins-trigger"
fail-build: false
#######
name: lf-infra-gerrit-scm
scm:
- git:
- credentials-id: '{jenkins-ssh-credential}'
- url: '{git-url}'
- refspec: '{refspec}'
+ credentials-id: "{jenkins-ssh-credential}"
+ url: "{git-url}"
+ refspec: "{refspec}"
branches:
- - 'refs/heads/{branch}'
+ - "refs/heads/{branch}"
skip-tag: true
wipe-workspace: true
submodule:
- disable: '{submodule-disable}'
- recursive: '{submodule-recursive}'
- timeout: '{submodule-timeout}'
- choosing-strategy: '{choosing-strategy}'
+ disable: "{submodule-disable}"
+ recursive: "{submodule-recursive}"
+ timeout: "{submodule-timeout}"
+ choosing-strategy: "{choosing-strategy}"
- scm:
name: lf-infra-github-scm
scm:
- git:
- credentials-id: '{jenkins-ssh-credential}'
- url: '{url}'
- refspec: '{refspec}'
+ credentials-id: "{jenkins-ssh-credential}"
+ url: "{url}"
+ refspec: "{refspec}"
branches:
- - '{branch}'
+ - "{branch}"
skip-tag: true
wipe-workspace: true
submodule:
- disable: '{submodule-disable}'
- recursive: '{submodule-recursive}'
- timeout: '{submodule-timeout}'
- choosing-strategy: '{choosing-strategy}'
+ disable: "{submodule-disable}"
+ recursive: "{submodule-recursive}"
+ timeout: "{submodule-timeout}"
+ choosing-strategy: "{choosing-strategy}"
############
# WRAPPERS #
- mask-passwords
- timeout:
type: absolute
- timeout: '{build-timeout}'
- timeout-var: 'BUILD_TIMEOUT'
+ timeout: "{build-timeout}"
+ timeout-var: "BUILD_TIMEOUT"
fail: true
- timestamps
- openstack:
name: lf-infra-wrappers
wrappers:
- lf-infra-wrappers-common:
- build-timeout: '{build-timeout}'
+ build-timeout: "{build-timeout}"
- config-file-provider:
files:
- file-id: npmrc
- target: '$HOME/.npmrc'
+ target: "$HOME/.npmrc"
- file-id: pipconf
- target: '$HOME/.config/pip/pip.conf'
+ target: "$HOME/.config/pip/pip.conf"
- ssh-agent-credentials:
users:
- - '{jenkins-ssh-credential}'
+ - "{jenkins-ssh-credential}"
- wrapper:
name: lf-infra-wrappers-windows
wrappers:
- lf-infra-wrappers-common:
- build-timeout: '{build-timeout}'
+ build-timeout: "{build-timeout}"
---
- job-group:
- name: '{project-name}-maven-docker-jobs'
+ name: "{project-name}-maven-docker-jobs"
# This job group contains all the recommended jobs that should be deployed
# for any maven docker project.
- gerrit-maven-docker-verify
- job-group:
- name: '{project-name}-github-maven-docker-jobs'
+ name: "{project-name}-github-maven-docker-jobs"
# This job group contains all the recommended jobs that should be deployed
# for any maven docker project that is using github.
---
- job-group:
- name: '{project-name}-maven-jobs'
+ name: "{project-name}-maven-jobs"
# This job group contains all the recommended jobs that should be deployed
# for any project ci.
- gerrit-maven-verify-dependencies
- job-group:
- name: '{project-name}-github-maven-jobs'
+ name: "{project-name}-github-maven-jobs"
# This job group contains all the recommended jobs that should be deployed
# for any project ci that is using github.
- github-maven-verify
- job-group:
- name: '{project-name}-maven-javadoc-jobs'
+ name: "{project-name}-maven-javadoc-jobs"
# This job group contains all the recommended jobs that should be deployed
# for any project ci.
- gerrit-maven-javadoc-verify
- job-group:
- name: '{project-name}-github-maven-javadoc-jobs'
+ name: "{project-name}-github-maven-javadoc-jobs"
# This job group contains all the recommended jobs that should be deployed
# for any project ci.
name: lf-maven-build
builders:
- inject:
- properties-content: 'MAVEN_GOALS={mvn-goals}'
+ properties-content: "MAVEN_GOALS={mvn-goals}"
- shell: !include-raw-escape:
- ../shell/common-variables.sh
- ../shell/maven-build.sh
builders:
- conditional-step:
condition-kind: boolean-expression
- condition-expression: '{maven-versions-plugin}'
+ condition-expression: "{maven-versions-plugin}"
steps:
- inject:
- properties-file: '{version-properties-file}'
+ properties-file: "{version-properties-file}"
- maven-target:
- maven-version: '{mvn-version}'
- pom: '{mvn-pom}'
- goals: 'versions:set versions:update-child-modules versions:commit -B'
+ maven-version: "{mvn-version}"
+ pom: "{mvn-pom}"
+ goals: "versions:set versions:update-child-modules versions:commit -B"
properties:
- - 'newVersion=${{release_version}}'
- settings: '{mvn-settings}'
+ - "newVersion=${{release_version}}"
+ settings: "{mvn-settings}"
settings-type: cfp
- global-settings: 'global-settings'
+ global-settings: "global-settings"
global-settings-type: cfp
- builder:
name: lf-maven-stage
builders:
- lf-provide-maven-settings:
- global-settings-file: '{mvn-global-settings}'
- settings-file: '{mvn-settings}'
+ global-settings-file: "{mvn-global-settings}"
+ settings-file: "{mvn-settings}"
- lf-infra-create-netrc:
- server-id: '{mvn-staging-id}'
+ server-id: "{mvn-staging-id}"
# include-raw-escape fails due to JJB bug
- shell: !include-raw-escape:
- ../shell/common-variables.sh
GIT_URL="$GIT_URL"
- shell: !include-raw-escape: ../shell/update-java-alternatives.sh
- inject:
- properties-file: '/tmp/java.env'
+ properties-file: "/tmp/java.env"
####################
# COMMON FUNCTIONS #
#####################
project-type: freestyle
- node: '{build-node}'
+ node: "{build-node}"
properties:
- lf-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ build-days-to-keep: "{build-days-to-keep}"
parameters:
- lf-infra-parameters:
- project: '{project}'
- branch: '{branch}'
- stream: '{stream}'
+ project: "{project}"
+ branch: "{branch}"
+ stream: "{stream}"
- lf-infra-maven-parameters:
- mvn-opts: '{mvn-opts}'
- mvn-params: '{mvn-params}'
- mvn-version: '{mvn-version}'
+ mvn-opts: "{mvn-opts}"
+ mvn-params: "{mvn-params}"
+ mvn-version: "{mvn-version}"
- string:
name: ARCHIVE_ARTIFACTS
- default: '{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}'
+ build-timeout: "{build-timeout}"
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
publishers:
# TODO: Make email notification work.
######################
branch: master
- build-days-to-keep: 30 # 30 days for troubleshooting purposes
+ 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'
+ git-url: "$GIT_URL/$PROJECT"
+ github-url: "https://github.com"
java-version: openjdk8
mvn-global-settings: global-settings
- mvn-opts: ''
- mvn-params: ''
+ mvn-opts: ""
+ mvn-params: ""
mvn-version: mvn35
- nexus-iq-namespace: '' # Recommend a trailing dash when set. Example: odl-
- nexus-iq-stage: 'build'
+ nexus-iq-namespace: "" # Recommend a trailing dash when set. Example: odl-
+ nexus-iq-stage: "build"
stream: master
submodule-recursive: true
submodule-timeout: 10
submodule-disable: false
nexus_iq_scan_patterns:
- - '**/*.ear'
- - '**/*.jar'
- - '**/*.tar.gz'
- - '**/*.war'
- - '**/*.zip'
+ - "**/*.ear"
+ - "**/*.jar"
+ - "**/*.tar.gz"
+ - "**/*.war"
+ - "**/*.zip"
gerrit_clm_triggers:
- comment-added-contains-event:
parameters:
- lf-infra-parameters:
- project: '{project}'
- branch: '{branch}'
- stream: '{stream}'
+ project: "{project}"
+ branch: "{branch}"
+ stream: "{stream}"
- lf-infra-maven-parameters:
- mvn-opts: '{mvn-opts}'
- mvn-params: '{mvn-params}'
- mvn-version: '{mvn-version}'
+ mvn-opts: "{mvn-opts}"
+ mvn-params: "{mvn-params}"
+ mvn-version: "{mvn-version}"
- string:
name: ARCHIVE_ARTIFACTS
- default: '{archive-artifacts}'
+ default: "{archive-artifacts}"
description: Artifacts to archive to the logs server.
- lf-clm-parameters:
- nexus-iq-stage: '{nexus-iq-stage}'
+ nexus-iq-stage: "{nexus-iq-stage}"
#####################
# Job Configuration #
#####################
- disabled: '{disable-job}'
+ disabled: "{disable-job}"
builders:
- lf-infra-pre-build
- lf-maven-install:
- mvn-version: '{mvn-version}'
+ mvn-version: "{mvn-version}"
- lf-update-java-alternatives:
- java-version: '{java-version}'
+ java-version: "{java-version}"
- lf-provide-maven-settings:
- global-settings-file: '{mvn-global-settings}'
- settings-file: '{mvn-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: '{nexus-iq-namespace}{project-name}'
- scan-patterns: '{obj:nexus_iq_scan_patterns}'
+ stage: "{nexus-iq-stage}"
+ application-type: "manual"
+ application-id: "{nexus-iq-namespace}{project-name}"
+ scan-patterns: "{obj:nexus_iq_scan_patterns}"
fail-build-network-error: true
- job-template:
- name: '{project-name}-maven-clm-{stream}'
+ name: "{project-name}-maven-clm-{stream}"
id: gerrit-maven-clm
<<: *lf_maven_common
# yamllint disable-line rule:key-duplicates
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}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
+ git-url: "{git-url}"
+ refspec: "$GERRIT_REFSPEC"
+ branch: "$GERRIT_BRANCH"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
triggers:
# Build weekly on Saturdays
- - timed: 'H H * * 6'
+ - timed: "H H * * 6"
- gerrit:
- server-name: '{gerrit-server-name}'
- trigger-on: '{obj:gerrit_clm_triggers}'
+ server-name: "{gerrit-server-name}"
+ trigger-on: "{obj:gerrit_clm_triggers}"
projects:
- project-compare-type: ANT
- project-pattern: '{project}'
+ project-pattern: "{project}"
branches:
- branch-compare-type: ANT
- branch-pattern: '**/{branch}'
+ branch-pattern: "**/{branch}"
skip-vote:
successful: true
failed: true
notbuilt: true
- job-template:
- name: '{project-name}-maven-clm-{stream}'
+ name: "{project-name}-maven-clm-{stream}"
id: github-maven-clm
<<: *lf_maven_common
# yamllint disable-line rule:key-duplicates
properties:
- lf-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ build-days-to-keep: "{build-days-to-keep}"
- github:
- url: '{github-url}/{github-org}/{project}'
+ 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}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ url: "{git-clone-url}{github-org}/{project}"
+ refspec: ""
+ branch: "refs/heads/{branch}"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
# Build weekly on Saturdays
- - timed: 'H H * * 6'
+ - timed: "H H * * 6"
- github-pull-request:
- trigger-phrase: '^run-clm$'
+ trigger-phrase: "^run-clm$"
only-trigger-phrase: true
- status-context: 'CLM'
+ 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}'
+ - "{github-org}"
+ white-list: "{obj:github_pr_whitelist}"
+ admin-list: "{obj:github_pr_admin_list}"
white-list-target-branches:
- - '{branch}'
+ - "{branch}"
#########################
# Maven Javadoc Publish #
######################
branch: master
- build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
+ 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'
+ git-url: "$GIT_URL/$PROJECT"
+ github-url: "https://github.com"
java-version: openjdk8
mvn-global-settings: global-settings
- mvn-opts: ''
- mvn-params: ''
+ mvn-opts: ""
+ mvn-params: ""
mvn-version: mvn35
stream: master
submodule-recursive: true
# Job Configuration #
#####################
- disabled: '{disable-job}'
+ disabled: "{disable-job}"
builders:
- lf-infra-pre-build
- lf-maven-install:
- mvn-version: '{mvn-version}'
+ mvn-version: "{mvn-version}"
- lf-update-java-alternatives:
- java-version: '{java-version}'
+ java-version: "{java-version}"
- lf-provide-maven-settings:
- global-settings-file: '{mvn-global-settings}'
- settings-file: '{mvn-settings}'
+ global-settings-file: "{mvn-global-settings}"
+ settings-file: "{mvn-settings}"
- lf-infra-create-netrc:
- server-id: '{mvn-site-id}'
+ server-id: "{mvn-site-id}"
- inject:
- properties-content: 'DEPLOY_PATH={javadoc-path}'
+ properties-content: "DEPLOY_PATH={javadoc-path}"
- 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-publish-{stream}-{java-version}'
+ name: "{project-name}-maven-javadoc-publish-{stream}-{java-version}"
id: gerrit-maven-javadoc-publish
<<: *lf_maven_common
# yamllint disable-line rule:key-duplicates
<<: *lf_maven_javadoc_publish
- git-url: '$GIT_URL/$GERRIT_PROJECT'
+ git-url: "$GIT_URL/$GERRIT_PROJECT"
scm:
- lf-infra-gerrit-scm:
- git-url: '{git-url}'
- refspec: ''
- branch: '{branch}'
- submodule-recursive: '{submodule-recursive}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ git-url: "{git-url}"
+ refspec: ""
+ branch: "{branch}"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
- gerrit:
- server-name: '{gerrit-server-name}'
- trigger-on: '{obj:gerrit_merge_triggers}'
+ server-name: "{gerrit-server-name}"
+ trigger-on: "{obj:gerrit_merge_triggers}"
projects:
- project-compare-type: ANT
- project-pattern: '{project}'
+ project-pattern: "{project}"
branches:
- branch-compare-type: ANT
- branch-pattern: '**/{branch}'
+ branch-pattern: "**/{branch}"
- job-template:
- name: '{project-name}-maven-javadoc-publish-{stream}-{java-version}'
+ name: "{project-name}-maven-javadoc-publish-{stream}-{java-version}"
id: github-maven-javadoc-publish
<<: *lf_maven_common
# yamllint disable-line rule:key-duplicates
properties:
- lf-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ build-days-to-keep: "{build-days-to-keep}"
- github:
- url: '{github-url}/{github-org}/{project}'
+ 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}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ url: "{git-clone-url}{github-org}/{project}"
+ refspec: ""
+ branch: "{branch}"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
- github
- pollscm:
- cron: ''
+ cron: ""
- github-pull-request:
- trigger-phrase: '^remerge$'
+ trigger-phrase: "^remerge$"
only-trigger-phrase: true
- status-context: 'Maven Javadoc Publish'
+ 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}'
+ - "{github-org}"
+ white-list: "{obj:github_pr_whitelist}"
+ admin-list: "{obj:github_pr_admin_list}"
white-list-target-branches:
- - '{branch}'
+ - "{branch}"
########################
# Maven Javadoc Verify #
######################
branch: master
- build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
+ 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'
+ git-url: "$GIT_URL/$PROJECT"
+ github-url: "https://github.com"
java-version: openjdk8
mvn-global-settings: global-settings
- mvn-opts: ''
- mvn-params: ''
+ mvn-opts: ""
+ mvn-params: ""
mvn-version: mvn35
stream: master
submodule-recursive: true
#####################
concurrent: true
- disabled: '{disable-job}'
+ disabled: "{disable-job}"
builders:
- lf-infra-pre-build
- lf-maven-install:
- mvn-version: '{mvn-version}'
+ mvn-version: "{mvn-version}"
- lf-update-java-alternatives:
- java-version: '{java-version}'
+ java-version: "{java-version}"
- lf-provide-maven-settings:
- global-settings-file: '{mvn-global-settings}'
- settings-file: '{mvn-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}-{java-version}'
+ name: "{project-name}-maven-javadoc-verify-{stream}-{java-version}"
id: gerrit-maven-javadoc-verify
<<: *lf_maven_common
# yamllint disable-line rule:key-duplicates
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}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
+ git-url: "{git-url}"
+ refspec: "$GERRIT_REFSPEC"
+ branch: "$GERRIT_BRANCH"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: gerrit
triggers:
- gerrit:
- server-name: '{gerrit-server-name}'
- trigger-on: '{obj:gerrit_verify_triggers}'
+ server-name: "{gerrit-server-name}"
+ trigger-on: "{obj:gerrit_verify_triggers}"
projects:
- project-compare-type: ANT
- project-pattern: '{project}'
+ project-pattern: "{project}"
branches:
- branch-compare-type: ANT
- branch-pattern: '**/{branch}'
+ branch-pattern: "**/{branch}"
- job-template:
- name: '{project-name}-maven-javadoc-verify-{stream}-{java-version}'
+ name: "{project-name}-maven-javadoc-verify-{stream}-{java-version}"
id: github-maven-javadoc-verify
<<: *lf_maven_common
# yamllint disable-line rule:key-duplicates
properties:
- lf-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ build-days-to-keep: "{build-days-to-keep}"
- github:
- url: '{github-url}/{github-org}/{project}'
+ 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}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ url: "{git-clone-url}{github-org}/{project}"
+ refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
+ branch: "$sha1"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
- github-pull-request:
trigger-phrase: ^(recheck|reverify)$
only-trigger-phrase: false
- status-context: 'Maven Javadoc Verify'
+ status-context: "Maven Javadoc Verify"
permit-all: true
github-hooks: true
white-list-target-branches:
- - '{branch}'
+ - "{branch}"
###############
# Maven Merge #
######################
branch: master
- build-days-to-keep: 30 # 30 days in case we need to troubleshoot
+ build-days-to-keep: 30 # 30 days in case we need to troubleshoot
build-timeout: 60
- cron: '@daily'
+ cron: "@daily"
disable-job: false
- git-url: '$GIT_URL/$PROJECT'
- github-url: 'https://github.com'
+ 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-opts: ""
+ mvn-params: "-Dmerge"
mvn-version: mvn35
- nexus-cut-dirs: 6 # Number of dirs in the Nexus path to remove for wget -r.
+ nexus-cut-dirs: 6 # Number of dirs in the Nexus path to remove for wget -r.
stream: master
submodule-recursive: true
submodule-timeout: 10
gerrit_trigger_file_paths:
- compare-type: REG_EXP
- pattern: '.*'
+ pattern: ".*"
# github_included_regions MUST match gerrit_trigger_file_paths
github_included_regions:
- - '.*'
+ - ".*"
- post_build_trigger: ''
+ post_build_trigger: ""
#####################
# Job Configuration #
#####################
- disabled: '{disable-job}'
+ disabled: "{disable-job}"
builders:
- lf-infra-pre-build
- lf-jacoco-nojava-workaround
- lf-maven-install:
- mvn-version: '{mvn-version}'
+ mvn-version: "{mvn-version}"
- lf-update-java-alternatives:
- java-version: '{java-version}'
+ java-version: "{java-version}"
- lf-provide-maven-settings:
- global-settings-file: '{mvn-global-settings}'
- settings-file: '{mvn-settings}'
+ global-settings-file: "{mvn-global-settings}"
+ settings-file: "{mvn-settings}"
- lf-infra-create-netrc:
- server-id: '{mvn-snapshot-id}'
+ server-id: "{mvn-snapshot-id}"
- inject:
properties-content: |
- NEXUS_CUT_DIRS={nexus-cut-dirs}
- NEXUS_REPO={nexus-snapshot-repo}
+ 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}'
+ mvn-goals: "{mvn-goals}"
- lf-maven-deploy
- lf-provide-maven-settings-cleanup
- findbugs
- lf-jacoco-report
- lf-infra-publish
- - trigger-parameterized-builds: '{obj:post_build_trigger}'
+ - trigger-parameterized-builds: "{obj:post_build_trigger}"
- job-template:
- name: '{project-name}-maven-merge-{stream}'
+ name: "{project-name}-maven-merge-{stream}"
id: gerrit-maven-merge
<<: *lf_maven_common
# yamllint disable-line rule:key-duplicates
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}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
+ git-url: "{git-url}"
+ refspec: "$GERRIT_REFSPEC"
+ branch: "$GERRIT_BRANCH"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
triggers:
- - timed: '{obj:cron}'
+ - timed: "{obj:cron}"
- gerrit:
- server-name: '{gerrit-server-name}'
- trigger-on: '{obj:gerrit_merge_triggers}'
+ server-name: "{gerrit-server-name}"
+ trigger-on: "{obj:gerrit_merge_triggers}"
projects:
- project-compare-type: ANT
- project-pattern: '{project}'
+ project-pattern: "{project}"
branches:
- branch-compare-type: ANT
- branch-pattern: '**/{branch}'
- file-paths: '{obj:gerrit_trigger_file_paths}'
+ branch-pattern: "**/{branch}"
+ file-paths: "{obj:gerrit_trigger_file_paths}"
- job-template:
- name: '{project-name}-maven-merge-{stream}'
+ name: "{project-name}-maven-merge-{stream}"
id: github-maven-merge
<<: *lf_maven_common
# yamllint disable-line rule:key-duplicates
properties:
- lf-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ build-days-to-keep: "{build-days-to-keep}"
- github:
- url: '{github-url}/{github-org}/{project}'
+ 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}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ url: "{git-clone-url}{github-org}/{project}"
+ refspec: ""
+ branch: "refs/heads/{branch}"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
- - timed: '{obj:cron}'
+ - timed: "{obj:cron}"
- github
- pollscm:
- cron: ''
+ cron: ""
- github-pull-request:
- trigger-phrase: '^remerge$'
+ trigger-phrase: "^remerge$"
only-trigger-phrase: true
- status-context: 'Maven Merge'
+ 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}'
+ - "{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}'
+ - "{branch}"
+ included-regions: "{obj:github_included_regions}"
##########################
# Maven Merge for Docker #
- lf-infra-pre-build
- lf-jacoco-nojava-workaround
- lf-maven-install:
- mvn-version: '{mvn-version}'
+ mvn-version: "{mvn-version}"
- lf-infra-docker-login:
- global-settings-file: '{mvn-global-settings}'
- settings-file: '{mvn-settings}'
+ global-settings-file: "{mvn-global-settings}"
+ settings-file: "{mvn-settings}"
- lf-update-java-alternatives:
- java-version: '{java-version}'
+ java-version: "{java-version}"
# must provide maven settings AFTER docker due to its cleanup
- lf-provide-maven-settings:
- global-settings-file: '{mvn-global-settings}'
- settings-file: '{mvn-settings}'
+ global-settings-file: "{mvn-global-settings}"
+ settings-file: "{mvn-settings}"
- lf-infra-create-netrc:
- server-id: '{mvn-snapshot-id}'
+ server-id: "{mvn-snapshot-id}"
- inject:
properties-content: |
- NEXUS_CUT_DIRS={nexus-cut-dirs}
- NEXUS_REPO={nexus-snapshot-repo}
- CONTAINER_PULL_REGISTRY={container-public-registry}
- CONTAINER_PUSH_REGISTRY={container-snapshot-registry}
+ NEXUS_CUT_DIRS={nexus-cut-dirs}
+ NEXUS_REPO={nexus-snapshot-repo}
+ CONTAINER_PULL_REGISTRY={container-public-registry}
+ CONTAINER_PUSH_REGISTRY={container-snapshot-registry}
- shell: !include-raw-escape: ../shell/maven-fetch-metadata.sh
- lf-maven-build:
- mvn-goals: '{mvn-goals}'
+ mvn-goals: "{mvn-goals}"
# NO lf-maven-deploy
- lf-provide-maven-settings-cleanup
- job-template:
- name: '{project-name}-maven-docker-merge-{stream}'
+ name: "{project-name}-maven-docker-merge-{stream}"
id: gerrit-maven-docker-merge
<<: *lf_maven_common
# yamllint disable-line rule:key-duplicates
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}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
+ git-url: "{git-url}"
+ refspec: "$GERRIT_REFSPEC"
+ branch: "$GERRIT_BRANCH"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
triggers:
- gerrit:
- server-name: '{gerrit-server-name}'
- trigger-on: '{obj:gerrit_merge_triggers}'
+ server-name: "{gerrit-server-name}"
+ trigger-on: "{obj:gerrit_merge_triggers}"
projects:
- project-compare-type: ANT
- project-pattern: '{project}'
+ project-pattern: "{project}"
branches:
- branch-compare-type: ANT
- branch-pattern: '**/{branch}'
- file-paths: '{obj:gerrit_trigger_file_paths}'
+ branch-pattern: "**/{branch}"
+ file-paths: "{obj:gerrit_trigger_file_paths}"
- job-template:
- name: '{project-name}-maven-docker-merge-{stream}'
+ name: "{project-name}-maven-docker-merge-{stream}"
id: github-maven-docker-merge
<<: *lf_maven_common
# yamllint disable-line rule:key-duplicates
properties:
- lf-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ build-days-to-keep: "{build-days-to-keep}"
- github:
- url: '{github-url}/{github-org}/{project}'
+ 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}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ url: "{git-clone-url}{github-org}/{project}"
+ refspec: ""
+ branch: "refs/heads/{branch}"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
- github
- pollscm:
- cron: ''
+ cron: ""
- github-pull-request:
- trigger-phrase: '^remerge$'
+ trigger-phrase: "^remerge$"
only-trigger-phrase: true
- status-context: 'Maven Docker Merge'
+ status-context: "Maven Docker Merge"
permit-all: true
github-hooks: true
org-list:
- - '{github-org}'
- white-list: '{obj:github_pr_whitelist}'
- admin-list: '{obj:github_pr_admin_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}'
+ - "{branch}"
+ included-regions: "{obj:github_included_regions}"
###############
# Maven Stage #
######################
branch: master
- build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
+ build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
build-timeout: 60
- cron: '@daily'
+ cron: "@daily"
disable-job: false
- git-url: '$GIT_URL/$PROJECT'
- github-url: 'https://github.com'
+ git-url: "$GIT_URL/$PROJECT"
+ github-url: "https://github.com"
java-version: openjdk8
maven-versions-plugin: false
version-properties-file: version.properties
mvn-central: false
mvn-global-settings: global-settings
mvn-goals: clean deploy
- mvn-opts: ''
- mvn-params: ''
+ mvn-opts: ""
+ mvn-params: ""
mvn-version: mvn35
- ossrh-profile-id: ''
- mvn-pom: ''
+ ossrh-profile-id: ""
+ mvn-pom: ""
sign-artifacts: false
sign-mode: serial
stream: master
gerrit_trigger_file_paths:
- compare-type: ANT
- pattern: '**'
+ pattern: "**"
# github_included_regions MUST match gerrit_trigger_file_paths
github_included_regions:
- - '.*'
+ - ".*"
#####################
# Job Configuration #
#####################
- disabled: '{disable-job}'
+ disabled: "{disable-job}"
parameters:
- lf-infra-parameters:
- project: '{project}'
- branch: '{branch}'
- stream: '{stream}'
+ project: "{project}"
+ branch: "{branch}"
+ stream: "{stream}"
- lf-infra-maven-parameters:
- mvn-opts: '{mvn-opts}'
- mvn-params: '{mvn-params}'
- mvn-version: '{mvn-version}'
- staging-profile-id: '{staging-profile-id}'
+ mvn-opts: "{mvn-opts}"
+ mvn-params: "{mvn-params}"
+ mvn-version: "{mvn-version}"
+ staging-profile-id: "{staging-profile-id}"
- bool:
name: MAVEN_VERSIONS_PLUGIN
- default: '{maven-versions-plugin}'
+ default: "{maven-versions-plugin}"
description: Use maven-versions-plugin to update pom versions.
- string:
name: ARCHIVE_ARTIFACTS
- default: '{archive-artifacts}'
+ default: "{archive-artifacts}"
description: Artifacts to archive to the logs server.
- string:
name: STAGING_PROFILE_ID
- default: '{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}'
+ mvn-version: "{mvn-version}"
- lf-update-java-alternatives:
- java-version: '{java-version}'
+ java-version: "{java-version}"
- lf-provide-maven-settings:
- global-settings-file: '{mvn-global-settings}'
- settings-file: '{mvn-settings}'
+ global-settings-file: "{mvn-global-settings}"
+ settings-file: "{mvn-settings}"
- lf-maven-versions-plugin:
- maven-versions-plugin: '{maven-versions-plugin}'
- version-properties-file: '{version-properties-file}'
- mvn-version: '{mvn-version}'
- mvn-pom: '{mvn-pom}'
- mvn-settings: '{mvn-settings}'
+ maven-versions-plugin: "{maven-versions-plugin}"
+ version-properties-file: "{version-properties-file}"
+ mvn-version: "{mvn-version}"
+ mvn-pom: "{mvn-pom}"
+ mvn-settings: "{mvn-settings}"
- shell: !include-raw-escape: ../shell/maven-patch-release.sh
- lf-maven-build:
- mvn-goals: '{mvn-goals}'
+ mvn-goals: "{mvn-goals}"
- lf-sigul-sign-dir:
- sign-artifacts: '{sign-artifacts}'
- sign-dir: '$WORKSPACE/m2repo'
- sign-mode: '{sign-mode}'
+ sign-artifacts: "{sign-artifacts}"
+ sign-dir: "$WORKSPACE/m2repo"
+ sign-mode: "{sign-mode}"
- lf-maven-stage:
- mvn-global-settings: '{mvn-global-settings}'
- mvn-settings: '{mvn-settings}'
- mvn-staging-id: '{mvn-staging-id}'
+ mvn-global-settings: "{mvn-global-settings}"
+ mvn-settings: "{mvn-settings}"
+ mvn-staging-id: "{mvn-staging-id}"
- lf-maven-central:
- mvn-central: '{mvn-central}'
- mvn-global-settings: '{mvn-global-settings}'
- mvn-settings: '{mvn-settings}'
- ossrh-profile-id: '{ossrh-profile-id}'
+ mvn-central: "{mvn-central}"
+ mvn-global-settings: "{mvn-global-settings}"
+ mvn-settings: "{mvn-settings}"
+ ossrh-profile-id: "{ossrh-profile-id}"
- lf-provide-maven-settings-cleanup
- job-template:
- name: '{project-name}-maven-stage-{stream}'
+ name: "{project-name}-maven-stage-{stream}"
id: gerrit-maven-stage
<<: *lf_maven_common
# yamllint disable-line rule:key-duplicates
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}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
+ git-url: "{git-url}"
+ refspec: "$GERRIT_REFSPEC"
+ branch: "$GERRIT_BRANCH"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
triggers:
- - timed: '{obj:cron}'
+ - timed: "{obj:cron}"
- gerrit:
- server-name: '{gerrit-server-name}'
- trigger-on: '{obj:gerrit_release_triggers}'
+ server-name: "{gerrit-server-name}"
+ trigger-on: "{obj:gerrit_release_triggers}"
projects:
- project-compare-type: ANT
- project-pattern: '{project}'
+ project-pattern: "{project}"
branches:
- branch-compare-type: ANT
- branch-pattern: '**/{branch}'
- file-paths: '{obj:gerrit_trigger_file_paths}'
+ branch-pattern: "**/{branch}"
+ file-paths: "{obj:gerrit_trigger_file_paths}"
- job-template:
- name: '{project-name}-maven-stage-{stream}'
+ name: "{project-name}-maven-stage-{stream}"
id: github-maven-stage
<<: *lf_maven_common
# yamllint disable-line rule:key-duplicates
properties:
- lf-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ build-days-to-keep: "{build-days-to-keep}"
- github:
- url: '{github-url}/{github-org}/{project}'
+ 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}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ url: "{git-clone-url}{github-org}/{project}"
+ refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
+ branch: "{branch}"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
- - timed: '{obj:cron}'
+ - timed: "{obj:cron}"
- github-pull-request:
- trigger-phrase: '^build release$'
+ trigger-phrase: "^build release$"
only-trigger-phrase: true
- status-context: 'Maven Release'
+ status-context: "Maven Release"
permit-all: true
github-hooks: true
white-list-target-branches:
- - '{branch}'
- included-regions: '{obj:github_included_regions}'
+ - "{branch}"
+ included-regions: "{obj:github_included_regions}"
##########################
# Maven Stage for Docker #
- lf-infra-pre-build
- lf-jacoco-nojava-workaround
- lf-maven-install:
- mvn-version: '{mvn-version}'
+ mvn-version: "{mvn-version}"
- lf-update-java-alternatives:
- java-version: '{java-version}'
+ java-version: "{java-version}"
- lf-infra-docker-login:
- global-settings-file: '{mvn-global-settings}'
- settings-file: '{mvn-settings}'
+ global-settings-file: "{mvn-global-settings}"
+ settings-file: "{mvn-settings}"
# must provide maven settings AFTER docker-login due to its cleanup
- lf-provide-maven-settings:
- global-settings-file: '{mvn-global-settings}'
- settings-file: '{mvn-settings}'
+ global-settings-file: "{mvn-global-settings}"
+ settings-file: "{mvn-settings}"
- lf-maven-versions-plugin:
- maven-versions-plugin: '{maven-versions-plugin}'
- version-properties-file: '{version-properties-file}'
- mvn-version: '{mvn-version}'
- mvn-pom: '{mvn-pom}'
- mvn-settings: '{mvn-settings}'
+ maven-versions-plugin: "{maven-versions-plugin}"
+ version-properties-file: "{version-properties-file}"
+ mvn-version: "{mvn-version}"
+ mvn-pom: "{mvn-pom}"
+ mvn-settings: "{mvn-settings}"
- shell: !include-raw-escape: ../shell/maven-patch-release.sh
- inject:
properties-content: |
- CONTAINER_PULL_REGISTRY={container-public-registry}
- CONTAINER_PUSH_REGISTRY={container-staging-registry}
+ CONTAINER_PULL_REGISTRY={container-public-registry}
+ CONTAINER_PUSH_REGISTRY={container-staging-registry}
- lf-maven-build:
- mvn-goals: '{mvn-goals}'
+ mvn-goals: "{mvn-goals}"
- lf-sigul-sign-dir:
- sign-artifacts: '{sign-artifacts}'
- sign-dir: '$WORKSPACE/m2repo'
- sign-mode: '{sign-mode}'
+ sign-artifacts: "{sign-artifacts}"
+ sign-dir: "$WORKSPACE/m2repo"
+ sign-mode: "{sign-mode}"
# NO lf-maven-stage
# NO lf-maven-central
- lf-provide-maven-settings-cleanup
- job-template:
- name: '{project-name}-maven-docker-stage-{stream}'
+ name: "{project-name}-maven-docker-stage-{stream}"
id: gerrit-maven-docker-stage
<<: *lf_maven_common
# yamllint disable-line rule:key-duplicates
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}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
+ git-url: "{git-url}"
+ refspec: "$GERRIT_REFSPEC"
+ branch: "$GERRIT_BRANCH"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
triggers:
- - timed: '{obj:cron}'
+ - timed: "{obj:cron}"
- gerrit:
- server-name: '{gerrit-server-name}'
- trigger-on: '{obj:gerrit_release_triggers}'
+ server-name: "{gerrit-server-name}"
+ trigger-on: "{obj:gerrit_release_triggers}"
projects:
- project-compare-type: ANT
- project-pattern: '{project}'
+ project-pattern: "{project}"
branches:
- branch-compare-type: ANT
- branch-pattern: '**/{branch}'
- file-paths: '{obj:gerrit_trigger_file_paths}'
+ branch-pattern: "**/{branch}"
+ file-paths: "{obj:gerrit_trigger_file_paths}"
- job-template:
- name: '{project-name}-maven-docker-stage-{stream}'
+ name: "{project-name}-maven-docker-stage-{stream}"
id: github-maven-docker-stage
<<: *lf_maven_common
# yamllint disable-line rule:key-duplicates
properties:
- lf-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ build-days-to-keep: "{build-days-to-keep}"
- github:
- url: '{github-url}/{github-org}/{project}'
+ 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}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ url: "{git-clone-url}{github-org}/{project}"
+ refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
+ branch: "{branch}"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
- - timed: '{obj:cron}'
+ - timed: "{obj:cron}"
- github-pull-request:
- trigger-phrase: '^build release$'
+ trigger-phrase: "^build release$"
only-trigger-phrase: true
- status-context: 'Maven Release'
+ status-context: "Maven Release"
permit-all: true
github-hooks: true
white-list-target-branches:
- - '{branch}'
- included-regions: '{obj:github_included_regions}'
+ - "{branch}"
+ included-regions: "{obj:github_included_regions}"
###############
# Maven Sonar #
# Default parameters #
######################
- branch: master # Sonar should always be run on master branch
+ branch: master # Sonar should always be run on master branch
build-days-to-keep: 7
build-timeout: 60
- cron: 'H H * * 6' # run weekly
+ cron: "H H * * 6" # run weekly
disable-job: false
- git-url: '$GIT_URL/$PROJECT'
- github-url: 'https://github.com'
+ git-url: "$GIT_URL/$PROJECT"
+ github-url: "https://github.com"
java-version: openjdk8
mvn-global-settings: global-settings
mvn-goals: clean install
- mvn-opts: ''
- mvn-params: ''
+ mvn-opts: ""
+ mvn-params: ""
mvn-version: mvn35
- sonar-mvn-goal: 'sonar:sonar'
+ sonar-mvn-goal: "sonar:sonar"
sonarcloud: false
- sonarcloud-project-key: ''
- sonarcloud-project-organization: ''
- sonarcloud-api-token: ''
+ sonarcloud-project-key: ""
+ sonarcloud-project-organization: ""
+ sonarcloud-api-token: ""
stream: master
submodule-recursive: true
submodule-timeout: 10
# Job Configuration #
#####################
- disabled: '{disable-job}'
+ disabled: "{disable-job}"
parameters:
- lf-infra-parameters:
- project: '{project}'
- branch: '{branch}'
- stream: '{stream}'
+ project: "{project}"
+ branch: "{branch}"
+ stream: "{stream}"
- lf-infra-maven-parameters:
- mvn-opts: '{mvn-opts}'
- mvn-params: '{mvn-params}'
- mvn-version: '{mvn-version}'
+ mvn-opts: "{mvn-opts}"
+ mvn-params: "{mvn-params}"
+ mvn-version: "{mvn-version}"
- string:
name: ARCHIVE_ARTIFACTS
- default: '{archive-artifacts}'
+ default: "{archive-artifacts}"
description: Artifacts to archive to the logs server.
- string:
name: SONAR_MAVEN_GOAL
- default: '{sonar-mvn-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".
+ 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}'
+ - timed: "{obj:cron}"
- gerrit:
- server-name: '{gerrit-server-name}'
- trigger-on: '{obj:gerrit_sonar_triggers}'
+ server-name: "{gerrit-server-name}"
+ trigger-on: "{obj:gerrit_sonar_triggers}"
projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
+ - project-compare-type: "ANT"
+ project-pattern: "{project}"
branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/master'
+ - branch-compare-type: "ANT"
+ branch-pattern: "**/master"
skip-vote:
successful: true
failed: true
# With SonarCloud
- conditional-step:
condition-kind: boolean-expression
- condition-expression: '{sonarcloud}'
+ condition-expression: "{sonarcloud}"
steps:
- shell: echo 'Using SonarCloud'
- lf-infra-maven-sonarcloud:
- java-version: '{java-version}'
- mvn-goals: '{mvn-goals}'
- mvn-settings: '{mvn-settings}'
- mvn-version: '{mvn-version}'
- sonarcloud-project-key: '{sonarcloud-project-key}'
- sonarcloud-project-organization: '{sonarcloud-project-organization}'
- sonarcloud-api-token: '{sonarcloud-api-token}'
+ java-version: "{java-version}"
+ mvn-goals: "{mvn-goals}"
+ mvn-settings: "{mvn-settings}"
+ mvn-version: "{mvn-version}"
+ sonarcloud-project-key: "{sonarcloud-project-key}"
+ sonarcloud-project-organization: "{sonarcloud-project-organization}"
+ sonarcloud-api-token: "{sonarcloud-api-token}"
# With SonarQube
- conditional-step:
condition-kind: not
condition-operand:
condition-kind: boolean-expression
- condition-expression: '{sonarcloud}'
+ condition-expression: "{sonarcloud}"
steps:
- shell: echo 'Using SonarQube'
- lf-infra-maven-sonar:
- java-version: '{java-version}'
- mvn-goals: '{mvn-goals}'
- mvn-settings: '{mvn-settings}'
- mvn-version: '{mvn-version}'
+ java-version: "{java-version}"
+ mvn-goals: "{mvn-goals}"
+ mvn-settings: "{mvn-settings}"
+ mvn-version: "{mvn-version}"
publishers:
- lf-jacoco-report
# Run a Sonar build with Maven
builders:
- lf-maven-install:
- mvn-version: '{mvn-version}'
+ mvn-version: "{mvn-version}"
- lf-update-java-alternatives:
- java-version: '{java-version}'
+ java-version: "{java-version}"
- inject:
# Switch this to the sonar wrapper when JJB 2.0 is available
properties-content: |
MAVEN_GOALS={mvn-goals}
- lf-provide-maven-settings:
global-settings-file: global-settings
- settings-file: '{mvn-settings}'
+ settings-file: "{mvn-settings}"
- shell: !include-raw-escape:
- ../shell/common-variables.sh
- ../shell/maven-sonar.sh
# Run a Sonar build with Maven
builders:
- lf-maven-install:
- mvn-version: '{mvn-version}'
+ mvn-version: "{mvn-version}"
- lf-update-java-alternatives:
- java-version: '{java-version}'
+ java-version: "{java-version}"
- inject:
# Switch this to the sonar wrapper when JJB 2.0 is available
properties-content: |
API_TOKEN={sonarcloud-api-token}
- lf-provide-maven-settings:
global-settings-file: global-settings
- settings-file: '{mvn-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'
+ name: "{project-name}-sonar"
id: gerrit-maven-sonar
<<: *lf_maven_common
# yamllint disable-line rule:key-duplicates
scm:
- lf-infra-gerrit-scm:
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
- git-url: '{git-url}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
+ git-url: "{git-url}"
refspec: $GERRIT_REFSPEC
branch: $GERRIT_BRANCH
- submodule-recursive: '{submodule-recursive}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
- job-template:
- name: '{project-name}-sonar'
+ name: "{project-name}-sonar"
id: github-maven-sonar
<<: *lf_maven_common
# yamllint disable-line rule:key-duplicates
properties:
- lf-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ build-days-to-keep: "{build-days-to-keep}"
- github:
- url: '{github-url}/{github-org}/{project}'
+ 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}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ url: "{git-clone-url}{github-org}/{project}"
+ refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
+ branch: "$sha1"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
- - timed: '{obj:cron}'
+ - timed: "{obj:cron}"
- github-pull-request:
- trigger-phrase: '^run-sonar$'
+ trigger-phrase: "^run-sonar$"
only-trigger-phrase: true
- status-context: 'Maven Sonar'
+ status-context: "Maven Sonar"
permit-all: true
github-hooks: true
org-list:
- - '{github-org}'
- white-list: '{obj:github_pr_whitelist}'
- admin-list: '{obj:github_pr_admin_list}'
+ - "{github-org}"
+ white-list: "{obj:github_pr_whitelist}"
+ admin-list: "{obj:github_pr_admin_list}"
white-list-target-branches:
- - '{branch}'
+ - "{branch}"
################
# Maven Verify #
build-days-to-keep: 7
build-timeout: 60
disable-job: false
- git-url: '$GIT_URL/$PROJECT'
- github-url: 'https://github.com'
+ 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 -Dmaven.source.skip=true'
+ mvn-opts: ""
+ mvn-params: "-Dstream=$STREAM -Dmaven.source.skip=true"
mvn-version: mvn35
stream: master
submodule-recursive: true
gerrit_trigger_file_paths:
- compare-type: REG_EXP
- pattern: '.*'
+ pattern: ".*"
# github_included_regions MUST match gerrit_trigger_file_paths
github_included_regions:
- - '.*'
+ - ".*"
#####################
# Job Configuration #
#####################
concurrent: true
- disabled: '{disable-job}'
+ disabled: "{disable-job}"
builders:
- lf-infra-pre-build
- lf-jacoco-nojava-workaround
- lf-maven-install:
- mvn-version: '{mvn-version}'
+ mvn-version: "{mvn-version}"
- lf-update-java-alternatives:
- java-version: '{java-version}'
+ java-version: "{java-version}"
- lf-provide-maven-settings:
- global-settings-file: '{mvn-global-settings}'
- settings-file: '{mvn-settings}'
+ global-settings-file: "{mvn-global-settings}"
+ settings-file: "{mvn-settings}"
- lf-maven-build:
- mvn-goals: '{mvn-goals}'
+ mvn-goals: "{mvn-goals}"
- lf-provide-maven-settings-cleanup
publishers:
- lf-infra-publish
- job-template:
- name: '{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}'
+ name: "{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}"
id: gerrit-maven-verify
<<: *lf_maven_common
# yamllint disable-line rule:key-duplicates
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}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
+ git-url: "{git-url}"
+ refspec: "$GERRIT_REFSPEC"
+ branch: "$GERRIT_BRANCH"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: gerrit
triggers:
- gerrit:
- server-name: '{gerrit-server-name}'
- trigger-on: '{obj:gerrit_verify_triggers}'
+ server-name: "{gerrit-server-name}"
+ trigger-on: "{obj:gerrit_verify_triggers}"
projects:
- project-compare-type: ANT
- project-pattern: '{project}'
+ project-pattern: "{project}"
branches:
- branch-compare-type: ANT
- branch-pattern: '**/{branch}'
- file-paths: '{obj:gerrit_trigger_file_paths}'
+ branch-pattern: "**/{branch}"
+ file-paths: "{obj:gerrit_trigger_file_paths}"
- job-template:
- name: '{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}'
+ name: "{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}"
id: github-maven-verify
<<: *lf_maven_common
# yamllint disable-line rule:key-duplicates
properties:
- lf-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ build-days-to-keep: "{build-days-to-keep}"
- github:
- url: '{github-url}/{github-org}/{project}'
+ 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}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ url: "{git-clone-url}{github-org}/{project}"
+ refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
+ branch: "$sha1"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
- github-pull-request:
- trigger-phrase: '^(recheck|reverify)$'
+ trigger-phrase: "^(recheck|reverify)$"
only-trigger-phrase: false
- status-context: 'Maven Verify {mvn-version}-{java-version}'
+ status-context: "Maven Verify {mvn-version}-{java-version}"
permit-all: true
github-hooks: true
white-list-target-branches:
- - '{branch}'
- included-regions: '{obj:github_included_regions}'
+ - "{branch}"
+ included-regions: "{obj:github_included_regions}"
###########################
# Maven Verify for Docker #
- lf-infra-pre-build
- lf-jacoco-nojava-workaround
- lf-maven-install:
- mvn-version: '{mvn-version}'
+ mvn-version: "{mvn-version}"
- lf-update-java-alternatives:
- java-version: '{java-version}'
+ java-version: "{java-version}"
- lf-infra-docker-login:
- global-settings-file: '{mvn-global-settings}'
- settings-file: '{mvn-settings}'
+ global-settings-file: "{mvn-global-settings}"
+ settings-file: "{mvn-settings}"
# must provide maven settings AFTER docker due to its cleanup
- lf-provide-maven-settings:
- global-settings-file: '{mvn-global-settings}'
- settings-file: '{mvn-settings}'
+ global-settings-file: "{mvn-global-settings}"
+ settings-file: "{mvn-settings}"
- inject:
properties-content: |
- CONTAINER_PULL_REGISTRY={container-public-registry}
+ CONTAINER_PULL_REGISTRY={container-public-registry}
- lf-maven-build:
- mvn-goals: '{mvn-goals}'
+ mvn-goals: "{mvn-goals}"
- lf-provide-maven-settings-cleanup
- job-template:
- name: '{project-name}-maven-docker-verify-{stream}-{mvn-version}-{java-version}'
+ name: "{project-name}-maven-docker-verify-{stream}-{mvn-version}-{java-version}"
id: gerrit-maven-docker-verify
<<: *lf_maven_common
# yamllint disable-line rule:key-duplicates
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}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
+ git-url: "{git-url}"
+ refspec: "$GERRIT_REFSPEC"
+ branch: "$GERRIT_BRANCH"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: gerrit
triggers:
- gerrit:
- server-name: '{gerrit-server-name}'
- trigger-on: '{obj:gerrit_verify_triggers}'
+ server-name: "{gerrit-server-name}"
+ trigger-on: "{obj:gerrit_verify_triggers}"
projects:
- project-compare-type: ANT
- project-pattern: '{project}'
+ project-pattern: "{project}"
branches:
- branch-compare-type: ANT
- branch-pattern: '**/{branch}'
- file-paths: '{obj:gerrit_trigger_file_paths}'
+ branch-pattern: "**/{branch}"
+ file-paths: "{obj:gerrit_trigger_file_paths}"
- job-template:
- name: '{project-name}-maven-docker-verify-{stream}-{mvn-version}-{java-version}'
+ name: "{project-name}-maven-docker-verify-{stream}-{mvn-version}-{java-version}"
id: github-maven-docker-verify
<<: *lf_maven_common
# yamllint disable-line rule:key-duplicates
properties:
- lf-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ build-days-to-keep: "{build-days-to-keep}"
- github:
- url: '{github-url}/{github-org}/{project}'
+ 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}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ url: "{git-clone-url}{github-org}/{project}"
+ refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
+ branch: "$sha1"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
- github-pull-request:
- trigger-phrase: '^(recheck|reverify)$'
+ trigger-phrase: "^(recheck|reverify)$"
only-trigger-phrase: false
- status-context: 'Maven Docker Verify {mvn-version}-{java-version}'
+ status-context: "Maven Docker Verify {mvn-version}-{java-version}"
permit-all: true
github-hooks: true
white-list-target-branches:
- - '{branch}'
- included-regions: '{obj:github_included_regions}'
+ - "{branch}"
+ included-regions: "{obj:github_included_regions}"
#############################
# Maven Verify Dependencies #
build-days-to-keep: 7
build-timeout: 60
disable-job: false
- git-url: '$GIT_URL/$PROJECT'
- github-url: 'https://github.com'
+ 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-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 ]+'
+ comment-contains-value: "recheck: [0-9 ]+"
gerrit_trigger_file_paths:
- compare-type: ANT
- pattern: '**'
+ pattern: "**"
#####################
# Job Configuration #
#####################
concurrent: true
- disabled: '{disable-job}'
+ disabled: "{disable-job}"
builders:
- lf-infra-pre-build
- lf-jacoco-nojava-workaround
- lf-maven-install:
- mvn-version: '{mvn-version}'
+ mvn-version: "{mvn-version}"
- lf-update-java-alternatives:
- java-version: '{java-version}'
+ java-version: "{java-version}"
- lf-provide-maven-settings:
- global-settings-file: '{mvn-global-settings}'
- settings-file: '{mvn-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}'
+ mvn-goals: "{mvn-goals}"
- lf-provide-maven-settings-cleanup
publishers:
- lf-infra-publish
- job-template:
- name: '{project-name}-maven-verify-deps-{stream}-{mvn-version}-{java-version}'
+ 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
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}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
+ git-url: "{git-url}"
+ refspec: "$GERRIT_REFSPEC"
+ branch: "$GERRIT_BRANCH"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: gerrit
triggers:
- gerrit:
- server-name: '{gerrit-server-name}'
- trigger-on: '{obj:gerrit_verify_triggers}'
+ server-name: "{gerrit-server-name}"
+ trigger-on: "{obj:gerrit_verify_triggers}"
projects:
- project-compare-type: ANT
- project-pattern: '{project}'
+ project-pattern: "{project}"
branches:
- branch-compare-type: ANT
- branch-pattern: '**/{branch}'
- file-paths: '{obj:gerrit_trigger_file_paths}'
+ branch-pattern: "**/{branch}"
+ file-paths: "{obj:gerrit_trigger_file_paths}"
---
- job-group:
- name: '{project-name}-github-node-jobs'
+ name: "{project-name}-github-node-jobs"
# Job group containing recommended jobs to deploy for a Node Project.
- github-node-verify
- job-group:
- name: '{project-name}-node-jobs'
+ name: "{project-name}-node-jobs"
# Job group containing recommended jobs to deploy for a Node Project.
---
-
###############
# Node Verify #
###############
build-days-to-keep: 7
build-timeout: 10
disable-job: false
- git-url: '$GIT_URL/$GERRIT_PROJECT'
- github-url: 'https://github.com'
- node-dir: ''
+ git-url: "$GIT_URL/$GERRIT_PROJECT"
+ github-url: "https://github.com"
+ node-dir: ""
stream: master
submodule-recursive: true
submodule-timeout: 10
gerrit_trigger_file_paths:
- compare-type: REG_EXP
- pattern: '.*'
+ pattern: ".*"
# github_included_regions MUST match gerrit_trigger_file_paths
github_included_regions:
- - '.*'
+ - ".*"
#####################
# Job Configuration #
#####################
project-type: freestyle
- node: '{build-node}'
+ node: "{build-node}"
concurrent: true
- disabled: '{disable-job}'
+ disabled: "{disable-job}"
properties:
- lf-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ build-days-to-keep: "{build-days-to-keep}"
parameters:
- lf-infra-parameters:
- project: '{project}'
- branch: '{branch}'
- stream: '{stream}'
+ project: "{project}"
+ branch: "{branch}"
+ stream: "{stream}"
- lf-infra-node-parameters:
- node-dir: '{node-dir}'
- node-version: '{node-version}'
+ node-dir: "{node-dir}"
+ node-version: "{node-version}"
wrappers:
- lf-infra-wrappers:
- build-timeout: '{build-timeout}'
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ build-timeout: "{build-timeout}"
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
builders:
- shell: !include-raw-escape:
- lf-infra-publish
- job-template:
- name: '{project-name}-node-verify-{stream}'
+ name: "{project-name}-node-verify-{stream}"
id: gerrit-node-verify
<<: *lf_node_verify
scm:
- lf-infra-gerrit-scm:
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
- git-url: '{git-url}'
- refspec: '$GERRIT_REFSPEC'
- branch: 'origin/$GERRIT_BRANCH'
- submodule-recursive: '{submodule-recursive}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
+ git-url: "{git-url}"
+ refspec: "$GERRIT_REFSPEC"
+ branch: "origin/$GERRIT_BRANCH"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: gerrit
triggers:
- gerrit:
- server-name: '{gerrit-server-name}'
- trigger-on: '{obj:gerrit_verify_triggers}'
+ server-name: "{gerrit-server-name}"
+ trigger-on: "{obj:gerrit_verify_triggers}"
projects:
- project-compare-type: ANT
- project-pattern: '{project}'
+ project-pattern: "{project}"
branches:
- branch-compare-type: ANT
- branch-pattern: '**/{branch}'
- file-paths: '{obj:gerrit_trigger_file_paths}'
+ branch-pattern: "**/{branch}"
+ file-paths: "{obj:gerrit_trigger_file_paths}"
- job-template:
- name: '{project-name}-node-verify-{stream}'
+ name: "{project-name}-node-verify-{stream}"
id: github-node-verify
<<: *lf_node_verify
properties:
- lf-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ build-days-to-keep: "{build-days-to-keep}"
- github:
- url: '{github-url}/{github-org}/{project}'
+ 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}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ url: "{git-clone-url}{github-org}/{project}"
+ refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
+ branch: "$sha1"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
- github-pull-request:
- trigger-phrase: '^(recheck|reverify)$'
+ trigger-phrase: "^(recheck|reverify)$"
only-trigger-phrase: false
- status-context: 'Node Verify'
+ status-context: "Node Verify"
permit-all: true
github-hooks: true
- included-regions: '{obj:github_included_regions}'
+ included-regions: "{obj:github_included_regions}"
white-list-target-branches:
- - '{branch}'
+ - "{branch}"
- config-file-provider:
files:
- file-id: clouds-yaml
- target: '$HOME/.config/openstack/clouds.yaml'
+ target: "$HOME/.config/openstack/clouds.yaml"
- shell: !include-raw: ../shell/openstack-stack-parameters.sh
- shell: !include-raw-escape: ../shell/openstack-stack-create.sh
- shell: !include-raw-escape: ../shell/openstack-stack-copy-ssh-keys.sh
- config-file-provider:
files:
- file-id: clouds-yaml
- target: '$HOME/.config/openstack/clouds.yaml'
+ target: "$HOME/.config/openstack/clouds.yaml"
- shell: |
#!/bin/bash -l
echo "Deleting $OS_STACK_NAME"
---
- job-group:
- name: '{project-name}-python-jobs'
+ name: "{project-name}-python-jobs"
# This job group contains all the recommended jobs that should be deployed
# for any project ci that is using Gerrit.
- gerrit-tox-verify
- job-group:
- name: '{project-name}-github-python-jobs'
+ name: "{project-name}-github-python-jobs"
# This job group contains all the recommended jobs that should be deployed
# for any project ci that is using GitHub.
---
-
##########
# Macros #
##########
name: lf-infra-tox-install
builders:
- inject:
- properties-content: 'PYTHON_VERSION={python-version}'
+ properties-content: "PYTHON_VERSION={python-version}"
- shell: !include-raw-escape: ../shell/tox-install.sh
- builder:
name: lf-infra-clm-python
builders:
- inject:
- properties-content: 'CLM_PROJECT_NAME={clm-project-name}'
+ properties-content: "CLM_PROJECT_NAME={clm-project-name}"
- shell: !include-raw-escape:
- ../shell/nexus-iq-cli.sh
#####################
project-type: freestyle
- node: '{build-node}'
+ node: "{build-node}"
properties:
- lf-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ build-days-to-keep: "{build-days-to-keep}"
parameters:
- lf-infra-parameters:
- project: '{project}'
- branch: '{branch}'
- stream: '{stream}'
+ project: "{project}"
+ branch: "{branch}"
+ stream: "{stream}"
wrappers:
- lf-infra-wrappers:
- build-timeout: '{build-timeout}'
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ build-timeout: "{build-timeout}"
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
publishers:
- lf-infra-publish
######################
branch: master
- build-days-to-keep: 30 # 30 days for troubleshooting purposes
+ 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'
+ git-url: "$GIT_URL/$PROJECT"
+ github-url: "https://github.com"
java-version: openjdk8
nexus-iq-cli-version: 1.44.0-01
- nexus-iq-namespace: '' # Recommend a trailing dash when set. Example: odl-
+ nexus-iq-namespace: "" # Recommend a trailing dash when set. Example: odl-
stream: master
submodule-recursive: true
submodule-timeout: 10
gerrit_trigger_file_paths:
- compare-type: ANT
- pattern: '.*'
+ pattern: ".*"
# github_included_regions MUST match gerrit_trigger_file_paths
github_included_regions:
- - '.*'
+ - ".*"
#####################
# Job Configuration #
#####################
- disabled: '{disable-job}'
+ disabled: "{disable-job}"
parameters:
- lf-infra-parameters:
- project: '{project}'
- branch: '{branch}'
- stream: '{stream}'
+ project: "{project}"
+ branch: "{branch}"
+ stream: "{stream}"
- string:
name: NEXUS_IQ_CLI_VERSION
- default: '{nexus-iq-cli-version}'
+ default: "{nexus-iq-cli-version}"
description: Nexus IQ CLI package to download and use.
wrappers:
password: CLM_PASSWORD
builders:
- lf-update-java-alternatives:
- java-version: '{java-version}'
+ java-version: "{java-version}"
- lf-infra-clm-python:
- clm-project-name: '{nexus-iq-namespace}{project-name}'
+ clm-project-name: "{nexus-iq-namespace}{project-name}"
- job-template:
- name: '{project-name}-python-clm-{stream}'
+ name: "{project-name}-python-clm-{stream}"
id: gerrit-python-xc-clm
<<: *lf_python_common
# yamllint disable-line rule:key-duplicates
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}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
+ git-url: "{git-url}"
+ refspec: "$GERRIT_REFSPEC"
+ branch: "$GERRIT_BRANCH"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
triggers:
# Build weekly on Saturdays
- - timed: 'H H * * 6'
+ - timed: "H H * * 6"
- gerrit:
- server-name: '{gerrit-server-name}'
- trigger-on: '{obj:gerrit_clm_triggers}'
+ server-name: "{gerrit-server-name}"
+ trigger-on: "{obj:gerrit_clm_triggers}"
projects:
- project-compare-type: ANT
- project-pattern: '{project}'
+ project-pattern: "{project}"
branches:
- branch-compare-type: ANT
- branch-pattern: '**/{branch}'
- file-paths: '{obj:gerrit_trigger_file_paths}'
+ branch-pattern: "**/{branch}"
+ file-paths: "{obj:gerrit_trigger_file_paths}"
skip-vote:
successful: true
failed: true
notbuilt: true
- job-template:
- name: '{project-name}-python-clm-{stream}'
+ name: "{project-name}-python-clm-{stream}"
id: github-python-xc-clm
<<: *lf_python_common
# yamllint disable-line rule:key-duplicates
properties:
- lf-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ build-days-to-keep: "{build-days-to-keep}"
- github:
- url: '{github-url}/{github-org}/{project}'
+ 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}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ url: "{git-clone-url}{github-org}/{project}"
+ refspec: ""
+ branch: "refs/heads/{branch}"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
# Build weekly on Saturdays
- - timed: 'H H * * 6'
+ - timed: "H H * * 6"
- github-pull-request:
- trigger-phrase: '^run-clm$'
+ trigger-phrase: "^run-clm$"
only-trigger-phrase: false
- status-context: 'CLM'
+ status-context: "CLM"
permit-all: true
github-hooks: true
white-list-target-branches:
- - '{branch}'
- included-regions: '{obj:github_included_regions}'
+ - "{branch}"
+ included-regions: "{obj:github_included_regions}"
########################
# Python Sonar with Tox #
# Default parameters #
######################
- branch: master # Sonar should always be run on master branch
+ branch: master # Sonar should always be run on master branch
build-days-to-keep: 7
build-timeout: 60
- cron: 'H H * * *' # run daily
+ cron: "H H * * *" # run daily
disable-job: false
- git-url: '$GIT_URL/$PROJECT'
- github-url: 'https://github.com'
+ git-url: "$GIT_URL/$PROJECT"
+ github-url: "https://github.com"
java-version: openjdk8
python-version: python2
mvn-global-settings: global-settings
- mvn-settings: '{mvn-settings}'
+ mvn-settings: "{mvn-settings}"
mvn-version: mvn35
- sonar-mvn-goal: 'sonar:sonar'
+ sonar-mvn-goal: "sonar:sonar"
stream: master
submodule-recursive: true
submodule-timeout: 10
gerrit_trigger_file_paths:
- compare-type: REG_EXP
- pattern: '.*'
+ pattern: ".*"
# github_included_regions MUST match gerrit_trigger_file_paths
github_included_regions:
- - '.*'
+ - ".*"
#####################
# Job Configuration #
#####################
- disabled: '{disable-job}'
+ disabled: "{disable-job}"
parameters:
- lf-infra-parameters:
- project: '{project}'
- branch: '{branch}'
- stream: '{stream}'
+ project: "{project}"
+ branch: "{branch}"
+ stream: "{stream}"
- string:
name: ARCHIVE_ARTIFACTS
- default: '{archive-artifacts}'
+ default: "{archive-artifacts}"
description: Artifacts to archive to the logs server.
- string:
name: MVN
# Sets an env var for shell scripts to be able to call the dynamically
# installed maven without having to calculate the path themselves.
# yamllint disable-line rule:line-length
- default: '/w/tools/hudson.tasks.Maven_MavenInstallation/{mvn-version}/bin/mvn'
- description: 'Maven selector to be used by shell scripts'
+ default: "/w/tools/hudson.tasks.Maven_MavenInstallation/{mvn-version}/bin/mvn"
+ description: "Maven selector to be used by shell scripts"
- string:
name: SONAR_MAVEN_GOAL
- default: '{sonar-mvn-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".
+ 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".
builders:
- lf-infra-pre-build
- lf-infra-tox-install:
- python-version: '{python-version}'
+ python-version: "{python-version}"
- shell: !include-raw-escape: ../shell/tox-run.sh
- lf-provide-maven-settings:
- global-settings-file: '{mvn-global-settings}'
- settings-file: '{mvn-settings}'
+ global-settings-file: "{mvn-global-settings}"
+ settings-file: "{mvn-settings}"
- lf-infra-tox-sonar:
- java-version: '{java-version}'
- mvn-settings: '{mvn-settings}'
- mvn-version: '{mvn-version}'
+ java-version: "{java-version}"
+ mvn-settings: "{mvn-settings}"
+ mvn-version: "{mvn-version}"
publishers:
- lf-infra-publish
# Run a Sonar build with Maven
builders:
- lf-maven-install:
- mvn-version: '{mvn-version}'
+ mvn-version: "{mvn-version}"
- lf-update-java-alternatives:
- java-version: '{java-version}'
+ java-version: "{java-version}"
- inject:
# TODO: Switch this to the sonar wrapper when JJB 2.0 is available
properties-content: SONAR_HOST_URL=$SONAR_URL
- lf-provide-maven-settings-cleanup
- job-template:
- name: '{project-name}-tox-sonar'
+ name: "{project-name}-tox-sonar"
id: gerrit-tox-sonar
<<: *lf_python_common
# yamllint disable-line rule:key-duplicates
scm:
- lf-infra-gerrit-scm:
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
- git-url: '{git-url}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
+ git-url: "{git-url}"
refspec: $GERRIT_REFSPEC
branch: $GERRIT_BRANCH
- submodule-recursive: '{submodule-recursive}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
triggers:
- - timed: '{obj:cron}'
+ - timed: "{obj:cron}"
- gerrit:
- server-name: '{gerrit-server-name}'
- trigger-on: '{obj:gerrit_sonar_triggers}'
+ server-name: "{gerrit-server-name}"
+ trigger-on: "{obj:gerrit_sonar_triggers}"
projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
+ - project-compare-type: "ANT"
+ project-pattern: "{project}"
branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths: '{obj:gerrit_trigger_file_paths}'
+ - branch-compare-type: "ANT"
+ branch-pattern: "**/{branch}"
+ file-paths: "{obj:gerrit_trigger_file_paths}"
skip-vote:
successful: true
failed: true
notbuilt: true
- job-template:
- name: '{project-name}-tox-sonar'
+ name: "{project-name}-tox-sonar"
id: github-tox-sonar
<<: *lf_python_common
# yamllint disable-line rule:key-duplicates
properties:
- lf-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ build-days-to-keep: "{build-days-to-keep}"
- github:
- url: '{github-url}/{github-org}/{project}'
+ 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}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ url: "{git-clone-url}{github-org}/{project}"
+ refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
+ branch: "$sha1"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
- github-pull-request:
- trigger-phrase: '^run-sonar$'
+ trigger-phrase: "^run-sonar$"
only-trigger-phrase: false
- status-context: 'Python Sonar'
+ status-context: "Python Sonar"
permit-all: true
github-hooks: true
white-list-target-branches:
- - '{branch}'
- included-regions: '{obj:github_included_regions}'
+ - "{branch}"
+ included-regions: "{obj:github_included_regions}"
##############
# Tox Verify #
build-days-to-keep: 7
build-timeout: 15
disable-job: false
- git-url: '$GIT_URL/$GERRIT_PROJECT'
- github-url: 'https://github.com'
+ git-url: "$GIT_URL/$GERRIT_PROJECT"
+ github-url: "https://github.com"
parallel: true
python-version: python2
stream: master
submodule-recursive: true
submodule-timeout: 10
submodule-disable: false
- tox-dir: ''
- tox-envs: ''
+ tox-dir: ""
+ tox-envs: ""
gerrit_trigger_file_paths:
- compare-type: REG_EXP
- pattern: '.*'
+ pattern: ".*"
# github_included_regions MUST match gerrit_trigger_file_paths
github_included_regions:
- - '.*'
+ - ".*"
#####################
# Job Configuration #
#####################
project-type: freestyle
- node: '{build-node}'
+ node: "{build-node}"
concurrent: true
- disabled: '{disable-job}'
+ disabled: "{disable-job}"
properties:
- lf-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ build-days-to-keep: "{build-days-to-keep}"
parameters:
- lf-infra-parameters:
- project: '{project}'
- branch: '{branch}'
- stream: '{stream}'
+ project: "{project}"
+ branch: "{branch}"
+ stream: "{stream}"
- lf-infra-tox-parameters:
- tox-dir: '{tox-dir}'
- tox-envs: '{tox-envs}'
+ tox-dir: "{tox-dir}"
+ tox-envs: "{tox-envs}"
- bool:
name: PARALLEL
- default: '{parallel}'
+ default: "{parallel}"
description: Tox test type used to configure serial or parallel testing.
wrappers:
- lf-infra-wrappers:
- build-timeout: '{build-timeout}'
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ build-timeout: "{build-timeout}"
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
builders:
- lf-infra-pre-build
- lf-infra-tox-install:
- python-version: '{python-version}'
+ python-version: "{python-version}"
- shell: !include-raw-escape: ../shell/tox-run.sh
publishers:
- job-template:
# Python projects typically use tox to run testing.
- name: '{project-name}-tox-verify-{stream}'
+ name: "{project-name}-tox-verify-{stream}"
id: gerrit-tox-verify
<<: *lf_tox_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}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
+ git-url: "{git-url}"
+ refspec: "$GERRIT_REFSPEC"
+ branch: "$GERRIT_BRANCH"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: gerrit
triggers:
- gerrit:
- server-name: '{gerrit-server-name}'
- trigger-on: '{obj:gerrit_verify_triggers}'
+ server-name: "{gerrit-server-name}"
+ trigger-on: "{obj:gerrit_verify_triggers}"
projects:
- project-compare-type: ANT
- project-pattern: '{project}'
+ project-pattern: "{project}"
branches:
- branch-compare-type: ANT
- branch-pattern: '**/{branch}'
- file-paths: '{obj:gerrit_trigger_file_paths}'
+ branch-pattern: "**/{branch}"
+ file-paths: "{obj:gerrit_trigger_file_paths}"
skip-vote:
- successful: '{gerrit-skip-vote}'
- failed: '{gerrit-skip-vote}'
- unstable: '{gerrit-skip-vote}'
- notbuilt: '{gerrit-skip-vote}'
+ successful: "{gerrit-skip-vote}"
+ failed: "{gerrit-skip-vote}"
+ unstable: "{gerrit-skip-vote}"
+ notbuilt: "{gerrit-skip-vote}"
- job-template:
# Python projects typically use tox to run testing.
- name: '{project-name}-tox-verify-{stream}'
+ name: "{project-name}-tox-verify-{stream}"
id: github-tox-verify
<<: *lf_tox_verify
properties:
- lf-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ build-days-to-keep: "{build-days-to-keep}"
- github:
- url: '{github-url}/{github-org}/{project}'
+ 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}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ url: "{git-clone-url}{github-org}/{project}"
+ refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
+ branch: "$sha1"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
- github-pull-request:
- trigger-phrase: '^(recheck|reverify)$'
+ trigger-phrase: "^(recheck|reverify)$"
only-trigger-phrase: false
- status-context: 'Tox Verify'
+ status-context: "Tox Verify"
permit-all: true
github-hooks: true
white-list-target-branches:
- - '{branch}'
- included-regions: '{obj:github_included_regions}'
+ - "{branch}"
+ included-regions: "{obj:github_included_regions}"
---
- job-group:
- name: '{project-name}-gerrit-release-jobs'
+ name: "{project-name}-gerrit-release-jobs"
# This job group contains all the recommended jobs that should be deployed
# for any project using self releases.
gerrit_trigger_file_paths:
- compare-type: ANT
- pattern: 'releases/*.yaml'
+ pattern: "releases/*.yaml"
#####################
# Job Configuration #
#####################
project-type: freestyle
- node: '{build-node}'
+ node: "{build-node}"
properties:
- lf-infra-properties:
parameters:
- lf-infra-parameters:
- project: '{project}'
- branch: 'master'
- stream: '{stream}'
+ project: "{project}"
+ branch: "master"
+ stream: "{stream}"
wrappers:
- lf-infra-wrappers:
- build-timeout: '{build-timeout}'
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ build-timeout: "{build-timeout}"
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
publishers:
- lf-infra-publish
build-days-to-keep: 7
build-timeout: 15
disable-job: false
- git-url: '$GIT_URL/$PROJECT'
- project-pattern: '**'
+ git-url: "$GIT_URL/$PROJECT"
+ project-pattern: "**"
gerrit-skip-vote: false
gerrit_verify_triggers:
- comment-added-contains-event:
comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
-
#####################
# Job Configuration #
#####################
- disabled: '{disable-job}'
+ disabled: "{disable-job}"
builders:
- lf-infra-pre-build
- lf-release
- job-template:
- name: '{project-name}-release-verify-{stream}'
+ name: "{project-name}-release-verify-{stream}"
id: gerrit-release-verify
<<: *lf_release_common
# yamllint disable-line rule:key-duplicates
scm:
- lf-infra-gerrit-scm:
- git-url: '{git-url}'
- refspec: '$GERRIT_REFSPEC'
- branch: 'master'
+ git-url: "{git-url}"
+ refspec: "$GERRIT_REFSPEC"
+ branch: "master"
submodule-disable: true
submodule-recursive: false
submodule-timeout: 10
choosing-strategy: gerrit
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
- gerrit:
- server-name: '{gerrit-server-name}'
- trigger-on: '{obj:gerrit_verify_triggers}'
+ server-name: "{gerrit-server-name}"
+ trigger-on: "{obj:gerrit_verify_triggers}"
projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project-pattern}'
+ - project-compare-type: "ANT"
+ project-pattern: "{project-pattern}"
branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/master'
- file-paths: '{obj:gerrit_trigger_file_paths}'
+ - branch-compare-type: "ANT"
+ branch-pattern: "**/master"
+ file-paths: "{obj:gerrit_trigger_file_paths}"
skip-vote:
- successful: '{gerrit-skip-vote}'
- failed: '{gerrit-skip-vote}'
- unstable: '{gerrit-skip-vote}'
- notbuilt: '{gerrit-skip-vote}'
-
+ successful: "{gerrit-skip-vote}"
+ failed: "{gerrit-skip-vote}"
+ unstable: "{gerrit-skip-vote}"
+ notbuilt: "{gerrit-skip-vote}"
#################
# RELEASE MERGE #
build-days-to-keep: 7
build-timeout: 15
disable-job: false
- git-url: '$GIT_URL/$PROJECT'
- project-pattern: '**'
+ git-url: "$GIT_URL/$PROJECT"
+ project-pattern: "**"
gerrit_merge_triggers:
- change-merged-event
# Job Configuration #
#####################
- disabled: '{disable-job}'
+ disabled: "{disable-job}"
builders:
- lf-infra-pre-build
- lf-release
- job-template:
- name: '{project-name}-release-merge-{stream}'
+ name: "{project-name}-release-merge-{stream}"
id: gerrit-release-merge
<<: *lf_release_common
# yamllint disable-line rule:key-duplicates
scm:
- lf-infra-gerrit-scm:
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
- git-url: '{git-url}'
- refspec: '$GERRIT_REFSPEC'
- branch: '$GERRIT_BRANCH'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
+ git-url: "{git-url}"
+ refspec: "$GERRIT_REFSPEC"
+ branch: "$GERRIT_BRANCH"
submodule-disable: true
submodule-recursive: false
submodule-timeout: 10
triggers:
- gerrit:
- server-name: '{gerrit-server-name}'
- trigger-on: '{obj:gerrit_merge_triggers}'
+ server-name: "{gerrit-server-name}"
+ trigger-on: "{obj:gerrit_merge_triggers}"
projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project-pattern}'
+ - project-compare-type: "ANT"
+ project-pattern: "{project-pattern}"
branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/master'
- file-paths: '{obj:gerrit_trigger_file_paths}'
+ - branch-compare-type: "ANT"
+ branch-pattern: "**/master"
+ file-paths: "{obj:gerrit_trigger_file_paths}"
#####################
project-type: freestyle
- node: '{build-node}'
- disabled: '{disable-job}'
+ node: "{build-node}"
+ disabled: "{disable-job}"
properties:
- lf-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ build-days-to-keep: "{build-days-to-keep}"
builders:
- shell: !include-raw-escape: ../shell/release-announce.sh
wrappers:
- lf-infra-wrappers:
- build-timeout: '{build-timeout}'
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ build-timeout: "{build-timeout}"
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
publishers:
- lf-infra-publish
-
- job-template:
- name: '{project-name}-release-announce'
+ name: "{project-name}-release-announce"
id: gerrit-release-announce
<<: *lf_release_announce
triggers:
- gerrit:
- server-name: '{gerrit-server-name}'
+ server-name: "{gerrit-server-name}"
trigger-on:
- ref-updated-event
projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project-pattern}'
+ - project-compare-type: "ANT"
+ project-pattern: "{project-pattern}"
branches:
- - branch-compare-type: 'ANT'
- branch-pattern: 'refs/tags/**'
+ - branch-compare-type: "ANT"
+ branch-pattern: "refs/tags/**"
---
- job-group:
- name: '{project-name}-rtd-jobs'
+ name: "{project-name}-rtd-jobs"
jobs:
- gerrit-rtd-merge
- gerrit-rtd-verify
- job-group:
- name: '{project-name}-github-rtd-jobs'
+ name: "{project-name}-github-rtd-jobs"
jobs:
- github-rtd-merge
---
-
####################
# COMMON FUNCTIONS #
####################
#####################
project-type: freestyle
- node: '{build-node}'
+ node: "{build-node}"
properties:
- lf-infra-properties:
parameters:
- lf-infra-parameters:
- project: '{project}'
- branch: '{branch}'
- refspec: 'refs/heads/{branch}'
- stream: '{stream}'
+ project: "{project}"
+ branch: "{branch}"
+ refspec: "refs/heads/{branch}"
+ stream: "{stream}"
wrappers:
- lf-infra-wrappers:
- build-timeout: '{build-timeout}'
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ build-timeout: "{build-timeout}"
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
publishers:
- lf-infra-publish
build-timeout: 15
disable-job: false
git-url: https://github.com
- github-url: 'https://github.com'
- project-pattern: '**'
+ github-url: "https://github.com"
+ project-pattern: "**"
stream: master
submodule-recursive: true
# Job Configuration #
#####################
- disabled: '{disable-job}'
+ disabled: "{disable-job}"
builders:
- lf-infra-pre-build
- lf-rtd-trigger-build:
- rtd-build-url: '{rtd-build-url}'
- rtd-token: '{rtd-token}'
+ rtd-build-url: "{rtd-build-url}"
+ rtd-token: "{rtd-token}"
- job-template:
- name: '{project-name}-rtd-merge-{stream}'
+ name: "{project-name}-rtd-merge-{stream}"
id: gerrit-rtd-merge
<<: *lf_rtd_common
# yamllint disable-line rule:key-duplicates
triggers:
- gerrit:
- server-name: '{gerrit-server-name}'
- trigger-on: '{obj:gerrit_merge_triggers}'
+ server-name: "{gerrit-server-name}"
+ trigger-on: "{obj:gerrit_merge_triggers}"
projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project-pattern}'
+ - project-compare-type: "ANT"
+ project-pattern: "{project-pattern}"
branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- - branch-compare-type: 'ANT'
- branch-pattern: 'refs/tags/**'
- file-paths: '{obj:gerrit_trigger_file_paths}'
+ - branch-compare-type: "ANT"
+ branch-pattern: "**/{branch}"
+ - branch-compare-type: "ANT"
+ branch-pattern: "refs/tags/**"
+ file-paths: "{obj:gerrit_trigger_file_paths}"
- job-template:
- name: '{project-name}-rtd-merge-{stream}'
+ name: "{project-name}-rtd-merge-{stream}"
id: github-rtd-merge
<<: *lf_rtd_common
# yamllint disable-line rule:key-duplicates
properties:
- lf-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ build-days-to-keep: "{build-days-to-keep}"
- github:
- url: '{github-url}/{github-org}/{project}'
+ url: "{github-url}/{github-org}/{project}"
triggers:
- - timed: 'H H * * *'
+ - timed: "H H * * *"
- github
- pollscm:
- cron: ''
+ cron: ""
- github-pull-request:
- trigger-phrase: '^remerge$'
+ trigger-phrase: "^remerge$"
only-trigger-phrase: true
- status-context: 'RTD Merge'
+ status-context: "RTD Merge"
permit-all: true
github-hooks: true
org-list:
- - '{github-org}'
- white-list: '{obj:github_pr_whitelist}'
- admin-list: '{obj:github_pr_admin_list}'
- included-regions: '{obj:github_included_regions}'
+ - "{github-org}"
+ white-list: "{obj:github_pr_whitelist}"
+ admin-list: "{obj:github_pr_admin_list}"
+ included-regions: "{obj:github_included_regions}"
white-list-target-branches:
- - '{branch}'
+ - "{branch}"
#############
# RTD VERIFY#
build-timeout: 15
disable-job: false
doc-dir: docs/_build/html
- git-url: '$GIT_URL/$PROJECT'
- github-url: 'https://github.com'
- project-pattern: '**'
+ git-url: "$GIT_URL/$PROJECT"
+ github-url: "https://github.com"
+ project-pattern: "**"
stream: master
submodule-recursive: true
submodule-timeout: 10
# Job Configuration #
#####################
- disabled: '{disable-job}'
+ disabled: "{disable-job}"
builders:
- lf-infra-pre-build
- lf-rtd-verify:
- doc-dir: '{doc-dir}'
+ doc-dir: "{doc-dir}"
- job-template:
- name: '{project-name}-rtd-verify-{stream}'
+ name: "{project-name}-rtd-verify-{stream}"
id: gerrit-rtd-verify
concurrent: true
<<: *lf_rtd_common
scm:
- lf-infra-gerrit-scm:
- branch: '$GERRIT_BRANCH'
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
- git-url: '{git-url}'
- refspec: '' # Leave blank!! A later script will handle fetching
- submodule-recursive: '{submodule-recursive}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ branch: "$GERRIT_BRANCH"
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
+ git-url: "{git-url}"
+ refspec: "" # Leave blank!! A later script will handle fetching
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
triggers:
- gerrit:
- server-name: '{gerrit-server-name}'
- trigger-on: '{obj:gerrit_verify_triggers}'
+ server-name: "{gerrit-server-name}"
+ trigger-on: "{obj:gerrit_verify_triggers}"
projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project-pattern}'
+ - project-compare-type: "ANT"
+ project-pattern: "{project-pattern}"
branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths: '{obj:gerrit_trigger_file_paths}'
+ - branch-compare-type: "ANT"
+ branch-pattern: "**/{branch}"
+ file-paths: "{obj:gerrit_trigger_file_paths}"
skip-vote:
- successful: '{gerrit-skip-vote}'
- failed: '{gerrit-skip-vote}'
- unstable: '{gerrit-skip-vote}'
- notbuilt: '{gerrit-skip-vote}'
+ successful: "{gerrit-skip-vote}"
+ failed: "{gerrit-skip-vote}"
+ unstable: "{gerrit-skip-vote}"
+ notbuilt: "{gerrit-skip-vote}"
- job-template:
- name: '{project-name}-rtd-verify-{stream}'
+ name: "{project-name}-rtd-verify-{stream}"
id: github-rtd-verify
concurrent: true
<<: *lf_rtd_common
properties:
- lf-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ build-days-to-keep: "{build-days-to-keep}"
- github:
- url: '{github-url}/{github-org}/{project}'
+ 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}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ url: "{git-clone-url}{github-org}/{project}"
+ refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
+ branch: "$sha1"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
- github-pull-request:
- trigger-phrase: '^(recheck|reverify)$'
+ trigger-phrase: "^(recheck|reverify)$"
only-trigger-phrase: false
- status-context: 'RTD Verify'
+ status-context: "RTD Verify"
permit-all: true
github-hooks: true
- included-regions: '{obj:github_included_regions}'
+ included-regions: "{obj:github_included_regions}"
white-list-target-branches:
- - '{branch}'
+ - "{branch}"
- find-bugs
- view-template:
- id: 'common-view'
- name: '{view-name}'
+ id: "common-view"
+ name: "{view-name}"
######################
# Default parameters #
######################
- view-description: 'View using common-view template.'
+ view-description: "View using common-view template."
view-filter-executors: false
view-filter-queue: false
view-recurse: false
######################
view-type: list
- description: '{view-description}'
- filter-executors: '{view-filter-executors}'
- filter-queue: '{view-filter-queue}'
- recurse: '{view-recurse}'
- regex: '{view-regex}'
+ description: "{view-description}"
+ filter-executors: "{view-filter-executors}"
+ filter-queue: "{view-filter-queue}"
+ recurse: "{view-recurse}"
+ regex: "{view-regex}"
<<: *lf_view_common_columns
######################
######################
- view-template:
- id: 'csit-view'
- name: '{view-name}'
+ id: "csit-view"
+ name: "{view-name}"
######################
# Default parameters #
######################
- view-description: 'CSIT jobs.'
+ view-description: "CSIT jobs."
view-filter-executors: false
view-filter-queue: false
view-recurse: false
######################
view-type: list
- description: '{view-description}'
- filter-executors: '{view-filter-executors}'
- filter-queue: '{view-filter-queue}'
- recurse: '{view-recurse}'
- regex: '{view-regex}'
+ description: "{view-description}"
+ filter-executors: "{view-filter-executors}"
+ filter-queue: "{view-filter-queue}"
+ recurse: "{view-recurse}"
+ regex: "{view-regex}"
columns:
- status
- weather
#########################
- view-template:
- id: 'project-view'
- name: '{project-name}'
+ id: "project-view"
+ name: "{project-name}"
######################
# Default parameters #
######################
view-type: list
- description: 'List of jobs for {project-name}.'
- filter-executors: '{view-filter-executors}'
- filter-queue: '{view-filter-queue}'
- recurse: '{view-recurse}'
- regex: '^{project-name}-.*'
+ description: "List of jobs for {project-name}."
+ filter-executors: "{view-filter-executors}"
+ filter-queue: "{view-filter-queue}"
+ recurse: "{view-recurse}"
+ regex: "^{project-name}-.*"
<<: *lf_view_common_columns
---
-
##########
# Macros #
##########
builders:
- conditional-step:
condition-kind: boolean-expression
- condition-expression: '{mvn-clean-install}'
+ condition-expression: "{mvn-clean-install}"
steps:
- maven-target:
- maven-version: '{mvn-version}'
- pom: '{mvn-pom}'
- goals: 'clean install'
- settings: '{mvn-settings}'
+ maven-version: "{mvn-version}"
+ pom: "{mvn-pom}"
+ goals: "clean install"
+ settings: "{mvn-settings}"
settings-type: cfp
- global-settings: 'global-settings'
+ global-settings: "global-settings"
global-settings-type: cfp
- builder:
#####################
project-type: freestyle
- node: '{build-node}'
+ node: "{build-node}"
properties:
- lf-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ build-days-to-keep: "{build-days-to-keep}"
parameters:
- lf-infra-parameters:
- project: '{project}'
- branch: '{branch}'
- stream: '{stream}'
+ project: "{project}"
+ branch: "{branch}"
+ stream: "{stream}"
wrappers:
- lf-infra-wrappers:
- build-timeout: '{build-timeout}'
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ build-timeout: "{build-timeout}"
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
- credentials-binding:
- text:
credential-id: wss-apiKey
branch: master
build-days-to-keep: 30
build-timeout: 60
- cron: '@daily'
+ cron: "@daily"
disable-job: false
- git-url: '$GIT_URL/$PROJECT'
- github-url: 'https://github.com'
+ git-url: "$GIT_URL/$PROJECT"
+ github-url: "https://github.com"
java-version: openjdk8
mvn-clean-install: false
mvn-global-settings: global-settings
- mvn-pom: ''
+ mvn-pom: ""
mvn-version: mvn35
stream: master
submodule-recursive: true
submodule-timeout: 10
submodule-disable: false
- wss-unified-agent-opts: ''
+ wss-unified-agent-opts: ""
wss-unified-agent-version: 19.2.2.2
gerrit_trigger_file_paths:
- compare-type: ANT
- pattern: '.*'
+ pattern: ".*"
# github_included_regions MUST match gerrit_trigger_file_paths
github_included_regions:
- - '.*'
+ - ".*"
#####################
# Job Configuration #
#####################
- disabled: '{disable-job}'
+ disabled: "{disable-job}"
parameters:
- lf-infra-parameters:
- project: '{project}'
- branch: '{branch}'
- stream: '{stream}'
+ project: "{project}"
+ branch: "{branch}"
+ stream: "{stream}"
- string:
name: WSS_PROJECT_NAME
- default: '{project-name}'
+ default: "{project-name}"
description: Project to asociate the WhiteSource report in the dashboard.
- string:
name: WSS_PRODUCT_NAME
- default: '{wss-product-name}'
+ default: "{wss-product-name}"
description: Product to asociate the WhiteSource report in the dashboard.
- string:
name: WSS_UNIFIED_AGENT_OPTIONS
- default: '{wss-unified-agent-opts}'
+ default: "{wss-unified-agent-opts}"
description: Options to pass to the WhiteSource Unified Agent CLI.
- string:
name: WSS_UNIFIED_AGENT_VERSION
- default: '{wss-unified-agent-version}'
+ default: "{wss-unified-agent-version}"
description: WhiteSource Unified Agent version package to download and use.
builders:
- lf-infra-pre-build
- lf-update-java-alternatives:
- java-version: '{java-version}'
+ java-version: "{java-version}"
- lf-infra-wss-mvn-clean-install:
- mvn-clean-install: '{mvn-clean-install}'
- mvn-version: '{mvn-version}'
- mvn-pom: '{mvn-pom}'
- mvn-settings: '{mvn-settings}'
+ mvn-clean-install: "{mvn-clean-install}"
+ mvn-version: "{mvn-version}"
+ mvn-pom: "{mvn-pom}"
+ mvn-settings: "{mvn-settings}"
- lf-infra-wss-unified-agent-scan
- job-template:
- name: '{project-name}-whitesource-scan-{stream}'
+ name: "{project-name}-whitesource-scan-{stream}"
id: gerrit-whitesource-scan
<<: *lf_whitesource_common
# yamllint disable-line rule:key-duplicates
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}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
+ git-url: "{git-url}"
+ refspec: "$GERRIT_REFSPEC"
+ branch: "$GERRIT_BRANCH"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
triggers:
# Build weekly on Saturdays
- - timed: '{obj:cron}'
+ - timed: "{obj:cron}"
- gerrit:
- server-name: '{gerrit-server-name}'
- trigger-on: '{obj:gerrit_wss_triggers}'
+ server-name: "{gerrit-server-name}"
+ trigger-on: "{obj:gerrit_wss_triggers}"
projects:
- project-compare-type: ANT
- project-pattern: '{project}'
+ project-pattern: "{project}"
branches:
- branch-compare-type: ANT
- branch-pattern: '**/{branch}'
- file-paths: '{obj:gerrit_trigger_file_paths}'
+ branch-pattern: "**/{branch}"
+ file-paths: "{obj:gerrit_trigger_file_paths}"
skip-vote:
successful: true
failed: true
notbuilt: true
- job-template:
- name: '{project-name}-whitesource-scan-{stream}'
+ name: "{project-name}-whitesource-scan-{stream}"
id: github-whitesource-scan
<<: *lf_whitesource_common
# yamllint disable-line rule:key-duplicates
properties:
- lf-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ build-days-to-keep: "{build-days-to-keep}"
- github:
- url: '{github-url}/{github-org}/{project}'
+ 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}'
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: '{submodule-disable}'
+ url: "{git-clone-url}{github-org}/{project}"
+ refspec: ""
+ branch: "refs/heads/{branch}"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
choosing-strategy: default
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
# Build weekly on Saturdays
- - timed: '{obj:cron}'
+ - timed: "{obj:cron}"
- github-pull-request:
- trigger-phrase: '^run-whitesource$'
+ trigger-phrase: "^run-whitesource$"
only-trigger-phrase: false
- status-context: 'WhiteSource'
+ status-context: "WhiteSource"
permit-all: true
github-hooks: true
white-list-target-branches:
- - '{branch}'
- included-regions: '{obj:github_included_regions}'
+ - "{branch}"
+ included-regions: "{obj:github_included_regions}"
Now appending status-context with maven-version and java-version to
make it unique. And create different status checks in the github.
fix applied for maven verify and maven docker verify jobs
-
- |
Modified lf-maven-jobs.yaml sonar cron entry to '{obj:cron}'
to pass value from custom user config file.
-
---
prelude: >
- WhiteSource is a security and license compliance management platform.
- It is used to perform scans on a great variety of coding and scripting
- languages.
+ WhiteSource is a security and license compliance management platform.
+ It is used to perform scans on a great variety of coding and scripting
+ languages.
features:
- |
Job {project-name}-whitesource-scan-{stream} uses the WhiteSource Unified
# http://www.eclipse.org/legal/epl-v10.html
##############################################################################
---
-$schema: 'http://json-schema.org/schema#'
-$id: 'https://github.com/lfit/releng-global-jjb/blob/master/release-schema'
+$schema: "http://json-schema.org/schema#"
+$id: "https://github.com/lfit/releng-global-jjb/blob/master/release-schema"
required:
- - 'log_dir'
- - 'project'
- - 'version'
+ - "log_dir"
+ - "project"
+ - "version"
properties:
log_dir:
- type: 'string'
+ type: "string"
project:
- type: 'string'
+ type: "string"
version:
- type: 'string'
+ type: "string"