Fix account-gh plugin info step writing to wrong path
The account-gh job builds into bazel-bin/plugins/account (its build
script hardcodes "account"), but the shared get-project-info step keyed
its output on the JJB project name {name}, which is "account-gh". So it
fetched plugins/account-gh config from googlesource (404) and tried to
write bazel-bin/plugins/account-gh/account-gh.json into a directory that
never exists, failing the build under "bash -e".
This regressed in c0e955e: adding the stable-3.12 googlesource build
needed a second project block, and JJB project names must be unique, so
the gerrithub block was renamed account -> account-gh. That flipped
{name} while the build script kept using "account". Before that, {name}
was "account" and the info step worked (e.g. build #14).
Parametrize gerrit-bazel-get-project-info.sh with project-info-host,
project-info-name and project-info-output (the nested defaults mirror the
existing targets default):
* plugin-template-bazel and plugin-gitblit keep the previous
gerrit-review.googlesource.com / {class}%2F{name} / {name} behaviour
* plugin-gh-template defaults to gerrithub review.gerrithub.io /
{organization}%2F{repo} / {repo}, matching its GitHub-hosted jobs
* the account-gh job overrides them to fetch GerritForge/account from
gerrithub and write account.json
This reuses the shared helper instead of duplicating the fetch logic.
Change-Id: I694baf0433c33947b30c2a7dd37e03011f02a323
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/