system-config/zuul.d/docker-images/gerrit.yaml
Clark Boylan 3279a7ec10 Gerrit image cleanups/fixes
We name the base image we build gerrit-base and we expose port 8081
not 8080 as opendev's gerrit listens on 8081.

Also explicitly build the javamelody plugin deps jar and copy it into
the review_site/lib dir on Gerrit 2 bazel builds. This is necessary
according to javamelody plugin build docs. In order to split Gerrit 2.x
and 3.x behavior in the Bazel builds we convert our Dockerfile into a
multi stage build.

All this ended up down a thread pull where the script in the Dockerfile
dir called build-gerrit.sh isn't actually used to build gerrit :/
clarify that. The script may be useful for local builds so we haven't
removed it yet.

Finally update gerrit plugin checkouts to tags or master as appropriate
where stable branches don't exist for the specified version.

Change-Id: I155a20685b3462e965c4216d134b3b36978fbcc7
2020-08-11 13:15:06 -07:00

531 lines
19 KiB
YAML

# gerrit-base jobs
- job:
name: system-config-build-image-gerrit-base
description: Build a gerrit-base image.
parent: system-config-build-image
required-projects: &gerrit_base_projects
- opendev/jeepyb
- opendev/system-config
requires: python-builder-3.7-container-image
provides: gerrit-base-container-image
vars: &gerrit-base_vars
docker_images:
- context: docker/gerrit/base
repository: opendevorg/gerrit-base
path: /home/zuul/src/opendev.org/opendev/jeepyb
files: &gerrit-base_files
- docker/gerrit/base/
- job:
name: system-config-upload-image-gerrit-base
description: Build and upload a gerrit-base image.
parent: system-config-upload-image
requires: python-builder-3.7-container-image
provides: gerrit-base-container-image
required-projects: *gerrit_base_projects
vars: *gerrit-base_vars
files: *gerrit-base_files
- job:
name: system-config-promote-image-gerrit-base
description: Promote a previously published gerrit-base image to latest.
parent: system-config-promote-image
required-projects: *gerrit_base_projects
vars: *gerrit-base_vars
files: *gerrit-base_files
# Gerrit 2.13 jobs
- job:
name: system-config-build-image-gerrit-2.13
description: Build a gerrit 2.13 image.
parent: system-config-build-image
requires: gerrit-base-container-image
provides: gerrit-2.13-container-image
required-projects: &gerrit_projects_2_13
- name: opendev/system-config
override-checkout: master
vars: &gerrit_vars_2_13
docker_images:
# The 2.13 image doesn't build from source, but from existing war file
- context: docker/gerrit/2.13
repository: opendevorg/gerrit
path: /home/zuul/src/opendev.org/opendev/system-config
tags:
- 2.13
files: &gerrit_files_2_13
- docker/gerrit/base/
- docker/gerrit/2.13/
- jeepyb/
- job:
name: system-config-upload-image-gerrit-2.13
description: Build and upload a gerrit 2.13 image.
parent: system-config-upload-image
requires: gerrit-base-container-image
provides: gerrit-2.13-container-image
required-projects: *gerrit_projects_2_13
vars: *gerrit_vars_2_13
files: *gerrit_files_2_13
- job:
name: system-config-promote-image-gerrit-2.13
description: Promote a previously published gerrit 2.13 image to latest.
parent: system-config-promote-image
vars: *gerrit_vars_2_13
files: *gerrit_files_2_13
# Gerrit 2.14 jobs
- job:
name: system-config-build-image-gerrit-2.14
description: Build a gerrit image.
parent: system-config-build-image
pre-run: playbooks/zuul/gerrit/repos.yaml
run: playbooks/zuul/gerrit/run.yaml
requires: gerrit-base-container-image
provides: gerrit-2.14-container-image
required-projects: &gerrit_projects_2_14
- name: opendev/system-config
override-checkout: master
- name: gerrit.googlesource.com/gerrit
override-checkout: stable-2.14
- name: gerrit.googlesource.com/plugins/commit-message-length-validator
override-checkout: v2.14.21
- name: gerrit.googlesource.com/plugins/download-commands
override-checkout: stable-2.14
- name: gerrit.googlesource.com/plugins/hooks
override-checkout: stable-2.14
- name: gerrit.googlesource.com/plugins/its-base
override-checkout: stable-2.14
- name: gerrit.googlesource.com/plugins/its-storyboard
override-checkout: stable-2.14
- name: gerrit.googlesource.com/plugins/javamelody
override-checkout: stable-2.14
- name: gerrit.googlesource.com/plugins/replication
override-checkout: stable-2.14
- name: gerrit.googlesource.com/plugins/reviewnotes
override-checkout: stable-2.14
- name: gerrit.googlesource.com/plugins/singleusergroup
override-checkout: stable-2.14
vars: &gerrit_vars_2_14
bazelisk_targets: "plugins/javamelody:javamelody-deps_deploy.jar release"
docker_images:
- context: docker/gerrit/bazel
repository: opendevorg/gerrit
target: gerrit-2
path: /home/zuul/src/gerrit.googlesource.com/gerrit
tags:
- 2.14
files: &gerrit_files_2_14
- docker/gerrit/base/
- docker/gerrit/bazel/
- playbooks/zuul/gerrit/
- jeepyb/
- job:
name: system-config-upload-image-gerrit-2.14
description: Build and upload a gerrit image.
parent: system-config-upload-image
pre-run: playbooks/zuul/gerrit/repos.yaml
run: playbooks/zuul/gerrit/run.yaml
requires: gerrit-base-container-image
provides: gerrit-2.14-container-image
required-projects: *gerrit_projects_2_14
vars: *gerrit_vars_2_14
files: *gerrit_files_2_14
- job:
name: system-config-promote-image-gerrit-2.14
description: Promote a previously published gerrit image to latest.
parent: system-config-promote-image
vars: *gerrit_vars_2_14
files: *gerrit_files_2_14
# Gerrit 2.15 jobs
- job:
name: system-config-build-image-gerrit-2.15
description: Build a gerrit image.
parent: system-config-build-image
pre-run: playbooks/zuul/gerrit/repos.yaml
run: playbooks/zuul/gerrit/run.yaml
requires: gerrit-base-container-image
provides: gerrit-2.15-container-image
required-projects: &gerrit_projects_2_15
- name: opendev/system-config
override-checkout: master
- name: gerrit.googlesource.com/gerrit
override-checkout: stable-2.15
- name: gerrit.googlesource.com/plugins/commit-message-length-validator
override-checkout: v2.15.19
- name: gerrit.googlesource.com/plugins/download-commands
override-checkout: stable-2.15
- name: gerrit.googlesource.com/plugins/hooks
override-checkout: stable-2.15
- name: gerrit.googlesource.com/plugins/its-base
override-checkout: stable-2.15
- name: gerrit.googlesource.com/plugins/its-storyboard
override-checkout: stable-2.15
- name: gerrit.googlesource.com/plugins/javamelody
override-checkout: stable-2.15
- name: gerrit.googlesource.com/plugins/replication
override-checkout: stable-2.15
- name: gerrit.googlesource.com/plugins/reviewnotes
override-checkout: stable-2.15
- name: gerrit.googlesource.com/plugins/singleusergroup
override-checkout: stable-2.15
vars: &gerrit_vars_2_15
bazelisk_targets: "plugins/javamelody:javamelody-deps_deploy.jar release"
docker_images:
- context: docker/gerrit/bazel
repository: opendevorg/gerrit
target: gerrit-2
path: /home/zuul/src/gerrit.googlesource.com/gerrit
tags:
- 2.15
files: &gerrit_files_2_15
- docker/gerrit/base/
- docker/gerrit/bazel/
- playbooks/zuul/gerrit/
- jeepyb/
- job:
name: system-config-upload-image-gerrit-2.15
description: Build and upload a gerrit image.
parent: system-config-upload-image
pre-run: playbooks/zuul/gerrit/repos.yaml
run: playbooks/zuul/gerrit/run.yaml
requires: gerrit-base-container-image
provides: gerrit-2.15-container-image
required-projects: *gerrit_projects_2_15
vars: *gerrit_vars_2_15
files: *gerrit_files_2_15
- job:
name: system-config-promote-image-gerrit-2.15
description: Promote a previously published gerrit image to latest.
parent: system-config-promote-image
vars: *gerrit_vars_2_15
files: *gerrit_files_2_15
# Gerrit 2.16 jobs
- job:
name: system-config-build-image-gerrit-2.16
description: Build a gerrit image.
parent: system-config-build-image
pre-run: playbooks/zuul/gerrit/repos.yaml
run: playbooks/zuul/gerrit/run.yaml
requires: gerrit-base-container-image
provides: gerrit-2.16-container-image
required-projects: &gerrit_projects_2_16
- name: opendev/system-config
override-checkout: master
- name: gerrit.googlesource.com/gerrit
override-checkout: stable-2.16
- name: gerrit.googlesource.com/plugins/codemirror-editor
override-checkout: v2.16.22
- name: gerrit.googlesource.com/plugins/commit-message-length-validator
override-checkout: v2.16.22
- name: gerrit.googlesource.com/plugins/download-commands
override-checkout: stable-2.16
- name: gerrit.googlesource.com/plugins/hooks
override-checkout: stable-2.16
- name: gerrit.googlesource.com/plugins/its-base
override-checkout: stable-2.16
- name: gerrit.googlesource.com/plugins/its-storyboard
# There is no 2.16 branch
override-checkout: master
- name: gerrit.googlesource.com/plugins/javamelody
override-checkout: stable-2.16
- name: gerrit.googlesource.com/plugins/replication
override-checkout: stable-2.16
- name: gerrit.googlesource.com/plugins/reviewnotes
override-checkout: stable-2.16
- name: gerrit.googlesource.com/plugins/singleusergroup
override-checkout: stable-2.16
vars: &gerrit_vars_2_16
bazelisk_targets: "plugins/javamelody:javamelody-deps_deploy.jar release"
docker_images:
- context: docker/gerrit/bazel
repository: opendevorg/gerrit
target: gerrit-2
path: /home/zuul/src/gerrit.googlesource.com/gerrit
tags:
- 2.16
gerrit_additional_plugins:
- codemirror-editor
files: &gerrit_files_2_16
- docker/gerrit/base/
- docker/gerrit/bazel/
- playbooks/zuul/gerrit/
- jeepyb/
- job:
name: system-config-upload-image-gerrit-2.16
description: Build and upload a gerrit image.
parent: system-config-upload-image
pre-run: playbooks/zuul/gerrit/repos.yaml
run: playbooks/zuul/gerrit/run.yaml
requires: gerrit-base-container-image
provides: gerrit-2.16-container-image
required-projects: *gerrit_projects_2_16
vars: *gerrit_vars_2_16
files: *gerrit_files_2_16
- job:
name: system-config-promote-image-gerrit-2.16
description: Promote a previously published gerrit image to latest.
parent: system-config-promote-image
vars: *gerrit_vars_2_16
files: *gerrit_files_2_16
# Gerrit 3.0 jobs
- job:
name: system-config-build-image-gerrit-3.0
description: Build a gerrit image.
parent: system-config-build-image
pre-run: playbooks/zuul/gerrit/repos.yaml
run: playbooks/zuul/gerrit/run.yaml
requires: gerrit-base-container-image
provides: gerrit-3.0-container-image
required-projects: &gerrit_projects_3_0
- name: opendev/system-config
override-checkout: master
- name: gerrit.googlesource.com/gerrit
override-checkout: stable-3.0
- name: gerrit.googlesource.com/plugins/codemirror-editor
override-checkout: v3.0.12
- name: gerrit.googlesource.com/plugins/commit-message-length-validator
override-checkout: v3.0.12
- name: gerrit.googlesource.com/plugins/delete-project
override-checkout: stable-3.0
- name: gerrit.googlesource.com/plugins/download-commands
override-checkout: v3.0.12
- name: gerrit.googlesource.com/plugins/gitiles
override-checkout: stable-3.0
- name: gerrit.googlesource.com/plugins/hooks
override-checkout: stable-3.0
- name: gerrit.googlesource.com/plugins/its-base
override-checkout: stable-3.0
- name: gerrit.googlesource.com/plugins/its-storyboard
# There is no 3.0 branch
override-checkout: master
- name: gerrit.googlesource.com/plugins/javamelody
override-checkout: stable-3.0
- name: gerrit.googlesource.com/plugins/plugin-manager
override-checkout: stable-3.0
- name: gerrit.googlesource.com/plugins/replication
override-checkout: stable-3.0
- name: gerrit.googlesource.com/plugins/reviewnotes
override-checkout: stable-3.0
- name: gerrit.googlesource.com/plugins/singleusergroup
override-checkout: stable-3.0
- name: gerrit.googlesource.com/plugins/webhooks
override-checkout: stable-3.0
vars: &gerrit_vars_3_0
docker_images:
- context: docker/gerrit/bazel
repository: opendevorg/gerrit
target: gerrit
path: /home/zuul/src/gerrit.googlesource.com/gerrit
tags:
- 3.0
gerrit_additional_plugins:
- codemirror-editor
- delete-project
- gitiles
- plugin-manager
- webhooks
files: &gerrit_files_3_0
- docker/gerrit/base/
- docker/gerrit/bazel/
- playbooks/zuul/gerrit/
- jeepyb/
- job:
name: system-config-upload-image-gerrit-3.0
description: Build and upload a gerrit image.
parent: system-config-upload-image
pre-run: playbooks/zuul/gerrit/repos.yaml
run: playbooks/zuul/gerrit/run.yaml
requires: gerrit-base-container-image
provides: gerrit-3.0-container-image
required-projects: *gerrit_projects_3_0
vars: *gerrit_vars_3_0
files: *gerrit_files_3_0
- job:
name: system-config-promote-image-gerrit-3.0
description: Promote a previously published gerrit image to latest.
parent: system-config-promote-image
vars: *gerrit_vars_3_0
files: *gerrit_files_3_0
# Gerrit master jobs
- job:
name: system-config-build-image-gerrit-master-base
description: |
Build a gerrit image.
This job has no files matchers so it can be used in other repos.
parent: system-config-build-image
pre-run:
- playbooks/zuul/gerrit/repos.yaml
- playbooks/zuul/gerrit/submodules.yaml
run: playbooks/zuul/gerrit/run.yaml
requires: gerrit-base-container-image
provides: gerrit-master-container-image
required-projects: &gerrit_projects_master
- opendev/system-config
- gerrit.googlesource.com/jgit
- gerrit.googlesource.com/gerrit
- gerrit.googlesource.com/plugins/checks
- gerrit.googlesource.com/plugins/codemirror-editor
- gerrit.googlesource.com/plugins/commit-message-length-validator
- gerrit.googlesource.com/plugins/delete-project
- gerrit.googlesource.com/plugins/download-commands
- gerrit.googlesource.com/plugins/gitiles
- gerrit.googlesource.com/plugins/hooks
- gerrit.googlesource.com/plugins/its-base
- gerrit.googlesource.com/plugins/its-storyboard
- gerrit.googlesource.com/plugins/javamelody
- gerrit.googlesource.com/plugins/plugin-manager
- gerrit.googlesource.com/plugins/replication
- gerrit.googlesource.com/plugins/reviewnotes
- gerrit.googlesource.com/plugins/singleusergroup
- gerrit.googlesource.com/plugins/webhooks
- gerrit.googlesource.com/polymer-bridges
vars: &gerrit_vars_master
zuul_work_dir: src/opendev.org/opendev/system-config
docker_images:
- context: docker/gerrit/bazel
repository: opendevorg/gerrit
target: gerrit
path: /home/zuul/src/gerrit.googlesource.com/gerrit
tags:
- master
gerrit_additional_plugins:
- checks
- codemirror-editor
- delete-project
- gitiles
- plugin-manager
- webhooks
- job:
name: system-config-build-image-gerrit-master
description: |
Build a gerrit image.
This job is used in system-config.
parent: system-config-build-image-gerrit-master-base
files: &gerrit_files_master
- docker/gerrit/base/
- docker/gerrit/bazel/
- playbooks/zuul/gerrit/
- jeepyb/
- job:
name: system-config-upload-image-gerrit-master
description: Build and upload a gerrit image.
parent: system-config-upload-image
pre-run:
- playbooks/zuul/gerrit/repos.yaml
- playbooks/zuul/gerrit/submodules.yaml
run: playbooks/zuul/gerrit/run.yaml
requires: gerrit-base-container-image
provides: gerrit-master-container-image
required-projects: *gerrit_projects_master
vars: *gerrit_vars_master
files: *gerrit_files_master
- job:
name: system-config-promote-image-gerrit-master
description: Promote a previously published gerrit image to latest.
parent: system-config-promote-image
vars: *gerrit_vars_master
files: *gerrit_files_master
- project-template:
name: system-config-gerrit-images
check:
jobs:
- system-config-build-image-gerrit-base:
dependencies:
- name: opendev-buildset-registry
- name: system-config-build-image-python-builder-3.7
soft: true
- system-config-build-image-gerrit-2.13:
dependencies:
- name: opendev-buildset-registry
- name: system-config-build-image-python-builder-3.7
soft: true
- name: system-config-build-image-gerrit-base
soft: true
- system-config-build-image-gerrit-2.14:
dependencies:
- name: opendev-buildset-registry
- name: system-config-build-image-gerrit-base
soft: true
- system-config-build-image-gerrit-2.15:
dependencies:
- name: opendev-buildset-registry
- name: system-config-build-image-gerrit-base
soft: true
- system-config-build-image-gerrit-2.16:
dependencies:
- name: opendev-buildset-registry
- name: system-config-build-image-gerrit-base
soft: true
- system-config-build-image-gerrit-3.0:
dependencies:
- name: opendev-buildset-registry
- name: system-config-build-image-gerrit-base
soft: true
- system-config-build-image-gerrit-master:
voting: false
dependencies:
- name: opendev-buildset-registry
- name: system-config-build-image-gerrit-base
soft: true
gate:
jobs:
- system-config-upload-image-gerrit-base:
dependencies:
- name: opendev-buildset-registry
- name: system-config-upload-image-python-builder-3.7
soft: true
- system-config-upload-image-gerrit-2.13:
dependencies:
- name: opendev-buildset-registry
- name: system-config-upload-image-python-builder-3.7
soft: true
- name: system-config-upload-image-gerrit-base
soft: true
- system-config-upload-image-gerrit-2.14:
dependencies:
- name: opendev-buildset-registry
- name: system-config-upload-image-gerrit-base
soft: true
- system-config-upload-image-gerrit-2.15:
dependencies:
- name: opendev-buildset-registry
- name: system-config-upload-image-gerrit-base
soft: true
- system-config-upload-image-gerrit-2.16:
dependencies:
- name: opendev-buildset-registry
- name: system-config-upload-image-gerrit-base
soft: true
- system-config-upload-image-gerrit-3.0:
dependencies:
- name: opendev-buildset-registry
- name: system-config-upload-image-gerrit-base
soft: true
deploy:
jobs:
- system-config-promote-image-gerrit-base
- system-config-promote-image-gerrit-2.13
- system-config-promote-image-gerrit-2.14
- system-config-promote-image-gerrit-2.15
- system-config-promote-image-gerrit-2.16
- system-config-promote-image-gerrit-3.0