commit | 7fa717254274c97bb1e30b651b249678fb0d4f1e | [log] [tgz] |
---|---|---|
author | Jacek Centkowski <geminica.programs@gmail.com> | Mon Apr 22 08:23:14 2024 +0200 |
committer | Jacek Centkowski <geminica.programs@gmail.com> | Tue May 07 05:51:37 2024 +0000 |
tree | 21c821dbe9e9dc7bedb6620d2ad786d9a7ae00b2 | |
parent | 7b786207a81600e3a7800063aaa6440ba93c8180 [diff] |
Build Gerrit plugin from a non-root directory on the same branch This update modifies the `gerrit-bazel-build-plugin.sh` script to support plugins located in non-root directories within multi-component repositories. Changes include: * Using `{repo}` variable as the plugin's repository path if available; otherwise, `{name}` is used. * If `{sourcePath}` variable is set, it specifies the relative path to the plugin within the repository. This path is then linked under the plugin's directory for building. Example Configuration: * repo: gerritforge-health-service * sourcePath: components/collectors/gerrit/ghs-upload-pack-metrics * Resulting Link: The path `gerritforge-health-service/components/collectors/gerrit/ ghs-upload-pack-metrics` is linked to `plugins/ghs-upload-pack-metrics` directory and used as the typical plugin target. The ghs-upload-pack-metrics plugin provides example on how to use it and also confirms that it works. GHS-Issue: https://github.com/GerritForge/gerritforge-health-service/issues/40 Change-Id: I00682769ce36c7a7dce54022ed98d6bf8e89336f
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/