Build gerrit images for 2.16 and 3.0 as well

Our goal is upgrading to 3.0. To do that we need to upgrade to 2.15, then
to 2.16, then to 3.0. Build all of the images so that we can do that.

2.16 and 3.0 also use bazel, so just use one copy of the Dockerfile for
all three and let zuul check out the repos to the right versions.

Depends-On: https://review.opendev.org/673147
Depends-On: https://review.opendev.org/672320
Change-Id: I35bd278e0c70c871fa44d005c60a987d1d8e3cdc
This commit is contained in:
Monty Taylor 2019-07-23 07:58:55 -04:00
parent 55f657c68d
commit 2a46202b9f
3 changed files with 201 additions and 25 deletions

View File

@ -158,13 +158,43 @@
vars: *haproxy-statsd_vars vars: *haproxy-statsd_vars
files: *haproxy-statsd_files files: *haproxy-statsd_files
# Gerrit jobs # Gerrit 2.13 jobs
- job: - job:
name: system-config-build-image-gerrit name: system-config-build-image-gerrit-2.13
description: Build a gerrit 2.13 image.
parent: system-config-build-image
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/2.13/.*
- job:
name: system-config-upload-image-gerrit-2.13
description: Build and upload a gerrit 2.13 image.
parent: system-config-upload-image
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.15 jobs
- job:
name: system-config-build-image-gerrit-2.15
description: Build a gerrit image. description: Build a gerrit image.
parent: system-config-build-image parent: system-config-build-image
pre-run: playbooks/zuul/gerrit/repos.yaml pre-run: playbooks/zuul/gerrit/repos.yaml
required-projects: &gerrit_projects required-projects: &gerrit_projects_2_15
- name: gerrit.googlesource.com/gerrit - name: gerrit.googlesource.com/gerrit
override-checkout: stable-2.15 override-checkout: stable-2.15
- name: gerrit.googlesource.com/plugins/commit-message-length-validator - name: gerrit.googlesource.com/plugins/commit-message-length-validator
@ -185,39 +215,160 @@
override-checkout: stable-2.15 override-checkout: stable-2.15
- name: gerrit.googlesource.com/plugins/singleusergroup - name: gerrit.googlesource.com/plugins/singleusergroup
override-checkout: stable-2.15 override-checkout: stable-2.15
vars: &gerrit_vars vars: &gerrit_vars_2_15
docker_images: docker_images:
- context: docker/gerrit/2.15 - context: docker/gerrit/bazel
repository: opendevorg/gerrit repository: opendevorg/gerrit
path: /home/zuul/src/gerrit.googlesource.com/gerrit path: /home/zuul/src/gerrit.googlesource.com/gerrit
tags: tags:
- 2.15 - 2.15
# The 2.13 image doesn't build from source, but from existing war file files: &gerrit_files_2_15
- context: docker/gerrit/2.13 - docker/gerrit/bazel/.*
repository: opendevorg/gerrit
path: /home/zuul/src/opendev.org/opendev/system-config
tags:
- 2.13
files: &gerrit_files
- docker/gerrit/.*
- playbooks/zuul/gerrit/.* - playbooks/zuul/gerrit/.*
- job: - job:
name: system-config-upload-image-gerrit name: system-config-upload-image-gerrit-2.15
description: Build and upload a gerrit image. description: Build and upload a gerrit image.
parent: system-config-upload-image parent: system-config-upload-image
pre-run: playbooks/zuul/gerrit/repos.yaml pre-run: playbooks/zuul/gerrit/repos.yaml
required-projects: *gerrit_projects required-projects: *gerrit_projects_2_15
vars: *gerrit_vars vars: *gerrit_vars_2_15
files: *gerrit_files files: *gerrit_files_2_15
- job: - job:
name: system-config-promote-image-gerrit name: system-config-promote-image-gerrit-2.15
description: Promote a previously published gerrit image to latest. description: Promote a previously published gerrit image to latest.
parent: system-config-promote-image parent: system-config-promote-image
vars: *gerrit_vars vars: *gerrit_vars_2_15
files: *gerrit_files 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
required-projects: &gerrit_projects_2_16
- name: gerrit.googlesource.com/gerrit
override-checkout: stable-2.16
- name: gerrit.googlesource.com/plugins/codemirror-editor
override-checkout: stable-2.16
- name: gerrit.googlesource.com/plugins/commit-message-length-validator
override-checkout: stable-2.16
- 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
override-checkout: stable-2.16
- 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
docker_images:
- context: docker/gerrit/bazel
repository: opendevorg/gerrit
path: /home/zuul/src/gerrit.googlesource.com/gerrit
tags:
- 2.16
gerrit_additional_plugins:
- codemirror-editor
files: &gerrit_files_2_16
- docker/gerrit/bazel/.*
- playbooks/zuul/gerrit/.*
- 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
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
required-projects: &gerrit_projects_3_0
- name: gerrit.googlesource.com/gerrit
override-checkout: stable-3.0
- name: gerrit.googlesource.com/plugins/codemirror-editor
override-checkout: stable-3.0
- name: gerrit.googlesource.com/plugins/commit-message-length-validator
override-checkout: stable-3.0
- name: gerrit.googlesource.com/plugins/delete-project
override-checkout: stable-3.0
- name: gerrit.googlesource.com/plugins/download-commands
override-checkout: stable-3.0
- 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
override-checkout: stable-3.0
- 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
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/bazel/.*
- playbooks/zuul/gerrit/.*
- 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
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
# python-builder jobs # python-builder jobs
- job: - job:
name: system-config-build-image-python-builder name: system-config-build-image-python-builder
@ -737,7 +888,10 @@
- system-config-build-image-jinja-init - system-config-build-image-jinja-init
- system-config-build-image-gitea-init - system-config-build-image-gitea-init
- system-config-build-image-gitea - system-config-build-image-gitea
- system-config-build-image-gerrit - system-config-build-image-gerrit-2.13
- system-config-build-image-gerrit-2.15
- system-config-build-image-gerrit-2.16
- system-config-build-image-gerrit-3.0
- system-config-build-image-haproxy-statsd - system-config-build-image-haproxy-statsd
- system-config-build-image-python-base - system-config-build-image-python-base
- system-config-build-image-python-builder - system-config-build-image-python-builder
@ -765,7 +919,10 @@
- system-config-upload-image-jinja-init - system-config-upload-image-jinja-init
- system-config-upload-image-gitea-init - system-config-upload-image-gitea-init
- system-config-upload-image-gitea - system-config-upload-image-gitea
- system-config-upload-image-gerrit - system-config-upload-image-gerrit-2.13
- system-config-upload-image-gerrit-2.15
- system-config-upload-image-gerrit-2.16
- system-config-upload-image-gerrit-3.0
- system-config-upload-image-haproxy-statsd - system-config-upload-image-haproxy-statsd
- system-config-upload-image-python-base - system-config-upload-image-python-base
- system-config-upload-image-python-builder - system-config-upload-image-python-builder
@ -774,7 +931,10 @@
- system-config-promote-image-jinja-init - system-config-promote-image-jinja-init
- system-config-promote-image-gitea-init - system-config-promote-image-gitea-init
- system-config-promote-image-gitea - system-config-promote-image-gitea
- system-config-promote-image-gerrit - system-config-promote-image-gerrit-2.13
- system-config-promote-image-gerrit-2.15
- system-config-promote-image-gerrit-2.16
- system-config-promote-image-gerrit-3.0
- system-config-promote-image-haproxy-statsd - system-config-promote-image-haproxy-statsd
- system-config-promote-image-python-base - system-config-promote-image-python-base
- system-config-promote-image-python-builder - system-config-promote-image-python-builder

View File

@ -38,7 +38,7 @@ COPY . /usr/src
ARG BAZEL_OPTS ARG BAZEL_OPTS
RUN cd /usr/src \ RUN cd /usr/src \
&& bazel build release \ && bazel build release \
--local_ram_resources=4096 \ --local_ram_resources=3072 \
--local_cpu_resources=1 \ --local_cpu_resources=1 \
--host_force_python=PY3 \ --host_force_python=PY3 \
--incompatible_string_join_requires_strings=false \ --incompatible_string_join_requires_strings=false \

View File

@ -6,14 +6,30 @@
chdir: /home/zuul/src/gerrit.googlesource.com/plugins chdir: /home/zuul/src/gerrit.googlesource.com/plugins
loop: loop:
- commit-message-length-validator - commit-message-length-validator
- download-commands
- hooks - hooks
- its-storyboard - its-storyboard
- its-base - its-base
- javamelody - javamelody
- replication - replication
- reviewnotes - reviewnotes
# There is no stable branch for download-commands and no 3.0 branch of
# singleusergroup so we need to check out the actual ref defined in the
# parent repo. Luckily, since we don't set a remote and this submodule
# uses relative paths, it should just clone the right thing and do it
# locally.
- name: Checkout core plugin submodules
command: "git submodule update --init plugins/{{ item }}"
args:
chdir: /home/zuul/src/gerrit.googlesource.com/gerrit
loop:
- download-commands
- singleusergroup - singleusergroup
- name: Move additional plugin repos into gerrit tree
command: "mv -f {{ item }} ../gerrit/plugins"
args:
chdir: /home/zuul/src/gerrit.googlesource.com/plugins
loop: "{{ gerrit_additional_plugins | default([]) }}"
- name: Configure plugin bazel file - name: Configure plugin bazel file
lineinfile: lineinfile: