Always repin when building servlet-4 branch Currently, the servlet-4 build can fail if jgit brings in different versions of dependencies than the ones expected. From a build perspective, this shouldn't result in a failure as there is nothing wrong in the servlet-4 branch, but rather Gerrit will need to repin the dependencies. The problem is a direct consequence of a missing functionality [1] in bzlmod, when using rules_jvm_external with module dependency layering: there is currently no mechanism for the root module to globally enforce its declared dependency versions across the full resolved Maven graph contributed by child modules. In order to avoid build failures when JGit brings in new or updated deps, always repin; this way, the build will successfully pass. If the Gerrit builds, then stops working. We'll need to update Gerrit itself. [1] https://github.com/bazel-contrib/rules_jvm_external/issues/1549 Bug: Issue 527954021 Change-Id: I74ce6c8b2d5ab27d7e06ed8b3edd4b46047e3b3e
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/