Update to 3.11
- Bump test docker gerrit image to 3.11.0
- Bump bazlets
- Fix default permissions for docker tests
- Fix first login redirects
Impact: events plugin build with Gerrit v3.11
Risk-Scope: events plugin
Change-Id: Id75c73734695b93fe72d12d332815b75bf79580d
diff --git a/WORKSPACE b/WORKSPACE
index 89fc44a..16dce6a 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -3,7 +3,7 @@
load("//:bazlets.bzl", "load_bazlets")
load_bazlets(
- commit = "cc68cb5ffdab500e36674cb7558911b180ea61c3",
+ commit = "e3a8273dbfced5c41f6f08f49d063c4366be0278",
)
load(
diff --git a/test/docker/docker-compose.yaml b/test/docker/docker-compose.yaml
index de23263..8ad9f50 100755
--- a/test/docker/docker-compose.yaml
+++ b/test/docker/docker-compose.yaml
@@ -1,4 +1,3 @@
-version: '3'
services:
gerrit-01:
diff --git a/test/docker/gerrit/Dockerfile b/test/docker/gerrit/Dockerfile
index f066c70..6b2e320 100755
--- a/test/docker/gerrit/Dockerfile
+++ b/test/docker/gerrit/Dockerfile
@@ -1,4 +1,4 @@
-FROM gerritcodereview/gerrit:3.10.0-ubuntu22
+FROM gerritcodereview/gerrit:3.11.0-ubuntu24
ENV GERRIT_SITE /var/gerrit
COPY artifacts/plugins/ $GERRIT_SITE/plugins/
@@ -7,6 +7,7 @@
COPY artifacts/bin/ /tmp/
RUN { [ -e /tmp/gerrit.war ] && cp /tmp/gerrit.war "$GERRIT_SITE/bin/gerrit.war" ; } || true
COPY start.sh /
+RUN touch "$GERRIT_SITE"/.firstTimeRedirect
USER gerrit
ENTRYPOINT /start.sh
diff --git a/test/docker/run_tests/Dockerfile b/test/docker/run_tests/Dockerfile
index 286fea2..b6abf39 100755
--- a/test/docker/run_tests/Dockerfile
+++ b/test/docker/run_tests/Dockerfile
@@ -1,12 +1,12 @@
FROM alpine:3.19
-ARG UID=1000
-ARG GID=1000
+ARG UID=1001
+ARG GID=1001
ENV USER gerrit_admin
ENV USER_HOME /home/$USER
ENV WORKSPACE $USER_HOME/workspace
-RUN apk --update add --no-cache openssh bash git util-linux openssl shadow curl
+RUN apk --update add --no-cache openssh bash git util-linux openssl shadow curl jq
RUN echo "StrictHostKeyChecking no" >> /etc/ssh/ssh_config
RUN groupadd -f -g $GID users2
diff --git a/test/docker/run_tests/add_gerrit_access_permissions.sh b/test/docker/run_tests/add_gerrit_access_permissions.sh
new file mode 100755
index 0000000..a618d69
--- /dev/null
+++ b/test/docker/run_tests/add_gerrit_access_permissions.sh
@@ -0,0 +1,32 @@
+#!/usr/bin/env bash
+
+GROUP_ID_ADMINISTRATORS=$(curl --no-progress-meter --netrc -X GET \
+ "http://$GERRIT_HOST:8080/a/groups/Administrators" | \
+ sed -e '1!b' -e "/^)]}'$/d" | jq -r '.id')
+
+if [ -z "$GROUP_ID_ADMINISTRATORS" ]; then
+ echo "Error: Failed to get Administrators group ID from Gerrit"
+ exit 1
+fi
+
+curl --no-progress-meter --netrc -X POST \
+ "http://$GERRIT_HOST:8080/a/projects/All-Projects/access" \
+ --header 'Content-Type: application/json' --output /dev/null \
+ --data @<(cat <<EOF
+{
+ "add": {
+ "refs/heads/*": {
+ "permissions": {
+ "push": {
+ "rules": {
+ "$GROUP_ID_ADMINISTRATORS": {
+ "action": "ALLOW"
+ }
+ }
+ }
+ }
+ }
+ }
+}
+EOF
+)
\ No newline at end of file
diff --git a/test/docker/run_tests/start.sh b/test/docker/run_tests/start.sh
index e7bde14..4896758 100755
--- a/test/docker/run_tests/start.sh
+++ b/test/docker/run_tests/start.sh
@@ -26,8 +26,6 @@
"Gerrit Code Review@$GERRIT_HOST" suexec --as "admin@example.com" -- gerrit create-account \
--ssh-key - --email "gerrit_admin@localdomain" --group "Administrators" "gerrit_admin"
-setup_test_project
-
HTTP_PASSWD=$(uuidgen)
ssh -p 29418 "$GERRIT_HOST" gerrit set-account "$USER" --http-password "$HTTP_PASSWD"
cat <<EOT >> ~/.netrc
@@ -36,4 +34,7 @@
password $HTTP_PASSWD
EOT
+./docker/run_tests/add_gerrit_access_permissions.sh
+setup_test_project
+
./test_events_plugin.sh --server "$GERRIT_HOST" --project "$TEST_PROJECT"