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
5 files changed
tree: 1d6f7db54c76d282e71340a5244a2fba508bfebb
  1. jenkins/
  2. jenkins-docker/
  3. jenkins-internal/
  4. vars/
  5. .gitignore
  6. Jenkinsfile
  7. README.md
  8. yamllint-config.yaml
README.md

Gerrit CI scripts

Providing jobs

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/