diff mbox series

[autobuilder,1/2] scripts/send-qa-email : clone older history to allow comparing against older releases

Message ID 20230113150646.44144-2-alexis.lothore@bootlin.com
State New
Headers show
Series generate regression reports against proper releases | expand

Commit Message

Alexis Lothoré Jan. 13, 2023, 3:06 p.m. UTC
In order to generate relevant regression reports, we need to use resulttool
against taggued releases, which can be way older than the last five previous
commits

Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
---
 scripts/send-qa-email | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Richard Purdie Jan. 13, 2023, 5:46 p.m. UTC | #1
On Fri, 2023-01-13 at 16:06 +0100, Alexis Lothoré via
lists.yoctoproject.org wrote:
> In order to generate relevant regression reports, we need to use resulttool
> against taggued releases, which can be way older than the last five previous
> commits
> 
> Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
> ---
>  scripts/send-qa-email | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/scripts/send-qa-email b/scripts/send-qa-email
> index d2f63dc..c2c5a4b 100755
> --- a/scripts/send-qa-email
> +++ b/scripts/send-qa-email
> @@ -78,10 +78,10 @@ if 'poky' in repos and os.path.exists(resulttool) and args.results_dir:
>          elif basebranch:
>              cloneopts = ["--branch", basebranch]
>          try:
> -            subprocess.check_call(["git", "clone", "git@push.yoctoproject.org:yocto-testresults", tempdir, "--depth", "5"] + cloneopts)
> +            subprocess.check_call(["git", "clone", "git@push.yoctoproject.org:yocto-testresults", tempdir] + cloneopts)
>          except subprocess.CalledProcessError:
>              print("No comparision branch found, falling back to master")
> -            subprocess.check_call(["git", "clone", "git@push.yoctoproject.org:yocto-testresults", tempdir, "--depth", "5"])
> +            subprocess.check_call(["git", "clone", "git@push.yoctoproject.org:yocto-testresults", tempdir])
>  
>          # If the base comparision branch isn't present regression comparision won't work
>          # at least until we can tell the tool to ignore internal branch information

That is a somewhat "easy" option but it might not be practical.

The yocto-testresults repo is large. I tried a clone here and it is
taking rather a while, it starts ok but then starts taking a long time
with a lot of data transfer (over a GB so far) :(.

Can we check the tags with something like ls-remote and then only fetch
what we need to compare against?

Cheers,

Richard
Richard Purdie Jan. 13, 2023, 11:15 p.m. UTC | #2
On Fri, 2023-01-13 at 17:46 +0000, Richard Purdie via
lists.yoctoproject.org wrote:
> On Fri, 2023-01-13 at 16:06 +0100, Alexis Lothoré via
> lists.yoctoproject.org wrote:
> > In order to generate relevant regression reports, we need to use resulttool
> > against taggued releases, which can be way older than the last five previous
> > commits
> > 
> > Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
> > ---
> >  scripts/send-qa-email | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/scripts/send-qa-email b/scripts/send-qa-email
> > index d2f63dc..c2c5a4b 100755
> > --- a/scripts/send-qa-email
> > +++ b/scripts/send-qa-email
> > @@ -78,10 +78,10 @@ if 'poky' in repos and os.path.exists(resulttool) and args.results_dir:
> >          elif basebranch:
> >              cloneopts = ["--branch", basebranch]
> >          try:
> > -            subprocess.check_call(["git", "clone", "git@push.yoctoproject.org:yocto-testresults", tempdir, "--depth", "5"] + cloneopts)
> > +            subprocess.check_call(["git", "clone", "git@push.yoctoproject.org:yocto-testresults", tempdir] + cloneopts)
> >          except subprocess.CalledProcessError:
> >              print("No comparision branch found, falling back to master")
> > -            subprocess.check_call(["git", "clone", "git@push.yoctoproject.org:yocto-testresults", tempdir, "--depth", "5"])
> > +            subprocess.check_call(["git", "clone", "git@push.yoctoproject.org:yocto-testresults", tempdir])
> >  
> >          # If the base comparision branch isn't present regression comparision won't work
> >          # at least until we can tell the tool to ignore internal branch information
> 
> That is a somewhat "easy" option but it might not be practical.
> 
> The yocto-testresults repo is large. I tried a clone here and it is
> taking rather a while, it starts ok but then starts taking a long time
> with a lot of data transfer (over a GB so far) :(.
> 
> Can we check the tags with something like ls-remote and then only fetch
> what we need to compare against?

For reference the clone took 49 minutes and 12.45GiB so we will need to
find a different approach.

Cheers,

Richard
diff mbox series

Patch

diff --git a/scripts/send-qa-email b/scripts/send-qa-email
index d2f63dc..c2c5a4b 100755
--- a/scripts/send-qa-email
+++ b/scripts/send-qa-email
@@ -78,10 +78,10 @@  if 'poky' in repos and os.path.exists(resulttool) and args.results_dir:
         elif basebranch:
             cloneopts = ["--branch", basebranch]
         try:
-            subprocess.check_call(["git", "clone", "git@push.yoctoproject.org:yocto-testresults", tempdir, "--depth", "5"] + cloneopts)
+            subprocess.check_call(["git", "clone", "git@push.yoctoproject.org:yocto-testresults", tempdir] + cloneopts)
         except subprocess.CalledProcessError:
             print("No comparision branch found, falling back to master")
-            subprocess.check_call(["git", "clone", "git@push.yoctoproject.org:yocto-testresults", tempdir, "--depth", "5"])
+            subprocess.check_call(["git", "clone", "git@push.yoctoproject.org:yocto-testresults", tempdir])
 
         # If the base comparision branch isn't present regression comparision won't work
         # at least until we can tell the tool to ignore internal branch information