Files
system-config/zuul.d/docker-images/gerrit.yaml
Clark Boylan 5ca652888e Build gerrit image with python base from quay.io
The parent change moves publication of these base python images to
quay.io. Update the Gerrit image builds to pull these images from
quay.io to match.

We switch to building with docker now that docker is capable of
building with speculative images in single arch builds.

Change-Id: Ie48f8dedf2c4aed86e098723acd3e499be9b680d
2025-09-04 15:09:46 -07:00

406 lines
15 KiB
YAML

# gerrit-base jobs
- job:
name: system-config-build-image-gerrit-base
description: Build a gerrit-base image.
parent: system-config-build-container-image
required-projects: &gerrit_base_projects
- opendev/jeepyb
- opendev/system-config
requires:
- python-builder-3.12-bookworm-container-image
- python-base-3.12-bookworm-container-image
provides: gerrit-base-container-image
pre-run: &gerrit-base_prerun
- playbooks/zuul/gerrit/base.yaml
vars: &gerrit-base_vars
promote_container_image_job: system-config-upload-image-gerrit-base
container_command: docker
container_images:
- context: docker/gerrit/base
registry: quay.io
repository: quay.io/opendevorg/gerrit-base
namespace: opendevorg
repo_shortname: gerrit-base
repo_description: >
A base image used by the OpenDev collaboratory to build its
production Gerrit image
path: /home/zuul/src/opendev.org/opendev/jeepyb
container_filename: Dockerfile
files: &gerrit-base_files
- docker/gerrit/base/
- roles/bazelisk-build/
- playbooks/zuul/gerrit/
- zuul.d/docker-images/gerrit.yaml
- job:
name: system-config-upload-image-gerrit-base
description: Build and upload a gerrit-base image.
parent: system-config-upload-container-image
requires:
- python-builder-3.12-bookworm-container-image
- python-base-3.12-bookworm-container-image
provides: gerrit-base-container-image
pre-run: *gerrit-base_prerun
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-container-image
required-projects: *gerrit_base_projects
vars: *gerrit-base_vars
files: *gerrit-base_files
# Gerrit 3.10 jobs
- job:
name: system-config-build-image-gerrit-3.10
description: Build a gerrit image.
parent: system-config-build-container-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-3.10-container-image
required-projects: &gerrit_projects_3_10
- name: opendev/system-config
override-checkout: master
- name: gerrit.googlesource.com/gerrit
override-checkout: stable-3.10
# Backend behavior plugins
- name: gerrit.googlesource.com/plugins/commit-message-length-validator
override-checkout: v3.10.7
- name: gerrit.googlesource.com/plugins/delete-project
override-checkout: v3.10.7
- name: gerrit.googlesource.com/plugins/hooks
override-checkout: v3.10.7
- name: gerrit.googlesource.com/plugins/its-base
# There is no 3.10 branch
override-checkout: master
- name: gerrit.googlesource.com/plugins/its-storyboard
# There is no 3.10 branch
override-checkout: master
- name: gerrit.googlesource.com/plugins/plugin-manager
override-checkout: v3.10.7
- name: gerrit.googlesource.com/plugins/replication
override-checkout: v3.10.7
- name: gerrit.googlesource.com/plugins/reviewnotes
override-checkout: v3.10.7
- name: gerrit.googlesource.com/plugins/singleusergroup
override-checkout: v3.10.7
- name: gerrit.googlesource.com/plugins/webhooks
override-checkout: v3.10.7
# UI behavior plugins
- name: gerrit.googlesource.com/plugins/codemirror-editor
override-checkout: v3.10.7
- name: gerrit.googlesource.com/plugins/download-commands
override-checkout: v3.10.7
- name: gerrit.googlesource.com/plugins/gitiles
override-checkout: v3.10.7
- name: gerrit.googlesource.com/plugins/zuul-results-summary
override-checkout: main
# Non plugin submodules
- name: gerrit.googlesource.com/java-prettify
override-checkout: master
- name: gerrit.googlesource.com/jgit
override-checkout: master
- name: gerrit.googlesource.com/polymer-bridges
override-checkout: v3.10.7
vars: &gerrit_vars_3_10
promote_container_image_job: system-config-upload-image-gerrit-3.10
container_command: docker
container_images:
- context: docker/gerrit/bazel
registry: quay.io
repository: quay.io/opendevorg/gerrit
namespace: opendevorg
repo_shortname: gerrit
repo_description: >
A Gerrit image used by the OpenDev collaboratory to run its
production instance of Gerrit
target: gerrit
path: /home/zuul/src/gerrit.googlesource.com/gerrit
container_filename: Dockerfile
tags:
- '3.10'
files: &gerrit_files_3_10
- docker/gerrit/base/
- docker/gerrit/bazel/
- playbooks/zuul/gerrit/
- playbooks/test-review.yaml
- testinfra/test_gerrit.py
- jeepyb/
- roles/bazelisk-build/
- job:
name: system-config-upload-image-gerrit-3.10
description: Build and upload a gerrit image.
parent: system-config-upload-container-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-3.10-container-image
required-projects: *gerrit_projects_3_10
vars: *gerrit_vars_3_10
files: *gerrit_files_3_10
- job:
name: system-config-promote-image-gerrit-3.10
description: Promote a previously published gerrit image to latest.
parent: system-config-promote-container-image
vars: *gerrit_vars_3_10
files: *gerrit_files_3_10
# Gerrit 3.11 jobs
- job:
name: system-config-build-image-gerrit-3.11
description: Build a gerrit image.
parent: system-config-build-container-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-3.11-container-image
required-projects: &gerrit_projects_3_11
- name: opendev/system-config
override-checkout: master
- name: gerrit.googlesource.com/gerrit
override-checkout: stable-3.11
# Backend behavior plugins
- name: gerrit.googlesource.com/plugins/commit-message-length-validator
override-checkout: v3.11.4
- name: gerrit.googlesource.com/plugins/delete-project
override-checkout: v3.11.4
- name: gerrit.googlesource.com/plugins/hooks
override-checkout: v3.11.4
- name: gerrit.googlesource.com/plugins/its-base
# There is no 3.11 branch
override-checkout: master
- name: gerrit.googlesource.com/plugins/its-storyboard
# There is no 3.11 branch
override-checkout: master
- name: gerrit.googlesource.com/plugins/plugin-manager
override-checkout: v3.11.4
- name: gerrit.googlesource.com/plugins/replication
override-checkout: v3.11.4
- name: gerrit.googlesource.com/plugins/reviewnotes
override-checkout: v3.11.4
- name: gerrit.googlesource.com/plugins/singleusergroup
override-checkout: v3.11.4
- name: gerrit.googlesource.com/plugins/webhooks
override-checkout: v3.11.4
# UI behavior plugins
- name: gerrit.googlesource.com/plugins/codemirror-editor
override-checkout: v3.11.4
- name: gerrit.googlesource.com/plugins/download-commands
override-checkout: v3.11.4
- name: gerrit.googlesource.com/plugins/gitiles
override-checkout: v3.11.4
- name: gerrit.googlesource.com/plugins/zuul-results-summary
override-checkout: main
# Non plugin submodules
- name: gerrit.googlesource.com/java-prettify
override-checkout: master
- name: gerrit.googlesource.com/jgit
override-checkout: master
- name: gerrit.googlesource.com/polymer-bridges
override-checkout: v3.11.4
vars: &gerrit_vars_3_11
promote_container_image_job: system-config-upload-image-gerrit-3.11
container_command: docker
container_images:
- context: docker/gerrit/bazel
registry: quay.io
repository: quay.io/opendevorg/gerrit
namespace: opendevorg
repo_shortname: gerrit
repo_description: >
A Gerrit image used by the OpenDev collaboratory to run its
production instance of Gerrit
target: gerrit
path: /home/zuul/src/gerrit.googlesource.com/gerrit
container_filename: Dockerfile
tags:
- '3.11'
files: &gerrit_files_3_11
- docker/gerrit/base/
- docker/gerrit/bazel/
- playbooks/zuul/gerrit/
- playbooks/test-review.yaml
- testinfra/test_gerrit.py
- jeepyb/
- roles/bazelisk-build/
- job:
name: system-config-upload-image-gerrit-3.11
description: Build and upload a gerrit image.
parent: system-config-upload-container-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-3.11-container-image
required-projects: *gerrit_projects_3_11
vars: *gerrit_vars_3_11
files: *gerrit_files_3_11
- job:
name: system-config-promote-image-gerrit-3.11
description: Promote a previously published gerrit image to latest.
parent: system-config-promote-container-image
vars: *gerrit_vars_3_11
files: *gerrit_files_3_11
# 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-container-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/gerrit
# Backend behavior plugins
- gerrit.googlesource.com/plugins/commit-message-length-validator
- gerrit.googlesource.com/plugins/delete-project
- gerrit.googlesource.com/plugins/hooks
- gerrit.googlesource.com/plugins/its-base
- gerrit.googlesource.com/plugins/its-storyboard
- 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
# UI behavior plugins
- gerrit.googlesource.com/plugins/checks
- gerrit.googlesource.com/plugins/codemirror-editor
- gerrit.googlesource.com/plugins/download-commands
- gerrit.googlesource.com/plugins/gitiles
- name: gerrit.googlesource.com/plugins/zuul-results-summary
override-checkout: main
# Non plugin submodules
- gerrit.googlesource.com/java-prettify
- gerrit.googlesource.com/jgit
- gerrit.googlesource.com/polymer-bridges
vars: &gerrit_vars_master
zuul_work_dir: src/opendev.org/opendev/system-config
promote_container_image_job: system-config-upload-image-gerrit-master
container_command: docker
container_images:
- context: docker/gerrit/bazel
registry: quay.io
repository: quay.io/opendevorg/gerrit
namespace: opendevorg
repo_shortname: gerrit
repo_description: >
A Gerrit image used by the OpenDev collaboratory to run its
production instance of Gerrit
target: gerrit
path: /home/zuul/src/gerrit.googlesource.com/gerrit
container_filename: Dockerfile
tags:
- master
gerrit_additional_plugins:
- checks
- 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/
- roles/bazelisk-build/
- job:
name: system-config-upload-image-gerrit-master
description: Build and upload a gerrit image.
parent: system-config-upload-container-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-container-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.12-bookworm
soft: true
- name: system-config-build-image-python-base-3.12-bookworm
soft: true
- system-config-build-image-gerrit-3.10:
dependencies:
- name: opendev-buildset-registry
- name: system-config-build-image-gerrit-base
soft: true
- system-config-build-image-gerrit-3.11:
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.12-bookworm
soft: true
- name: system-config-upload-image-python-base-3.12-bookworm
soft: true
- system-config-upload-image-gerrit-3.10:
dependencies:
- name: opendev-buildset-registry
- name: system-config-upload-image-gerrit-base
soft: true
- system-config-upload-image-gerrit-3.11:
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-3.10
- system-config-promote-image-gerrit-3.11