Add gerrit 3.9 image builds

We need to add java-prettify to our submodule setup as this is a new
gerrit submodule. While we're in there we also cleanup some python
binary symlinks that were only necessary for Gerrit 3.5 and older.

The Gerrit 3.9.0 release was a bad release because it accidentally
updated lucene versions to far ahead of 3.8.x. This broke online
reindexing post upgrade from 3.8.x to 3.9.0. To address this the Gerrit
project pulled 3.9.0, reverted a bunch of stuff, made a 3.9.0-rc6, we
tested this (as did others), and when everything was working as expected
released 3.9.1 to replace 3.9.0. That is the reason we are starting our
image builds with 3.9.1 and not 3.9.0.

It should be noted that 3.9.0 should be entirely avoided as well.

Depends-On: https://review.opendev.org/c/openstack/project-config/+/901479
Change-Id: Ice2201ce5a7b3f560923dce84af2603bdc709ab9
This commit is contained in:
Clark Boylan 2023-11-20 08:17:41 -08:00
parent 787415f0c5
commit aadce43971
5 changed files with 126 additions and 10 deletions

View File

@ -15,16 +15,6 @@
- unzip
state: present
# Until Gerrit 3.5 we need to work around scripts looking for bare
# python instead of python3.
# https://gerrit-review.googlesource.com/c/gerrit/+/298903
- name: Install python symlink
become: true
ansible.builtin.file:
src: /usr/bin/python3
dest: /usr/bin/python
state: link
- name: Move common plugin repos into gerrit tree
command: "mv -f {{ item }} ../gerrit/plugins"
args:

View File

@ -6,5 +6,6 @@
args:
chdir: /home/zuul/src/gerrit.googlesource.com/gerrit
loop:
- modules/java-prettify
- modules/jgit
- polymer-bridges

View File

@ -134,6 +134,99 @@
vars: *gerrit_vars_3_8
files: *gerrit_files_3_8
# Gerrit 3.9 jobs
- job:
name: system-config-build-image-gerrit-3.9
description: Build a gerrit image.
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-3.9-container-image
required-projects: &gerrit_projects_3_9
- name: opendev/system-config
override-checkout: master
- name: gerrit.googlesource.com/gerrit
override-checkout: stable-3.9
# Backend behavior plugins
- name: gerrit.googlesource.com/plugins/commit-message-length-validator
override-checkout: v3.9.1
- name: gerrit.googlesource.com/plugins/delete-project
override-checkout: v3.9.1
- name: gerrit.googlesource.com/plugins/hooks
override-checkout: v3.9.1
- name: gerrit.googlesource.com/plugins/its-base
# There is no 3.9 branch
override-checkout: master
- name: gerrit.googlesource.com/plugins/its-storyboard
# There is no 3.9 branch
override-checkout: master
- name: gerrit.googlesource.com/plugins/plugin-manager
override-checkout: v3.9.1
- name: gerrit.googlesource.com/plugins/replication
override-checkout: v3.9.1
- name: gerrit.googlesource.com/plugins/reviewnotes
override-checkout: v3.9.1
- name: gerrit.googlesource.com/plugins/singleusergroup
override-checkout: v3.9.1
- name: gerrit.googlesource.com/plugins/webhooks
override-checkout: v3.9.1
# UI behavior plugins
- name: gerrit.googlesource.com/plugins/codemirror-editor
override-checkout: v3.9.1
- name: gerrit.googlesource.com/plugins/download-commands
override-checkout: v3.9.1
- name: gerrit.googlesource.com/plugins/gitiles
override-checkout: v3.9.1
- 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.9.1
vars: &gerrit_vars_3_9
docker_images:
- context: docker/gerrit/bazel
repository: opendevorg/gerrit
target: gerrit
path: /home/zuul/src/gerrit.googlesource.com/gerrit
tags:
- 3.9
files: &gerrit_files_3_9
- 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.9
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-3.9-container-image
required-projects: *gerrit_projects_3_9
vars: *gerrit_vars_3_9
files: *gerrit_files_3_9
- job:
name: system-config-promote-image-gerrit-3.9
description: Promote a previously published gerrit image to latest.
parent: system-config-promote-image
vars: *gerrit_vars_3_9
files: *gerrit_files_3_9
# Gerrit master jobs
- job:
name: system-config-build-image-gerrit-master-base
@ -169,6 +262,8 @@
- 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
@ -232,6 +327,11 @@
- name: opendev-buildset-registry
- name: system-config-build-image-gerrit-base
soft: true
- system-config-build-image-gerrit-3.9:
dependencies:
- name: opendev-buildset-registry
- name: system-config-build-image-gerrit-base
soft: true
- system-config-build-image-gerrit-master:
voting: false
dependencies:
@ -250,7 +350,13 @@
- name: opendev-buildset-registry
- name: system-config-upload-image-gerrit-base
soft: true
- system-config-upload-image-gerrit-3.9:
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.8
- system-config-promote-image-gerrit-3.9

View File

@ -69,6 +69,11 @@
- name: opendev-buildset-registry
- name: system-config-build-image-gerrit-3.8
soft: true
- system-config-run-review-3.9:
dependencies:
- name: opendev-buildset-registry
- name: system-config-build-image-gerrit-3.9
soft: true
#- system-config-upgrade-review:
# dependencies:
# - name: opendev-buildset-registry
@ -224,6 +229,11 @@
- name: opendev-buildset-registry
- name: system-config-upload-image-gerrit-3.8
soft: true
- system-config-run-review-3.9:
dependencies:
- name: opendev-buildset-registry
- name: system-config-upload-image-gerrit-3.9
soft: true
- system-config-run-refstack:
dependencies:
- name: opendev-buildset-registry

View File

@ -1084,6 +1084,15 @@
vars:
zuul_test_gerrit_version: '3.8'
- job:
name: system-config-run-review-3.9
parent: system-config-run-review-base
description: |
Run the playbook for gerrit 3.9 (in a container).
requires: gerrit-3.9-container-image
vars:
zuul_test_gerrit_version: '3.9'
#- job:
# name: system-config-upgrade-review
# parent: system-config-run-review-base