diff --git a/docker/gerrit/base/Dockerfile b/docker/gerrit/base/Dockerfile index 54227b9478..c9fd7e02a9 100644 --- a/docker/gerrit/base/Dockerfile +++ b/docker/gerrit/base/Dockerfile @@ -18,7 +18,7 @@ FROM docker.io/opendevorg/python-builder:3.7 as builder COPY . /tmp/src RUN assemble -FROM docker.io/library/openjdk:8 +FROM docker.io/library/openjdk:8 as gerrit-base RUN echo 'APT::Install-Recommends "0";' > /etc/apt/apt.conf.d/95disable-recommends @@ -55,7 +55,8 @@ RUN mkdir /var/gerrit/lib && \ wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.43/mysql-connector-java-5.1.43.jar -O /var/gerrit/lib/mysql-connector-java.jar # Allow incoming traffic -EXPOSE 29418 8080 +# OpenDev Gerrit listens on 8081 not default of 8080 +EXPOSE 29418 8081 VOLUME /var/gerrit/git /var/gerrit/index /var/gerrit/cache /var/gerrit/db /var/gerrit/etc /var/log/gerrit /var/gerrit/tmp diff --git a/docker/gerrit/bazel/Dockerfile b/docker/gerrit/bazel/Dockerfile index 2c5e7d8776..81c55cf73d 100644 --- a/docker/gerrit/bazel/Dockerfile +++ b/docker/gerrit/bazel/Dockerfile @@ -13,10 +13,15 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM docker.io/opendevorg/gerrit-base +FROM docker.io/opendevorg/gerrit-base as gerrit COPY release.war /var/gerrit/bin/gerrit.war # Install plugins RUN mkdir /var/gerrit/plugins && \ unzip -jo /var/gerrit/bin/gerrit.war WEB-INF/plugins/* -d /var/gerrit/plugins + +FROM gerrit as gerrit-2 + +# Only Gerrit 2.14, 2.15, and 2.16 need this COPY +COPY javamelody-deps_deploy.jar /var/gerrit/lib/javamelody-deps_deploy.jar diff --git a/docker/gerrit/bazel/build-gerrit.sh b/docker/gerrit/bazel/build-gerrit.sh index a4c268eee0..eb7049b173 100755 --- a/docker/gerrit/bazel/build-gerrit.sh +++ b/docker/gerrit/bazel/build-gerrit.sh @@ -1,9 +1,12 @@ #!/bin/bash +# Note this script doesn't seem to be used by the image builds. +# The system-config/roles/bazelisk-build role seems to be used instead. + set +x for attempt in seq 1 3 ; do - bazel build release \ + bazel build plugins/javamelody:javamelody-deps_deploy.jar release \ --define=ABSOLUTE_JAVABASE=/usr/lib/jvm/java-8-openjdk-amd64 \ --javabase=@bazel_tools//tools/jdk:absolute_javabase \ --host_javabase=@bazel_tools//tools/jdk:absolute_javabase \ diff --git a/roles/bazelisk-build/README.rst b/roles/bazelisk-build/README.rst index 7c141329d8..cbc88ca2b7 100644 --- a/roles/bazelisk-build/README.rst +++ b/roles/bazelisk-build/README.rst @@ -5,7 +5,7 @@ Runs bazelisk build with the specified targets. **Role Variables** .. zuul:rolevar:: bazelisk_targets - :default: "" + :default: "release" The bazelisk targets to build. diff --git a/roles/bazelisk-build/tasks/main.yaml b/roles/bazelisk-build/tasks/main.yaml index 42215e3b37..7fd911e868 100644 --- a/roles/bazelisk-build/tasks/main.yaml +++ b/roles/bazelisk-build/tasks/main.yaml @@ -1,8 +1,13 @@ - name: Run bazelisk build shell: | + set -x java -fullversion {{ bazelisk_executable }} version {{ bazelisk_executable }} build --spawn_strategy=standalone --genrule_strategy=standalone {{ bazelisk_targets }} + if [[ -f bazel-bin/plugins/javamelody/javamelody-deps_deploy.jar ]] ; then + # versions 2.14, 2.15, and 2.16 generate this file + cp bazel-bin/plugins/javamelody/javamelody-deps_deploy.jar javamelody-deps_deploy.jar + fi # release.war is a symlink. We want an actual file so that docker copy works right. cp bazel-bin/release.war release.war args: diff --git a/zuul.d/docker-images/gerrit.yaml b/zuul.d/docker-images/gerrit.yaml index 972f85f5a2..c50c257881 100644 --- a/zuul.d/docker-images/gerrit.yaml +++ b/zuul.d/docker-images/gerrit.yaml @@ -89,7 +89,7 @@ - name: gerrit.googlesource.com/gerrit override-checkout: stable-2.14 - name: gerrit.googlesource.com/plugins/commit-message-length-validator - override-checkout: stable-2.14 + override-checkout: v2.14.21 - name: gerrit.googlesource.com/plugins/download-commands override-checkout: stable-2.14 - name: gerrit.googlesource.com/plugins/hooks @@ -107,9 +107,11 @@ - 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 @@ -153,7 +155,7 @@ - name: gerrit.googlesource.com/gerrit override-checkout: stable-2.15 - name: gerrit.googlesource.com/plugins/commit-message-length-validator - override-checkout: stable-2.15 + override-checkout: v2.15.19 - name: gerrit.googlesource.com/plugins/download-commands override-checkout: stable-2.15 - name: gerrit.googlesource.com/plugins/hooks @@ -171,9 +173,11 @@ - 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 @@ -217,9 +221,9 @@ - name: gerrit.googlesource.com/gerrit override-checkout: stable-2.16 - name: gerrit.googlesource.com/plugins/codemirror-editor - override-checkout: stable-2.16 + override-checkout: v2.16.22 - name: gerrit.googlesource.com/plugins/commit-message-length-validator - override-checkout: stable-2.16 + override-checkout: v2.16.22 - name: gerrit.googlesource.com/plugins/download-commands override-checkout: stable-2.16 - name: gerrit.googlesource.com/plugins/hooks @@ -227,7 +231,8 @@ - name: gerrit.googlesource.com/plugins/its-base override-checkout: stable-2.16 - name: gerrit.googlesource.com/plugins/its-storyboard - override-checkout: stable-2.16 + # 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 @@ -237,9 +242,11 @@ - 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 @@ -285,13 +292,13 @@ - name: gerrit.googlesource.com/gerrit override-checkout: stable-3.0 - name: gerrit.googlesource.com/plugins/codemirror-editor - override-checkout: stable-3.0 + override-checkout: v3.0.12 - name: gerrit.googlesource.com/plugins/commit-message-length-validator - override-checkout: stable-3.0 + 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: stable-3.0 + override-checkout: v3.0.12 - name: gerrit.googlesource.com/plugins/gitiles override-checkout: stable-3.0 - name: gerrit.googlesource.com/plugins/hooks @@ -299,7 +306,8 @@ - name: gerrit.googlesource.com/plugins/its-base override-checkout: stable-3.0 - name: gerrit.googlesource.com/plugins/its-storyboard - override-checkout: stable-3.0 + # 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 @@ -316,6 +324,7 @@ docker_images: - context: docker/gerrit/bazel repository: opendevorg/gerrit + target: gerrit path: /home/zuul/src/gerrit.googlesource.com/gerrit tags: - 3.0 @@ -389,6 +398,7 @@ docker_images: - context: docker/gerrit/bazel repository: opendevorg/gerrit + target: gerrit path: /home/zuul/src/gerrit.googlesource.com/gerrit tags: - master