Avoid shell parameter expansion in JJB scripts
Jenkins Job Builder treats {} specially, which conflicts with the
shell default-value expansion ${BAZEL_MAJOR:-0} used in the Bazel
version check. Attempting to escape it with doubled braces results in
an invalid shell expression in the generated script.
Avoid parameter expansion altogether by assigning a default value
explicitly before the numeric comparison.
This keeps the Bazel >= 9 check working correctly in both Jenkins shell
wrappers.
Change-Id: I1abd35f6ffa5424265848d04ba62fabda0aa1904
This project uses Jenkins Jobs Builder [1] to generate jobs from yaml descriptor files.
To add new jobs reuse existing templates, defaults etc. as much as possible. E.g. adding a job to build an additional branch of a project may be as easy as adding the name of the branch to an existing project.
To ensure well readable yaml-files, use yamllint [2] to lint the yaml-files. Yamllint can be downloaded using Python Pip:
pip3 install --require-hashes yamllint
To run the linter, execute this command from the project's root directory:
yamllint -c yamllint-config.yaml jenkins/**/*.yaml
Yamllint will not fix detected issues itself.
[1] https://docs.openstack.org/infra/jenkins-job-builder/index.html [2] https://pypi.org/project/yamllint/