aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOliver Smith <osmith@sysmocom.de>2022-11-14 14:35:58 +0100
committerosmith <osmith@sysmocom.de>2022-11-15 11:38:08 +0000
commitf560ce08ab3cc2000ca449d751f5ed424fd5bb72 (patch)
treedb4dc96e0fc85b498632aa533f36d141abf809a0
parent6b7741400def6920bfdfb8c6629b93e02d143e5a (diff)
jenkins-gerrit: fix ambiguous use of review api
Fix an error when the same Change-Id is used on multiple branches or in theory projects. This is actually allowed by gerrit, and we use this e.g. when backporting patches from master. Use the project, change number (e.g. 30147) and patchset number (e.g. 2) instead of the Change-Id. Fix for: + ssh -p 29418 -l jenkins gerrit.osmocom.org gerrit review 4835a62cd88f0d69db76fb3bfd2df02176a91a6d --json fatal: "4835a62cd88f0d69db76fb3bfd2df02176a91a6d" matches multiple patch sets Related: https://gerrit-review.googlesource.com/Documentation/cmd-review.html Change-Id: I2d627f8f3b400fa57a50a228d47df2194f60fd08
-rw-r--r--jobs/gerrit-lint.yml9
-rw-r--r--jobs/gerrit-pipeline-result.yml9
-rw-r--r--jobs/gerrit-verifications.yml6
-rwxr-xr-xlint/lint_diff.sh3
-rwxr-xr-xscripts/jenkins-gerrit/pipeline_summary_send.sh3
5 files changed, 28 insertions, 2 deletions
diff --git a/jobs/gerrit-lint.yml b/jobs/gerrit-lint.yml
index 847096b..dfdab5b 100644
--- a/jobs/gerrit-lint.yml
+++ b/jobs/gerrit-lint.yml
@@ -31,6 +31,15 @@
osmo-ci.git branch
default: 'master'
- string:
+ name: GERRIT_PROJECT
+ description: set by gerrit verification pipeline job
+ - string:
+ name: GERRIT_CHANGE_NUMBER
+ description: set by gerrit verification pipeline job
+ - string:
+ name: GERRIT_PATCHSET_NUMBER
+ description: set by gerrit verification pipeline job
+ - string:
name: GERRIT_BRANCH
description: set by gerrit verification pipeline job
- string:
diff --git a/jobs/gerrit-pipeline-result.yml b/jobs/gerrit-pipeline-result.yml
index c3c03b6..94fc88c 100644
--- a/jobs/gerrit-pipeline-result.yml
+++ b/jobs/gerrit-pipeline-result.yml
@@ -29,6 +29,15 @@
osmo-ci.git branch
default: 'master'
- string:
+ name: GERRIT_PROJECT
+ description: set by gerrit verification pipeline job
+ - string:
+ name: GERRIT_CHANGE_NUMBER
+ description: set by gerrit verification pipeline job
+ - string:
+ name: GERRIT_PATCHSET_NUMBER
+ description: set by gerrit verification pipeline job
+ - string:
name: GERRIT_BRANCH
description: set by gerrit verification pipeline job
- string:
diff --git a/jobs/gerrit-verifications.yml b/jobs/gerrit-verifications.yml
index 8649635..2bbfe4e 100644
--- a/jobs/gerrit-verifications.yml
+++ b/jobs/gerrit-verifications.yml
@@ -445,6 +445,9 @@
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {{
env.PIPELINE_LINT_PASSED = "0"
build job: 'gerrit-lint', parameters: [
+ string(name: "GERRIT_PROJECT", value: "${{env.GERRIT_PROJECT}}"),
+ string(name: "GERRIT_CHANGE_NUMBER", value: "${{env.GERRIT_CHANGE_NUMBER}}"),
+ string(name: "GERRIT_PATCHSET_NUMBER", value: "${{env.GERRIT_PATCHSET_NUMBER}}"),
string(name: "GERRIT_BRANCH", value: "${{env.GERRIT_BRANCH}}"),
string(name: "GERRIT_HOST", value: "${{env.GERRIT_HOST}}"),
string(name: "GERRIT_PATCHSET_REVISION", value: "${{env.GERRIT_PATCHSET_REVISION}}"),
@@ -510,6 +513,9 @@
// comment + vote to gerrit
script {{
build job: 'gerrit-pipeline-result', parameters: [
+ string(name: "GERRIT_PROJECT", value: "${{env.GERRIT_PROJECT}}"),
+ string(name: "GERRIT_CHANGE_NUMBER", value: "${{env.GERRIT_CHANGE_NUMBER}}"),
+ string(name: "GERRIT_PATCHSET_NUMBER", value: "${{env.GERRIT_PATCHSET_NUMBER}}"),
string(name: "GERRIT_BRANCH", value: "${{env.GERRIT_BRANCH}}"),
string(name: "GERRIT_HOST", value: "${{env.GERRIT_HOST}}"),
string(name: "GERRIT_PATCHSET_REVISION", value: "${{env.GERRIT_PATCHSET_REVISION}}"),
diff --git a/lint/lint_diff.sh b/lint/lint_diff.sh
index 7ae186f..662bdd3 100755
--- a/lint/lint_diff.sh
+++ b/lint/lint_diff.sh
@@ -68,7 +68,8 @@ if [ "$ERROR" = 1 ]; then
"$GERRIT_HOST" \
gerrit \
review \
- "$GERRIT_PATCHSET_REVISION" \
+ --project "$GERRIT_PROJECT" \
+ "$GERRIT_CHANGE_NUMBER,$GERRIT_PATCHSET_NUMBER" \
--json \
< gerrit_report.json
fi
diff --git a/scripts/jenkins-gerrit/pipeline_summary_send.sh b/scripts/jenkins-gerrit/pipeline_summary_send.sh
index c49f428..29ea860 100755
--- a/scripts/jenkins-gerrit/pipeline_summary_send.sh
+++ b/scripts/jenkins-gerrit/pipeline_summary_send.sh
@@ -26,6 +26,7 @@ ssh \
"$GERRIT_HOST" \
gerrit \
review \
- "$GERRIT_PATCHSET_REVISION" \
+ --project "$GERRIT_PROJECT" \
+ "$GERRIT_CHANGE_NUMBER,$GERRIT_PATCHSET_NUMBER" \
--json \
< gerrit_report.json