|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] automation: fix eclair scanning for merge requests
On Tue, 6 Aug 2024, Simone Ballarin wrote:
> On 2024-08-06 03:03, Stefano Stabellini wrote:
> > On Sat, 3 Aug 2024, Nicola Vetrini wrote:
> > > On 2024-08-02 00:06, Stefano Stabellini wrote:
> > > > The ECLAIR jobs part of the Gitlab CI pipeline fail reliably when the
> > > > pipeline is started from a merge request. This is the error:
> > > >
> > > > Unexpected event pull_request
> > > >
> > > > The error is a consequence of action.settings setting event=pull_request
> > > > for merge_request_event. Given that we don't need any special behavior
> > > > from ECLAIR for merge requests, just run the regular scan, change
> > > > action.settings to set event=push for merge_request_event (same as for
> > > > pipeline triggered by git push).
> > > >
> > >
> > > According to my analysis, the error stems from the fact that
> > > automation/scripts/eclair unconditionally calls action_push.sh, which is
> > > not
> > > designed to handle merge requests (that would be action_pull_request.sh).
> > > One
> > > approach, that needs to be tested, could be to execute that second script
> > > based on the value of ${CI_PIPELINE_SOURCE}.
> > >
> > > The main difference the approach taken in this patch is that the analysis
> > > results will be relative to the nearest merge point with the staging tree.
> > > If
> > > that's not something that is desired, then this approach looks good to me.
> >
> > You are right. I tested the below and it works as expected, see:
> > https://gitlab.com/xen-project/people/sstabellini/xen/-/pipelines/1401863307
> >
> >
>
> Hi Stefano,
>
> the patch looks ok. Don't know whether is should be submitted again. Only one
> minor nit:
>
> > ---
> > From dee036081cb367862daba264e1eb84ca2505f678 Mon Sep 17 00:00:00 2001
> > From: Stefano Stabellini <stefano.stabellini@xxxxxxx>
> > Date: Mon, 5 Aug 2024 14:24:23 -0700
> > Subject: [PATCH] automation: fix eclair gitlab jobs for merge requests
> >
> > The "eclair" script calls action_push.sh even for merge request, while
> > instead action_pull_request.sh should be called, resulting in a job
> > failure with this error:
> >
> > Unexpected event pull_request
> >
> > Fix the script to call action_pull_request.sh appropriately.
> >
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxx>
> > ---
> > automation/eclair_analysis/ECLAIR/action_pull_request.sh | 2 +-
> > automation/scripts/eclair | 9 ++++++++-
> > 2 files changed, 9 insertions(+), 2 deletions(-)
> > mode change 100644 => 100755
> > automation/eclair_analysis/ECLAIR/action_pull_request.sh
> >
> > diff --git a/automation/eclair_analysis/ECLAIR/action_pull_request.sh
> > b/automation/eclair_analysis/ECLAIR/action_pull_request.sh
> > old mode 100644
> > new mode 100755
> > index 68f7e6282e..812238e07f
> > --- a/automation/eclair_analysis/ECLAIR/action_pull_request.sh
> > +++ b/automation/eclair_analysis/ECLAIR/action_pull_request.sh
> > @@ -3,7 +3,7 @@
> > set -eu
> >
> > usage() {
> > - echo "Usage: $0 WTOKEN ANALYSIS_OUTPUT_DIR COMMIT_ID" >&2
> > + echo "Usage: $0 WTOKEN ANALYSIS_OUTPUT_DIR" >&2
> > exit 2
> > }
> >
> > diff --git a/automation/scripts/eclair b/automation/scripts/eclair
> > index ebcaf09b54..97d743ab53 100755
> > --- a/automation/scripts/eclair
> > +++ b/automation/scripts/eclair
> > @@ -21,5 +21,12 @@ ex=0
> > # Fail in case of new reports for clean guidelines
> > "${ECLAIR_DIR}/action_check_clean_regressions.sh" "${ECLAIR_OUTPUT_DIR}" ||
> > ex=$?
> >
> > -"${ECLAIR_DIR}/action_push.sh" "${WTOKEN}" "${ECLAIR_OUTPUT_DIR}"
> > +case "${CI_PIPELINE_SOURCE}" in
> > +merge_request_event)
> > + "${ECLAIR_DIR}/action_pull_request.sh" "${WTOKEN}"
> > "${ECLAIR_OUTPUT_DIR}"
> > + ;;
> > +push | pipeline | web | schedule)
> > + "${ECLAIR_DIR}/action_push.sh" "${WTOKEN}" "${ECLAIR_OUTPUT_DIR}"
> > + ;;
> > +esac
>
> here I think it's better to give an error if the event is not handled.
> Something similar to
>
> *)
> echo "Unexpected event ${CI_PIPELINE_SOURCE}" >&2
> ex=1
> ;;
Good suggestion. Here is the updated patch, please ack.
---
>From f49aacb3f281eca073ccdd9fd1326d79b58b7ed2 Mon Sep 17 00:00:00 2001
From: Stefano Stabellini <stefano.stabellini@xxxxxxx>
Date: Mon, 5 Aug 2024 14:24:23 -0700
Subject: [PATCH v3] automation: fix eclair gitlab jobs for merge requests
The "eclair" script calls action_push.sh even for merge request, while
instead action_pull_request.sh should be called, resulting in a job
failure with this error:
Unexpected event pull_request
Fix the script to call action_pull_request.sh appropriately.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxx>
---
Changes in v3:
- handle unexpected ${CI_PIPELINE_SOURCE}
---
.../eclair_analysis/ECLAIR/action_pull_request.sh | 2 +-
automation/scripts/eclair | 13 ++++++++++++-
2 files changed, 13 insertions(+), 2 deletions(-)
mode change 100644 => 100755
automation/eclair_analysis/ECLAIR/action_pull_request.sh
diff --git a/automation/eclair_analysis/ECLAIR/action_pull_request.sh
b/automation/eclair_analysis/ECLAIR/action_pull_request.sh
old mode 100644
new mode 100755
index 68f7e6282e..812238e07f
--- a/automation/eclair_analysis/ECLAIR/action_pull_request.sh
+++ b/automation/eclair_analysis/ECLAIR/action_pull_request.sh
@@ -3,7 +3,7 @@
set -eu
usage() {
- echo "Usage: $0 WTOKEN ANALYSIS_OUTPUT_DIR COMMIT_ID" >&2
+ echo "Usage: $0 WTOKEN ANALYSIS_OUTPUT_DIR" >&2
exit 2
}
diff --git a/automation/scripts/eclair b/automation/scripts/eclair
index ebcaf09b54..3ec760bab8 100755
--- a/automation/scripts/eclair
+++ b/automation/scripts/eclair
@@ -21,5 +21,16 @@ ex=0
# Fail in case of new reports for clean guidelines
"${ECLAIR_DIR}/action_check_clean_regressions.sh" "${ECLAIR_OUTPUT_DIR}" ||
ex=$?
-"${ECLAIR_DIR}/action_push.sh" "${WTOKEN}" "${ECLAIR_OUTPUT_DIR}"
+case "${CI_PIPELINE_SOURCE}" in
+merge_request_event)
+ "${ECLAIR_DIR}/action_pull_request.sh" "${WTOKEN}" "${ECLAIR_OUTPUT_DIR}"
+ ;;
+push | pipeline | web | schedule)
+ "${ECLAIR_DIR}/action_push.sh" "${WTOKEN}" "${ECLAIR_OUTPUT_DIR}"
+ ;;
+*)
+ echo "Unexpected event ${CI_PIPELINE_SOURCE}" >&2
+ ex=1
+ ;;
+esac
[ "${ex}" = 0 ] || exit "${ex}"
--
2.25.1
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |