project-name: github-autotools
mvn-settings: github-autotools-project-settings
debian-distribution-versions: ubuntu/bionic
+ github-org: fake-org
packagecloud-account: example
packagecloud-repo: master
rpm-distribution-versions: el/5
- github-cmake-verify
project-name: github-cmake
+ github-org: fake-org
javadoc-path: org.example.project/$STREAM
staging-profile-id: uuddlrlrba
mvn-settings: github-cmake-project-settings
- "{project-name}-github-ci-jobs"
project-name: github-ciman
+ github-org: fake-org
- project:
name: gerrit-openstack-jobs
- github-openstack-cron
project-name: github-ciman
+ github-org: fake-org
jenkins-urls: >
https://jenkins.example.org
packer-cloud-settings: ci-packer-cloud-env
project-name: github-ciman
+ github-org: fake-org
platforms:
- centos
- ubuntu1604
- github-sonar-prescan
- github-sonar-prescan-script:
sonar-prescan-script: "#!/bin/sh"
+
+ github-org: fake-org
build-timeout: 10
branch: master
archive-artifacts: "**/*.log"
- jenkins-ssh-credential: "{jenkins-ssh-credential}"
+ jenkins-ssh-credential: "jenkins-ssh-credential"
gerrit-user: "jenkins-user"
gerrit-host: "git.example.org"
gerrit-topic: "update-cloud-image"
- "github-go-verify"
project: go/project
+ github-org: fake-org
project-name: github-go-project
go-root: go
branch: master
- github-maven-verify
project-name: github-maven
+ github-org: fake-org
javadoc-path: org.example.project/$STREAM
staging-profile-id: uuddlrlrba
mvn-settings: aproject-settings
- github-maven-docker-verify
project-name: github-maven-docker
+ github-org: fake-org
container-public-registry: pub-registry
container-snapshot-registry: snap-registry
container-staging-registry: stage-registry
jobs:
- "{project-name}-github-node-jobs"
+ github-org: fake-org
project-name: github-node
- project:
- github-tox-sonarqube
project-name: github-python
+ github-org: fake-org
+ mvn-settings: fake-mvn-settings
- project:
name: python-jobs-view
project: self-release/project-github
project-name: self-release-project-github
branch: master
+ github-org: fake-org
mvn-settings: github-maven-project-settings
- github-rtd-verify
project-name: github-rtd
+ github-org: fake-org
rtd-build-url: fake-rtd-build-url
rtd-token: fake-rtd-token
# AUTOTOOLS COMMON #
####################
-- lf_autotools_common: &lf_autotools_common
+- _lf_autotools_common: &lf_autotools_common
name: lf-autotools-common
#####################
# AUTOTOOLS PACKAGECLOUD STAGE #
################################
-- lf_autotools_packagecloud_stage: &lf_autotools_packagecloud_stage
+- _lf_autotools_packagecloud_stage: &lf_autotools_packagecloud_stage
name: lf-autotools-packagecloud-stage
######################
# AUTOTOOLS SONARQUBE #
#######################
-- lf_autotools_sonarqube: &lf_autotools_sonarqube
+- _lf_autotools_sonarqube: &lf_autotools_sonarqube
name: lf-autotools-sonarqube
######################
# AUTOTOOLS VERIFY #
####################
-- lf_autotools_verify: &lf_autotools_verify
+- _lf_autotools_verify: &lf_autotools_verify
name: lf-autotools-verify
######################
# CMAKE COMMON #
################
-- lf_cmake_common: &lf_cmake_common
+- _lf_cmake_common: &lf_cmake_common
name: lf-cmake-common
#####################
# CMAKE SONAR #
###############
-- lf_cmake_sonar: &lf_cmake_sonar
+- _lf_cmake_sonar: &lf_cmake_sonar
name: lf-cmake-sonar
######################
# CMAKE SONARQUBE #
###################
-- lf_cmake_sonarqube: &lf_cmake_sonarqube
+- _lf_cmake_sonarqube: &lf_cmake_sonarqube
name: lf-cmake-sonarqube
######################
# CMAKE STAGE #
###############
-- lf_cmake_stage: &lf_cmake_stage
+- _lf_cmake_stage: &lf_cmake_stage
name: lf-cmake-stage
######################
# CMAKE PACKAGECLOUD STAGE #
############################
-- lf_cmake_pc_stage: &lf_cmake_pc_stage
+- _lf_cmake_pc_stage: &lf_cmake_pc_stage
name: lf-cmake-packagecloud-stage
######################
# CMAKE VERIFY #
################
-- lf_cmake_verify: &lf_cmake_verify
+- _lf_cmake_verify: &lf_cmake_verify
name: lf-cmake-verify
######################
- file-id: jjbini
target: "$HOME/.config/jenkins_jobs/jenkins_jobs.ini"
-- lf_packer: &lf_packer_common
- name: lf-packer-common
+- _lf_packer_common: &lf_packer_common
+ name: lf_packer_common
# Provide configuration common in packer jobs.
######################
default: "{puppet-lint-version}"
description: Puppet-lint version to download and install.
-- lf_jjb_common: &lf_jjb_common
+- _lf_jjb_common: &lf_jjb_common
name: lf-jjb-common
######################
disable-job: false
github-url: "https://github.com"
jjb-cache: "$HOME/.cache/jenkins_jobs"
- jjb-version: 4.1.0
+ jjb-version: 5.0.1
stream: master
submodule-recursive: true
submodule-timeout: 10
- shell: !include-raw-escape: ../shell/jenkins-configure-global-vars.sh
- shell: rm -f "$HOME/.config/jenkins_jobs/jenkins_jobs.ini"
-- lf_jenkins_configuration: &lf_jenkins_cfg_merge
+- _lf_jenkins_configuration: &lf_jenkins_cfg_merge
name: lf-jenkins-cfg-merge
######################
# Jenkins Configuration Management Verify #
###########################################
-- lf_jenkins_configuration: &lf_jenkins_cfg_verify
+- _lf_jenkins_configuration: &lf_jenkins_cfg_verify
name: lf-jenkins-cfg-verify
######################
# JENKINS SANDBOX CLEANUP #
###########################
-- lf_jenkins_sandbox_cleanup: &lf_jenkins_sandbox_cleanup
+- _lf_jenkins_sandbox_cleanup: &lf_jenkins_sandbox_cleanup
name: lf-jenkins-sandbox-cleanup
######################
# JJB DEPLOY JOB #
##################
-- lf_jjb_deploy_job: &lf_jjb_deploy_job
+- _lf_jjb_deploy_job: &lf_jjb_deploy_job
name: lf-jjb-deploy-job
######################
# JJB Merge #
#############
-- lf_jjb_merge: &lf_jjb_merge
+- _lf_jjb_merge: &lf_jjb_merge
name: lf-jjb-merge
######################
# JJB Verify #
##############
-- lf_jjb_verify: &lf_jjb_verify
+- _lf_jjb_verify: &lf_jjb_verify
name: lf-jjb-verify
######################
# JJB Verify Upstream GJJB #
############################
-- lf_jjb_verify: &lf_jjb_verify_upstream_gjjb
+- _lf_jjb_verify: &lf_jjb_verify_upstream_gjjb
name: lf-jjb-verify-upstream-gjjb
#####################
# License Check #
#################
-- lf_license_check: &lf_license_check
+- _lf_license_check: &lf_license_check
name: lf-license-check
######################
# Info YAML Verify #
####################
-- lf_info_yaml_verify: &lf_info_yaml_verify
+- _lf_info_yaml_verify: &lf_info_yaml_verify
name: lf-info-yaml-verify
######################
# OPENSTACK CRON #
##################
-- lf_openstack_cron: &lf_openstack_cron
+- _lf_openstack_cron: &lf_openstack_cron
name: lf-openstack-cron
######################
# Packer Merge #
################
-- lf_packer_merge: &lf_packer_merge
+- _lf_packer_merge: &lf_packer_merge
name: lf-packer-merge
######################
# Packer Verify #
#################
-- lf_packer_verify: &lf_packer_verify
+- _lf_packer_verify: &lf_packer_verify
name: lf-packer-verify
######################
# Openstack Update Cloud Image #
################################
-- lf_openstack_cron: &lf_openstack_update_cloud_image
+- _lf_openstack_cron: &lf_openstack_update_cloud_image
name: lf-openstack-update-cloud-image
######################
# Puppet Verify #
#################
-- lf_puppet_verify: &lf_puppet_verify
+- _lf_puppet_verify: &lf_puppet_verify
name: lf-puppet-verify
######################
# Sonar #
#########
-- lf_sonar_common: &lf_sonar_common
+- _lf_sonar_common: &lf_sonar_common
name: lf-sonar-common
######################
publishers:
- lf-infra-publish
-- lf_sonar_builders: &lf_sonar_builders
+- _lf_sonar_builders: &lf_sonar_builders
name: lf-sonar-builders
builders:
- lf-infra-pre-build
sonar-java-opts: "{sonar-java-opts}"
sonar-additional-args: "{sonar-additional-args}"
-- lf_sonar_builders_prescan: &lf_sonar_builders_prescan
+- _lf_sonar_builders_prescan: &lf_sonar_builders_prescan
name: lf-sonar-builders-prescan
builders:
- lf-infra-pre-build
sonar-java-opts: "{sonar-java-opts}"
sonar-additional-args: "{sonar-additional-args}"
-- lf_sonar_builders_prescan_script: &lf_sonar_builders_prescan_script
+- _lf_sonar_builders_prescan_script: &lf_sonar_builders_prescan_script
name: lf-sonar-builders-prescan-script
builders:
- lf-infra-pre-build
sonar-java-opts: "{sonar-java-opts}"
sonar-additional-args: "{sonar-additional-args}"
-- lf_sonar_gerrit_common: &lf_sonar_gerrit_common
+- _lf_sonar_gerrit_common: &lf_sonar_gerrit_common
name: lf-sonar-gerrit-common
gerrit_sonar_triggers:
- comment-added-contains-event:
unstable: true
notbuilt: true
-- lf_sonar_github_common: &lf_sonar_github_common
+- _lf_sonar_github_common: &lf_sonar_github_common
name: lf-sonar-github-common
properties:
- lf-infra-properties:
# Pipelines #
#############
-- lf_pipelines_common: &lf_pipelines_common
+- _lf_pipelines_common: &lf_pipelines_common
name: lf-pipelines-common
######################
submodule-timeout: 10
submodule-disable: false
-- lf_global_pipelines_common: &lf_global_pipelines_common
+- _lf_global_pipelines_common: &lf_global_pipelines_common
name: lf-global-pipelines-common
# All jobs are triggering from the same source
CONTAINER_TAG_METHOD={container-tag-method}
CONTAINER_TAG_YAML_DIR={container-tag-yaml-dir}
DOCKER_ROOT={docker-root}
- - shell: !include-raw: "{docker-get-container-tag-script}"
+ - shell: !include-raw-escape: "{docker-get-container-tag-script}"
- inject:
# Import the container tag set by this build step
properties-file: "env_docker_inject.txt"
# COMMON FUNCTIONS #
####################
-- lf_docker_common: &lf_docker_common
+- _lf_docker_common: &lf_docker_common
name: lf-docker-common
project-type: freestyle
publishers:
- lf-infra-publish
-- docker_verify_common: &docker_verify_common
+- _docker_verify_common: &docker_verify_common
name: docker-verify-common
concurrent: true
- shell: "{post_docker_build_script}"
- lf-provide-maven-settings-cleanup
-- docker_merge_common: &docker_merge_common
+- _docker_merge_common: &docker_merge_common
name: docker-merge-common
cron: "@weekly" # check dependencies regularly
# Docker Snyk CLI #
##################
-- lf_docker_snyk_cli: &lf_docker_snyk_cli
+- _lf_docker_snyk_cli: &lf_docker_snyk_cli
name: lf-docker-snyk_cli
######################
# COMMON FUNCTIONS #
####################
-- lf_go_common: &lf_go_common
+- _lf_go_common: &lf_go_common
name: lf-go-common
project-type: freestyle
# Go Snyk CLI #
###############
-- lf_go_snyk_cli: &lf_go_snyk_cli
+- _lf_go_snyk_cli: &lf_go_snyk_cli
name: lf-go-snyk_cli
######################
# Go Verify #
#############
-- lf_go_verify: &lf_go_verify
+- _lf_go_verify: &lf_go_verify
name: lf-go-verify
concurrent: true
# COMMON FUNCTIONS #
####################
-- lf_info_vote_common: &lf_info_vote_common
+- _lf_info_vote_common: &lf_info_vote_common
name: lf-info-vote-common
gerrit_trigger_file_paths:
publishers:
- lf-infra-publish
-- lf_info_vote_verify: &lf_info_vote_verify
+- _lf_info_vote_verify: &lf_info_vote_verify
name: lf-info-vote-verify
branch: master
# COMMON FUNCTIONS #
####################
-- lf_maven_common: &lf_maven_common
+- _lf_maven_common: &lf_maven_common
name: lf-maven-common
######################
# Maven CLM #
#############
-- lf_maven_clm: &lf_maven_clm
+- _lf_maven_clm: &lf_maven_clm
name: lf-maven-clm
######################
# Maven Snyk CLI #
##################
-- lf_maven_snyk_cli: &lf_maven_snyk_cli
+- _lf_maven_snyk_cli: &lf_maven_snyk_cli
name: lf-maven-snyk_cli
######################
# Maven Javadoc Publish #
#########################
-- lf_maven_javadoc_publish: &lf_maven_javadoc_publish
+- _lf_maven_javadoc_publish: &lf_maven_javadoc_publish
name: lf-maven-javadoc-publish
######################
# Maven Javadoc Verify #
########################
-- lf_maven_javadoc_verify: &lf_maven_javadoc_verify
+- _lf_maven_javadoc_verify: &lf_maven_javadoc_verify
name: lf-maven-javadoc-verify
######################
# Maven Merge #
###############
-- lf_maven_merge: &lf_maven_merge
+- _lf_maven_merge: &lf_maven_merge
name: lf-maven-merge
######################
# Maven Merge for Docker #
##########################
-- lf_maven_docker_merge: &lf_maven_docker_merge
+- _lf_maven_docker_merge: &lf_maven_docker_merge
name: lf-maven-docker-merge
builders:
# Maven Stage #
###############
-- lf_maven_stage: &lf_maven_stage
+- _lf_maven_stage: &lf_maven_stage
name: lf-maven-stage
######################
# Maven Stage for Docker #
##########################
-- lf_maven_docker_stage: &lf_maven_docker_stage
+- _lf_maven_docker_stage: &lf_maven_docker_stage
name: lf-maven-docker-stage
builders:
# Maven Sonar #
###############
-- lf_maven_sonar: &lf_maven_sonar
+- _lf_maven_sonar: &lf_maven_sonar
name: lf-maven-sonar
######################
- findbugs
- lf-infra-publish
-- mvn_sonar_builders: &mvn_sonar_builders
+- _mvn_sonar_builders: &mvn_sonar_builders
name: mvn-sonar-builders
builders:
- lf-infra-pre-build
mvn-settings: "{mvn-settings}"
mvn-version: "{mvn-version}"
-- mvn_sonar_builders_prescan_script: &mvn_sonar_builders_prescan_script
+- _mvn_sonar_builders_prescan_script: &mvn_sonar_builders_prescan_script
name: mvn-sonar-builders-prescan-script
builders:
- shell: "{sonar-prescan-script}"
# Maven Verify #
################
-- lf_maven_verify: &lf_maven_verify
+- _lf_maven_verify: &lf_maven_verify
name: lf-maven-verify
######################
# Maven Verify for Docker #
###########################
-- lf_maven_docker_verify: &lf_maven_docker_verify
+- _lf_maven_docker_verify: &lf_maven_docker_verify
name: lf-maven-docker-verify
# image push not allowed during verification
# Maven Verify Dependencies #
#############################
-- lf_maven_verify_dependencies: &lf_maven_verify_dependencies
+- _lf_maven_verify_dependencies: &lf_maven_verify_dependencies
name: lf-maven-verify-dependencies
######################
# Node Verify #
###############
-- lf_node_verify: &lf_node_verify
+- _lf_node_verify: &lf_node_verify
name: lf-node-verify
######################
# COMMON FUNCTIONS #
####################
-- lf_pipeline_common: &lf_pipeline_common
+- _lf_pipeline_common: &lf_pipeline_common
name: lf-pipeline-common
######################
# PIPELINE VERIFY#
##################
-- lf_pipeline_verify: &lf_pipeline_verify
+- _lf_pipeline_verify: &lf_pipeline_verify
name: lf-pipeline-verify
######################
# COMMON FUNCTIONS #
####################
-- lf_python_common: &lf_python_common
+- _lf_python_common: &lf_python_common
name: lf-python-common
######################
# Tox Nexus IQ CLM #
####################
-- lf_tox_nexus_iq_clm: &lf_tox_nexus_iq_clm
+- _lf_tox_nexus_iq_clm: &lf_tox_nexus_iq_clm
name: lf-tox-nexus-iq-clm
######################
# Python Snyk CLI #
###################
-- lf_python_snyk_cli: &lf_python_snyk_cli
+- _lf_python_snyk_cli: &lf_python_snyk_cli
name: lf-python-snyk_cli
######################
# Python Sonar with CLI #
#########################
-- lf_cli_sonar: &lf_cli_sonar
+- _lf_cli_sonar: &lf_cli_sonar
name: lf-cli-sonar
######################
# Python Sonar with Tox #
#########################
-- lf_tox_sonar: &lf_tox_sonar
+- _lf_tox_sonar: &lf_tox_sonar
name: lf-tox-sonar
######################
mvn-goals: validate
mvn-opts: ""
mvn-params: ""
- mvn-settings: "{mvn-settings}"
+ mvn-settings: ""
mvn-version: mvn35
parallel: true
pre-build-script: "# pre-build script goes here"
# Tox SonarQube #
#################
-- lf_tox_sonarqube: &lf_tox_sonarqube
+- _lf_tox_sonarqube: &lf_tox_sonarqube
name: lf-tox-sonarqube
######################
# Tox Common #
##############
-- lf_tox_common: &lf_tox_common
+- _lf_tox_common: &lf_tox_common
name: lf-tox-common
######################
# PyPI #
########
-- lf_pypi_common: &lf_pypi_common
+- _lf_pypi_common: &lf_pypi_common
name: lf-pypi-common
######################
publishers:
- lf-infra-publish
-- lf_pypi_verify_builders: &lf_pypi_verify_builders
+- _lf_pypi_verify_builders: &lf_pypi_verify_builders
name: lf-pypi-verify-builders
builders:
parallel: "{parallel}"
- shell: !include-raw-escape: ../shell/pypi-dist-build.sh
-- lf_pypi_publish_builders: &lf_pypi_publish_builders
+- _lf_pypi_publish_builders: &lf_pypi_publish_builders
name: lf-pypi-publish-builders
builders:
# COMMON FUNCTIONS #
####################
-- lf_release_common: &lf_release_common
+- _lf_release_common: &lf_release_common
name: lf-release-common
#####################
# RELEASE VERIFY #
##################
-- lf_release_verify: &lf_release_verify
+- _lf_release_verify: &lf_release_verify
name: lf-release-verify
######################
# RELEASE MERGE #
#################
-- lf_release_merge: &lf_release_merge
+- _lf_release_merge: &lf_release_merge
name: lf-release-merge
######################
# PyPI RELEASE #
################
-- lf_pypi_verify_wrappers: &lf_pypi_verify_wrappers
+- _lf_pypi_verify_wrappers: &lf_pypi_verify_wrappers
name: lf-pypi-verify-wrappers
wrappers:
build-timeout: "{build-timeout}"
jenkins-ssh-credential: "{jenkins-ssh-credential}"
-- lf_pypi_release_wrappers: &lf_pypi_release_wrappers
+- _lf_pypi_release_wrappers: &lf_pypi_release_wrappers
name: lf-pypi-release-wrappers
wrappers:
build-timeout: "{build-timeout}"
jenkins-ssh-credential: "{jenkins-ssh-release-credential}"
-- lf_pypi_release: &lf_pypi_release
+- _lf_pypi_release: &lf_pypi_release
name: lf-pypi-release
######################
# PackageCloud RELEASE #
########################
-- lf_packagecloud_release_common: &lf_packagecloud_release_common
+- _lf_packagecloud_release_common: &lf_packagecloud_release_common
name: lf-packagecloud-release-common
######################
# Release Announce #
####################
-- lf_release_announce: &lf_release_announce
+- _lf_release_announce: &lf_release_announce
name: lf-release-announce
######################
# COMMON FUNCTIONS #
####################
-- lf_rtd_common: &lf_rtd_common
+- _lf_rtd_common: &lf_rtd_common
name: lf-rtd-common
######################
# Default parameters #
######################
-
gerrit_trigger_file_paths:
- compare-type: REG_EXP
pattern: '.*\.css'
# RTD MERGE #
#############
-- lf_rtd_merge: &lf_rtd_merge
+- _lf_rtd_merge: &lf_rtd_merge
name: lf-rtd-merge
######################
# RTD VERIFY#
#############
-- lf_rtd_verify: &lf_rtd_verify
+- _lf_rtd_verify: &lf_rtd_verify
name: lf-rtd-verify
######################
---
-- lf_rtdv3_common: &lf_rtdv3_common
+- _lf_rtdv3_common: &lf_rtdv3_common
name: lf-rtdv3-common
######################
# common view template #
########################
-- lf_view_common_columns: &lf_view_common_columns
+- _lf_view_common_columns: &lf_view_common_columns
name: lf-view-common-columns
columns:
# COMMON FUNCTIONS #
####################
-- lf_whitesource_common: &lf_whitesource_common
+- _lf_whitesource_common: &lf_whitesource_common
name: lf-whitesource-common
######################
# WHITESOURCE UNIFIED AGENT SCAN #
##################################
-- lf_wss_unified_agent_scan: &lf_wss_unified_agent_scan
+- _lf_wss_unified_agent_scan: &lf_wss_unified_agent_scan
name: lf-wss-unified-agent-scan
######################
--- /dev/null
+---
+prelude: >
+ JJB's YAML parser is re-written in JJB 5.x release for a fine-tuned control
+ over YAML parsing, YAML objects and parameter expansion logic.
+issues:
+ - |
+ This breaks backward compatibility with older version of JJB
+ therefore care must be taken during upgrade.
+upgrade:
+ - |
+ Upgrade Jenkins-job-builder to 5.0.1 as the default version.
+
+ Ref: https://review.opendev.org/c/jjb/jenkins-job-builder/+/871965
ensure-documented,
jjb,
jjb-compare-xml,
-# jjb-latest,
+ jjb-latest,
jjb-version,
license,
bashate,
-# pre-commit
+ pre-commit
skipsdist = True
[testenv:docs]
[testenv:jjb]
basepython = python3
deps =
- jenkins-job-builder==4.1.0
+ jenkins-job-builder==5.0.1
commands =
jenkins-jobs -l DEBUG test --recursive -o {toxinidir}/archives/job-configs {toxinidir}/jjb:{toxinidir}/.jjb-test
[testenv:jenkins-jobs]
deps =
- jenkins-job-builder{env:JJB_VERSION_OP:~=}{env:JJB_VERSION:4.1.0}
+ jenkins-job-builder{env:JJB_VERSION_OP:~=}{env:JJB_VERSION:5.0.1}
commands =
jenkins-jobs {posargs:--help}