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"