:disable-job: Whether to disable the job (default: false)
:git-url: URL clone project from. (default: $GIT_URL/$PROJECT)
:github-url: URL for Github. (default: https://github.com)
+ :java-version: JDK version to use. (default: openjdk17)
:parallel: If different from false, try pass this parameter to tox option
"--parallel" to parallelize jobs in the envlist (and then activate the
option "--parallel-live" to display output in logs).
disable-job: false
github-url: "https://github.com"
jjb-cache: "$HOME/.cache/jenkins_jobs"
- jjb-version: 5.0.4
+ jjb-version: 6.0.0
stream: master
submodule-recursive: true
submodule-timeout: 10
- builder:
name: lf-fetch-dependent-patches
builders:
- - shell: !include-raw: ../shell/gerrit-fetch-dependencies.sh
+ - shell: !include-raw-escape: ../shell/gerrit-fetch-dependencies.sh
- inject:
properties-file: $WORKSPACE/.dependency.properties
- builder:
name: lf-infra-capture-instance-metadata
builders:
- - shell: !include-raw:
+ - shell: !include-raw-escape:
- ../shell/capture-instance-metadata.sh
- builder:
# Ensure python-tools are installed in case job template does not
# call the lf-infra-pre-build macro.
- ../shell/python-tools-install.sh
- - shell: !include-raw:
+ - shell: !include-raw-escape:
- ../shell/sudo-logs.sh
- - shell: !include-raw:
+ - shell: !include-raw-escape:
- ../shell/job-cost.sh
- - shell: !include-raw:
+ - shell: !include-raw-escape:
- ../shell/logs-deploy.sh
- shell: !include-raw:
- ../shell/logs-clear-credentials.sh
- builder:
name: lf-infra-package-listing
builders:
- - shell: !include-raw:
+ - shell: !include-raw-escape:
- ../shell/package-listing.sh
- builder:
- builder:
name: lf-infra-update-packer-images
builders:
- - shell: !include-raw: ../shell/update-cloud-images.sh
+ - shell: !include-raw-escape: ../shell/update-cloud-images.sh
- builder:
name: lf-infra-push-gerrit-patch
- builder:
name: lf-infra-sysstat
builders:
- - shell: !include-raw:
+ - shell: !include-raw-escape:
- ../shell/sysstat.sh
- builder:
files:
- file-id: lftoolsini
target: "$HOME/.config/lftools/lftools.ini"
- - shell: !include-raw: ../shell/release-job.sh
+ - shell: !include-raw-escape: ../shell/release-job.sh
- builder:
name: lf-sigul-sign-dir
- builder:
name: lf-maven-deploy
builders:
- - shell: !include-raw:
+ - shell: !include-raw-escape:
- ../shell/common-variables.sh
- ../shell/maven-deploy.sh
disable-job: false
git-url: "$GIT_URL/$PROJECT"
github-url: "https://github.com"
+ java-version: openjdk17
parallel: false
pre-build-script: "# pre-build script goes here"
python-version: python3
builders:
- lf-infra-pre-build
+ - lf-update-java-alternatives:
+ java-version: "{java-version}"
- lf-infra-tox-install:
python-version: "{python-version}"
- shell: "{pre-build-script}"
--- /dev/null
+---
+prelude: >
+ A new version of JJB 6.x is released which breaks backword compatibility.
+fixes:
+ - |
+ Pin global-jjb to 5.1.0 until the codebase is moved to JJB 6x.
+
+ https://groups.google.com/g/jenkins-job-builder/c/miYGnWgYZYM
--- /dev/null
+---
+fixes:
+ - |
+ Add Java update alternatives step to allow users to use a different Java
+ version for their Sonarqube builds.
--- /dev/null
+---
+prelude: >
+ Jenkins Job Builder 6.0.0 is released and breaks backward compatibility
+ with 5.1.0.
+
+ The breaking changes with previous 5.1.0 release:
+
+ - Jobs are now expanded the same way as job templates.
+ - Macros without parameters are now expanded the same way as macros with
+ parameters.
+ - Tags !include-raw: and !include-raw-escape: should now be used the same
+ way in jobs and macros without parameters as they are used in job
+ templates and macros with parameters.
+issues:
+ - |
+ This breaks backward compatibility with older version of JJB
+ therefore care must be taken during upgrade on the ci-man repositories.
+upgrade:
+ - |
+ Upgrade Jenkins-job-builder to 6.0.0 as the default version.
+
+ Ref:
+ https://storyboard.openstack.org/#!/story/2010963
+ https://storyboard.openstack.org/#!/story/2010588
[testenv:jjb]
basepython = python3
deps =
- jenkins-job-builder==5.0.4
+ jenkins-job-builder==6.0.0
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:5.0.4}
+ jenkins-job-builder{env:JJB_VERSION_OP:~=}{env:JJB_VERSION:6.0.0}
commands =
jenkins-jobs {posargs:--help}