* [PATCH] gitlab: Escape git-describe match pattern on Windows hosts
@ 2021-09-01 14:52 Philippe Mathieu-Daudé
2021-09-01 14:57 ` Daniel P. Berrangé
0 siblings, 1 reply; 13+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-09-01 14:52 UTC (permalink / raw)
To: qemu-devel
Cc: Thomas Huth, Eric Blake, Philippe Mathieu-Daudé,
Wainer dos Santos Moschetta, Philippe Mathieu-Daudé,
Willian Rampazzo, Gerd Hoffmann, Alex Bennée,
Cédric Le Goater
Properly escape git-describe 'match' pattern to avoid (MinGW):
$ if grep -q "EXESUF=.exe" config-host.mak; then make installer;
version="$(git describe --match v[0-9]*)";
mv -v qemu-setup*.exe qemu-setup-${version}.exe; fi
fatal: No names found, cannot describe anything.
ERROR: Job failed: exit code 1
Reported-by: Cédric Le Goater <clg@kaod.org>
Fixes: 8619b5ddb56 ("ci: build & store windows installer")
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/591
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
.gitlab-ci.d/crossbuild-template.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.gitlab-ci.d/crossbuild-template.yml b/.gitlab-ci.d/crossbuild-template.yml
index 10d22dcf6c1..62d33e6661d 100644
--- a/.gitlab-ci.d/crossbuild-template.yml
+++ b/.gitlab-ci.d/crossbuild-template.yml
@@ -14,7 +14,7 @@
- make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS
- if grep -q "EXESUF=.exe" config-host.mak;
then make installer;
- version="$(git describe --match v[0-9]*)";
+ version="$(git describe --match 'v[0-9]*')";
mv -v qemu-setup*.exe qemu-setup-${version}.exe;
fi
--
2.31.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH] gitlab: Escape git-describe match pattern on Windows hosts
2021-09-01 14:52 [PATCH] gitlab: Escape git-describe match pattern on Windows hosts Philippe Mathieu-Daudé
@ 2021-09-01 14:57 ` Daniel P. Berrangé
2021-09-01 15:17 ` Peter Maydell
0 siblings, 1 reply; 13+ messages in thread
From: Daniel P. Berrangé @ 2021-09-01 14:57 UTC (permalink / raw)
To: Philippe Mathieu-Daudé
Cc: Thomas Huth, Alex Bennée, qemu-devel,
Wainer dos Santos Moschetta, Philippe Mathieu-Daudé,
Willian Rampazzo, Gerd Hoffmann, Eric Blake,
Cédric Le Goater
On Wed, Sep 01, 2021 at 04:52:29PM +0200, Philippe Mathieu-Daudé wrote:
> Properly escape git-describe 'match' pattern to avoid (MinGW):
>
> $ if grep -q "EXESUF=.exe" config-host.mak; then make installer;
> version="$(git describe --match v[0-9]*)";
> mv -v qemu-setup*.exe qemu-setup-${version}.exe; fi
> fatal: No names found, cannot describe anything.
> ERROR: Job failed: exit code 1
>
> Reported-by: Cédric Le Goater <clg@kaod.org>
> Fixes: 8619b5ddb56 ("ci: build & store windows installer")
> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/591
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> .gitlab-ci.d/crossbuild-template.yml | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/.gitlab-ci.d/crossbuild-template.yml b/.gitlab-ci.d/crossbuild-template.yml
> index 10d22dcf6c1..62d33e6661d 100644
> --- a/.gitlab-ci.d/crossbuild-template.yml
> +++ b/.gitlab-ci.d/crossbuild-template.yml
> @@ -14,7 +14,7 @@
> - make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS
> - if grep -q "EXESUF=.exe" config-host.mak;
> then make installer;
> - version="$(git describe --match v[0-9]*)";
> + version="$(git describe --match 'v[0-9]*')";
Do you have a pointer to a pipeline showing this fix works ?
It is a bit strange to me. AFAICT, the only difference would
be if the unquoted v[0-9]* matched a filename in the
current directory, but that doesn't seem like it is the
case here.
Are you sure this isn't just caused by the setting
container-cross.yml: GIT_DEPTH: 1
ie we don't have the history depth needed to find any of the
historic git tags.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] gitlab: Escape git-describe match pattern on Windows hosts
2021-09-01 14:57 ` Daniel P. Berrangé
@ 2021-09-01 15:17 ` Peter Maydell
2021-09-01 15:21 ` Daniel P. Berrangé
0 siblings, 1 reply; 13+ messages in thread
From: Peter Maydell @ 2021-09-01 15:17 UTC (permalink / raw)
To: Daniel P. Berrangé
Cc: Thomas Huth, Philippe Mathieu-Daudé,
QEMU Developers, Wainer dos Santos Moschetta,
Philippe Mathieu-Daudé,
Willian Rampazzo, Gerd Hoffmann, Alex Bennée, Eric Blake,
Cédric Le Goater
On Wed, 1 Sept 2021 at 15:59, Daniel P. Berrangé <berrange@redhat.com> wrote:
>
> On Wed, Sep 01, 2021 at 04:52:29PM +0200, Philippe Mathieu-Daudé wrote:
> > Properly escape git-describe 'match' pattern to avoid (MinGW):
> >
> > $ if grep -q "EXESUF=.exe" config-host.mak; then make installer;
> > version="$(git describe --match v[0-9]*)";
> > mv -v qemu-setup*.exe qemu-setup-${version}.exe; fi
> > fatal: No names found, cannot describe anything.
> > ERROR: Job failed: exit code 1
> >
> > Reported-by: Cédric Le Goater <clg@kaod.org>
> > Fixes: 8619b5ddb56 ("ci: build & store windows installer")
> > Resolves: https://gitlab.com/qemu-project/qemu/-/issues/591
> > Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> > ---
> > .gitlab-ci.d/crossbuild-template.yml | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/.gitlab-ci.d/crossbuild-template.yml b/.gitlab-ci.d/crossbuild-template.yml
> > index 10d22dcf6c1..62d33e6661d 100644
> > --- a/.gitlab-ci.d/crossbuild-template.yml
> > +++ b/.gitlab-ci.d/crossbuild-template.yml
> > @@ -14,7 +14,7 @@
> > - make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS
> > - if grep -q "EXESUF=.exe" config-host.mak;
> > then make installer;
> > - version="$(git describe --match v[0-9]*)";
> > + version="$(git describe --match 'v[0-9]*')";
>
> Do you have a pointer to a pipeline showing this fix works ?
>
> It is a bit strange to me. AFAICT, the only difference would
> be if the unquoted v[0-9]* matched a filename in the
> current directory, but that doesn't seem like it is the
> case here.
We should quote the glob pattern anyway, to avoid possible
really confusing behaviour in the future if such a file ever
does turn up...
-- PMM
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] gitlab: Escape git-describe match pattern on Windows hosts
2021-09-01 15:17 ` Peter Maydell
@ 2021-09-01 15:21 ` Daniel P. Berrangé
2021-09-01 15:35 ` Philippe Mathieu-Daudé
0 siblings, 1 reply; 13+ messages in thread
From: Daniel P. Berrangé @ 2021-09-01 15:21 UTC (permalink / raw)
To: Peter Maydell
Cc: Thomas Huth, Philippe Mathieu-Daudé,
QEMU Developers, Wainer dos Santos Moschetta,
Philippe Mathieu-Daudé,
Willian Rampazzo, Gerd Hoffmann, Alex Bennée, Eric Blake,
Cédric Le Goater
On Wed, Sep 01, 2021 at 04:17:48PM +0100, Peter Maydell wrote:
> On Wed, 1 Sept 2021 at 15:59, Daniel P. Berrangé <berrange@redhat.com> wrote:
> >
> > On Wed, Sep 01, 2021 at 04:52:29PM +0200, Philippe Mathieu-Daudé wrote:
> > > Properly escape git-describe 'match' pattern to avoid (MinGW):
> > >
> > > $ if grep -q "EXESUF=.exe" config-host.mak; then make installer;
> > > version="$(git describe --match v[0-9]*)";
> > > mv -v qemu-setup*.exe qemu-setup-${version}.exe; fi
> > > fatal: No names found, cannot describe anything.
> > > ERROR: Job failed: exit code 1
> > >
> > > Reported-by: Cédric Le Goater <clg@kaod.org>
> > > Fixes: 8619b5ddb56 ("ci: build & store windows installer")
> > > Resolves: https://gitlab.com/qemu-project/qemu/-/issues/591
> > > Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> > > ---
> > > .gitlab-ci.d/crossbuild-template.yml | 2 +-
> > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/.gitlab-ci.d/crossbuild-template.yml b/.gitlab-ci.d/crossbuild-template.yml
> > > index 10d22dcf6c1..62d33e6661d 100644
> > > --- a/.gitlab-ci.d/crossbuild-template.yml
> > > +++ b/.gitlab-ci.d/crossbuild-template.yml
> > > @@ -14,7 +14,7 @@
> > > - make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS
> > > - if grep -q "EXESUF=.exe" config-host.mak;
> > > then make installer;
> > > - version="$(git describe --match v[0-9]*)";
> > > + version="$(git describe --match 'v[0-9]*')";
> >
> > Do you have a pointer to a pipeline showing this fix works ?
> >
> > It is a bit strange to me. AFAICT, the only difference would
> > be if the unquoted v[0-9]* matched a filename in the
> > current directory, but that doesn't seem like it is the
> > case here.
>
> We should quote the glob pattern anyway, to avoid possible
> really confusing behaviour in the future if such a file ever
> does turn up...
Sure, I'm happy to see the thing quoted regardless, just want to
make sure the commit behaviour matches the commit message.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] gitlab: Escape git-describe match pattern on Windows hosts
2021-09-01 15:21 ` Daniel P. Berrangé
@ 2021-09-01 15:35 ` Philippe Mathieu-Daudé
2021-09-01 15:53 ` Daniel P. Berrangé
0 siblings, 1 reply; 13+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-09-01 15:35 UTC (permalink / raw)
To: Daniel P. Berrangé, Peter Maydell, Cédric Le Goater
Cc: Thomas Huth, Eric Blake, QEMU Developers,
Wainer dos Santos Moschetta, Philippe Mathieu-Daudé,
Willian Rampazzo, Gerd Hoffmann, Alex Bennée
On 9/1/21 5:21 PM, Daniel P. Berrangé wrote:
> On Wed, Sep 01, 2021 at 04:17:48PM +0100, Peter Maydell wrote:
>> On Wed, 1 Sept 2021 at 15:59, Daniel P. Berrangé <berrange@redhat.com> wrote:
>>>
>>> On Wed, Sep 01, 2021 at 04:52:29PM +0200, Philippe Mathieu-Daudé wrote:
>>>> Properly escape git-describe 'match' pattern to avoid (MinGW):
>>>>
>>>> $ if grep -q "EXESUF=.exe" config-host.mak; then make installer;
>>>> version="$(git describe --match v[0-9]*)";
>>>> mv -v qemu-setup*.exe qemu-setup-${version}.exe; fi
>>>> fatal: No names found, cannot describe anything.
>>>> ERROR: Job failed: exit code 1
>>>>
>>>> Reported-by: Cédric Le Goater <clg@kaod.org>
>>>> Fixes: 8619b5ddb56 ("ci: build & store windows installer")
>>>> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/591
>>>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>>>> ---
>>>> .gitlab-ci.d/crossbuild-template.yml | 2 +-
>>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>>
>>>> diff --git a/.gitlab-ci.d/crossbuild-template.yml b/.gitlab-ci.d/crossbuild-template.yml
>>>> index 10d22dcf6c1..62d33e6661d 100644
>>>> --- a/.gitlab-ci.d/crossbuild-template.yml
>>>> +++ b/.gitlab-ci.d/crossbuild-template.yml
>>>> @@ -14,7 +14,7 @@
>>>> - make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS
>>>> - if grep -q "EXESUF=.exe" config-host.mak;
>>>> then make installer;
>>>> - version="$(git describe --match v[0-9]*)";
>>>> + version="$(git describe --match 'v[0-9]*')";
>>>
>>> Do you have a pointer to a pipeline showing this fix works ?
It worked on my fork but I have some versioned tag:
https://gitlab.com/philmd_rh/qemu/-/jobs/1553450025
Cédric, do you mind testing on your fork?
>>>
>>> It is a bit strange to me. AFAICT, the only difference would
>>> be if the unquoted v[0-9]* matched a filename in the
>>> current directory, but that doesn't seem like it is the
>>> case here.
>>
>> We should quote the glob pattern anyway, to avoid possible
>> really confusing behaviour in the future if such a file ever
>> does turn up...
>
> Sure, I'm happy to see the thing quoted regardless, just want to
> make sure the commit behaviour matches the commit message.
>
>
> Regards,
> Daniel
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] gitlab: Escape git-describe match pattern on Windows hosts
2021-09-01 15:35 ` Philippe Mathieu-Daudé
@ 2021-09-01 15:53 ` Daniel P. Berrangé
2021-09-01 16:24 ` Philippe Mathieu-Daudé
0 siblings, 1 reply; 13+ messages in thread
From: Daniel P. Berrangé @ 2021-09-01 15:53 UTC (permalink / raw)
To: Philippe Mathieu-Daudé
Cc: Peter Maydell, Thomas Huth, Eric Blake, QEMU Developers,
Wainer dos Santos Moschetta, Philippe Mathieu-Daudé,
Willian Rampazzo, Cédric Le Goater, Alex Bennée,
Gerd Hoffmann
On Wed, Sep 01, 2021 at 05:35:42PM +0200, Philippe Mathieu-Daudé wrote:
> On 9/1/21 5:21 PM, Daniel P. Berrangé wrote:
> > On Wed, Sep 01, 2021 at 04:17:48PM +0100, Peter Maydell wrote:
> >> On Wed, 1 Sept 2021 at 15:59, Daniel P. Berrangé <berrange@redhat.com> wrote:
> >>>
> >>> On Wed, Sep 01, 2021 at 04:52:29PM +0200, Philippe Mathieu-Daudé wrote:
> >>>> Properly escape git-describe 'match' pattern to avoid (MinGW):
> >>>>
> >>>> $ if grep -q "EXESUF=.exe" config-host.mak; then make installer;
> >>>> version="$(git describe --match v[0-9]*)";
> >>>> mv -v qemu-setup*.exe qemu-setup-${version}.exe; fi
> >>>> fatal: No names found, cannot describe anything.
> >>>> ERROR: Job failed: exit code 1
> >>>>
> >>>> Reported-by: Cédric Le Goater <clg@kaod.org>
> >>>> Fixes: 8619b5ddb56 ("ci: build & store windows installer")
> >>>> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/591
> >>>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> >>>> ---
> >>>> .gitlab-ci.d/crossbuild-template.yml | 2 +-
> >>>> 1 file changed, 1 insertion(+), 1 deletion(-)
> >>>>
> >>>> diff --git a/.gitlab-ci.d/crossbuild-template.yml b/.gitlab-ci.d/crossbuild-template.yml
> >>>> index 10d22dcf6c1..62d33e6661d 100644
> >>>> --- a/.gitlab-ci.d/crossbuild-template.yml
> >>>> +++ b/.gitlab-ci.d/crossbuild-template.yml
> >>>> @@ -14,7 +14,7 @@
> >>>> - make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS
> >>>> - if grep -q "EXESUF=.exe" config-host.mak;
> >>>> then make installer;
> >>>> - version="$(git describe --match v[0-9]*)";
> >>>> + version="$(git describe --match 'v[0-9]*')";
> >>>
> >>> Do you have a pointer to a pipeline showing this fix works ?
>
> It worked on my fork but I have some versioned tag:
> https://gitlab.com/philmd_rh/qemu/-/jobs/1553450025
I can reproduce the error msg if I do a shallow clone with no history
$ cd qemu
$ git describe --match v[0-9]*
v6.1.0-171-g5e8c1a0c90
$ cd ..
$ git clone --depth 1 https://gitlab.com/qemu-project/qemu/ qemu.new
$ cd qemu.new/
$ git describe --match v[0-9]*
fatal: No names found, cannot describe anything.
but the odd thing is that I think we should have been hitting the
problem frequently if it was related to git depth. This job passes
fine in current CI pipelines and my own fork.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] gitlab: Escape git-describe match pattern on Windows hosts
2021-09-01 15:53 ` Daniel P. Berrangé
@ 2021-09-01 16:24 ` Philippe Mathieu-Daudé
2021-09-01 16:27 ` Cédric Le Goater
0 siblings, 1 reply; 13+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-09-01 16:24 UTC (permalink / raw)
To: Daniel P. Berrangé
Cc: Peter Maydell, Thomas Huth, Eric Blake, QEMU Developers,
Wainer dos Santos Moschetta, Philippe Mathieu-Daudé,
Willian Rampazzo, Cédric Le Goater, Alex Bennée,
Gerd Hoffmann
On 9/1/21 5:53 PM, Daniel P. Berrangé wrote:
> On Wed, Sep 01, 2021 at 05:35:42PM +0200, Philippe Mathieu-Daudé wrote:
>> On 9/1/21 5:21 PM, Daniel P. Berrangé wrote:
>>> On Wed, Sep 01, 2021 at 04:17:48PM +0100, Peter Maydell wrote:
>>>> On Wed, 1 Sept 2021 at 15:59, Daniel P. Berrangé <berrange@redhat.com> wrote:
>>>>>
>>>>> On Wed, Sep 01, 2021 at 04:52:29PM +0200, Philippe Mathieu-Daudé wrote:
>>>>>> Properly escape git-describe 'match' pattern to avoid (MinGW):
>>>>>>
>>>>>> $ if grep -q "EXESUF=.exe" config-host.mak; then make installer;
>>>>>> version="$(git describe --match v[0-9]*)";
>>>>>> mv -v qemu-setup*.exe qemu-setup-${version}.exe; fi
>>>>>> fatal: No names found, cannot describe anything.
>>>>>> ERROR: Job failed: exit code 1
>>>>>>
>>>>>> Reported-by: Cédric Le Goater <clg@kaod.org>
>>>>>> Fixes: 8619b5ddb56 ("ci: build & store windows installer")
>>>>>> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/591
>>>>>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>>>>>> ---
>>>>>> .gitlab-ci.d/crossbuild-template.yml | 2 +-
>>>>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>>>>
>>>>>> diff --git a/.gitlab-ci.d/crossbuild-template.yml b/.gitlab-ci.d/crossbuild-template.yml
>>>>>> index 10d22dcf6c1..62d33e6661d 100644
>>>>>> --- a/.gitlab-ci.d/crossbuild-template.yml
>>>>>> +++ b/.gitlab-ci.d/crossbuild-template.yml
>>>>>> @@ -14,7 +14,7 @@
>>>>>> - make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS
>>>>>> - if grep -q "EXESUF=.exe" config-host.mak;
>>>>>> then make installer;
>>>>>> - version="$(git describe --match v[0-9]*)";
>>>>>> + version="$(git describe --match 'v[0-9]*')";
>>>>>
>>>>> Do you have a pointer to a pipeline showing this fix works ?
>>
>> It worked on my fork but I have some versioned tag:
>> https://gitlab.com/philmd_rh/qemu/-/jobs/1553450025
>
> I can reproduce the error msg if I do a shallow clone with no history
>
> $ cd qemu
> $ git describe --match v[0-9]*
> v6.1.0-171-g5e8c1a0c90
>
> $ cd ..
> $ git clone --depth 1 https://gitlab.com/qemu-project/qemu/ qemu.new
> $ cd qemu.new/
> $ git describe --match v[0-9]*
> fatal: No names found, cannot describe anything.
>
> but the odd thing is that I think we should have been hitting the
> problem frequently if it was related to git depth. This job passes
> fine in current CI pipelines and my own fork.
FYI it didn't work out on Cédric fork:
https://gitlab.com/legoater/qemu/-/jobs/1553492082
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] gitlab: Escape git-describe match pattern on Windows hosts
2021-09-01 16:24 ` Philippe Mathieu-Daudé
@ 2021-09-01 16:27 ` Cédric Le Goater
2021-09-01 16:40 ` Philippe Mathieu-Daudé
2021-09-01 16:47 ` Daniel P. Berrangé
0 siblings, 2 replies; 13+ messages in thread
From: Cédric Le Goater @ 2021-09-01 16:27 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, Daniel P. Berrangé
Cc: Peter Maydell, Thomas Huth, Eric Blake, QEMU Developers,
Wainer dos Santos Moschetta, Philippe Mathieu-Daudé,
Willian Rampazzo, Gerd Hoffmann, Alex Bennée
On 9/1/21 6:24 PM, Philippe Mathieu-Daudé wrote:
> On 9/1/21 5:53 PM, Daniel P. Berrangé wrote:
>> On Wed, Sep 01, 2021 at 05:35:42PM +0200, Philippe Mathieu-Daudé wrote:
>>> On 9/1/21 5:21 PM, Daniel P. Berrangé wrote:
>>>> On Wed, Sep 01, 2021 at 04:17:48PM +0100, Peter Maydell wrote:
>>>>> On Wed, 1 Sept 2021 at 15:59, Daniel P. Berrangé <berrange@redhat.com> wrote:
>>>>>>
>>>>>> On Wed, Sep 01, 2021 at 04:52:29PM +0200, Philippe Mathieu-Daudé wrote:
>>>>>>> Properly escape git-describe 'match' pattern to avoid (MinGW):
>>>>>>>
>>>>>>> $ if grep -q "EXESUF=.exe" config-host.mak; then make installer;
>>>>>>> version="$(git describe --match v[0-9]*)";
>>>>>>> mv -v qemu-setup*.exe qemu-setup-${version}.exe; fi
>>>>>>> fatal: No names found, cannot describe anything.
>>>>>>> ERROR: Job failed: exit code 1
>>>>>>>
>>>>>>> Reported-by: Cédric Le Goater <clg@kaod.org>
>>>>>>> Fixes: 8619b5ddb56 ("ci: build & store windows installer")
>>>>>>> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/591
>>>>>>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>>>>>>> ---
>>>>>>> .gitlab-ci.d/crossbuild-template.yml | 2 +-
>>>>>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>>>>>
>>>>>>> diff --git a/.gitlab-ci.d/crossbuild-template.yml b/.gitlab-ci.d/crossbuild-template.yml
>>>>>>> index 10d22dcf6c1..62d33e6661d 100644
>>>>>>> --- a/.gitlab-ci.d/crossbuild-template.yml
>>>>>>> +++ b/.gitlab-ci.d/crossbuild-template.yml
>>>>>>> @@ -14,7 +14,7 @@
>>>>>>> - make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS
>>>>>>> - if grep -q "EXESUF=.exe" config-host.mak;
>>>>>>> then make installer;
>>>>>>> - version="$(git describe --match v[0-9]*)";
>>>>>>> + version="$(git describe --match 'v[0-9]*')";
>>>>>>
>>>>>> Do you have a pointer to a pipeline showing this fix works ?
>>>
>>> It worked on my fork but I have some versioned tag:
>>> https://gitlab.com/philmd_rh/qemu/-/jobs/1553450025
>>
>> I can reproduce the error msg if I do a shallow clone with no history
>>
>> $ cd qemu
>> $ git describe --match v[0-9]*
>> v6.1.0-171-g5e8c1a0c90
>>
>> $ cd ..
>> $ git clone --depth 1 https://gitlab.com/qemu-project/qemu/ qemu.new
>> $ cd qemu.new/
>> $ git describe --match v[0-9]*
>> fatal: No names found, cannot describe anything.
>>
>> but the odd thing is that I think we should have been hitting the
>> problem frequently if it was related to git depth. This job passes
>> fine in current CI pipelines and my own fork.
>
> FYI it didn't work out on Cédric fork:
> https://gitlab.com/legoater/qemu/-/jobs/1553492082
>
Indeed.
Thanks Phil,
C.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] gitlab: Escape git-describe match pattern on Windows hosts
2021-09-01 16:27 ` Cédric Le Goater
@ 2021-09-01 16:40 ` Philippe Mathieu-Daudé
2021-09-01 16:47 ` Daniel P. Berrangé
1 sibling, 0 replies; 13+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-09-01 16:40 UTC (permalink / raw)
To: Cédric Le Goater, Daniel P. Berrangé
Cc: Peter Maydell, Thomas Huth, Eric Blake, QEMU Developers,
Wainer dos Santos Moschetta, Philippe Mathieu-Daudé,
Willian Rampazzo, Gerd Hoffmann, Alex Bennée
On 9/1/21 6:27 PM, Cédric Le Goater wrote:
> On 9/1/21 6:24 PM, Philippe Mathieu-Daudé wrote:
>> On 9/1/21 5:53 PM, Daniel P. Berrangé wrote:
>>> On Wed, Sep 01, 2021 at 05:35:42PM +0200, Philippe Mathieu-Daudé wrote:
>>>> On 9/1/21 5:21 PM, Daniel P. Berrangé wrote:
>>>>> On Wed, Sep 01, 2021 at 04:17:48PM +0100, Peter Maydell wrote:
>>>>>> On Wed, 1 Sept 2021 at 15:59, Daniel P. Berrangé <berrange@redhat.com> wrote:
>>>>>>>
>>>>>>> On Wed, Sep 01, 2021 at 04:52:29PM +0200, Philippe Mathieu-Daudé wrote:
>>>>>>>> Properly escape git-describe 'match' pattern to avoid (MinGW):
>>>>>>>>
>>>>>>>> $ if grep -q "EXESUF=.exe" config-host.mak; then make installer;
>>>>>>>> version="$(git describe --match v[0-9]*)";
>>>>>>>> mv -v qemu-setup*.exe qemu-setup-${version}.exe; fi
>>>>>>>> fatal: No names found, cannot describe anything.
>>>>>>>> ERROR: Job failed: exit code 1
>>>>>>>>
>>>>>>>> Reported-by: Cédric Le Goater <clg@kaod.org>
>>>>>>>> Fixes: 8619b5ddb56 ("ci: build & store windows installer")
>>>>>>>> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/591
>>>>>>>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>>>>>>>> ---
>>>>>>>> .gitlab-ci.d/crossbuild-template.yml | 2 +-
>>>>>>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>>>>>>
>>>>>>>> diff --git a/.gitlab-ci.d/crossbuild-template.yml b/.gitlab-ci.d/crossbuild-template.yml
>>>>>>>> index 10d22dcf6c1..62d33e6661d 100644
>>>>>>>> --- a/.gitlab-ci.d/crossbuild-template.yml
>>>>>>>> +++ b/.gitlab-ci.d/crossbuild-template.yml
>>>>>>>> @@ -14,7 +14,7 @@
>>>>>>>> - make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS
>>>>>>>> - if grep -q "EXESUF=.exe" config-host.mak;
>>>>>>>> then make installer;
>>>>>>>> - version="$(git describe --match v[0-9]*)";
>>>>>>>> + version="$(git describe --match 'v[0-9]*')";
>>>>>>>
>>>>>>> Do you have a pointer to a pipeline showing this fix works ?
>>>>
>>>> It worked on my fork but I have some versioned tag:
>>>> https://gitlab.com/philmd_rh/qemu/-/jobs/1553450025
>>>
>>> I can reproduce the error msg if I do a shallow clone with no history
>>>
>>> $ cd qemu
>>> $ git describe --match v[0-9]*
>>> v6.1.0-171-g5e8c1a0c90
>>>
>>> $ cd ..
>>> $ git clone --depth 1 https://gitlab.com/qemu-project/qemu/ qemu.new
>>> $ cd qemu.new/
>>> $ git describe --match v[0-9]*
>>> fatal: No names found, cannot describe anything.
>>>
>>> but the odd thing is that I think we should have been hitting the
>>> problem frequently if it was related to git depth. This job passes
>>> fine in current CI pipelines and my own fork.
What about not using the best tag if no versioned tag available?
(no default string in case user wants to download and archive artifacts)
-- >8 --
@@ -14,7 +14,7 @@
- make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS
- if grep -q "EXESUF=.exe" config-host.mak;
then make installer;
- version="$(git describe --match v[0-9]*)";
+ version="$(git describe --tags --match 'v[0-9]*' 2>/dev/null ||
git describe --abbrev)";
mv -v qemu-setup*.exe qemu-setup-${version}.exe;
fi
---
>> FYI it didn't work out on Cédric fork:
>> https://gitlab.com/legoater/qemu/-/jobs/1553492082
>>
>
> Indeed.
>
> Thanks Phil,
>
> C.
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] gitlab: Escape git-describe match pattern on Windows hosts
2021-09-01 16:27 ` Cédric Le Goater
2021-09-01 16:40 ` Philippe Mathieu-Daudé
@ 2021-09-01 16:47 ` Daniel P. Berrangé
2021-09-01 16:51 ` Philippe Mathieu-Daudé
2021-10-05 8:40 ` Cédric Le Goater
1 sibling, 2 replies; 13+ messages in thread
From: Daniel P. Berrangé @ 2021-09-01 16:47 UTC (permalink / raw)
To: Cédric Le Goater
Cc: Peter Maydell, Thomas Huth, Philippe Mathieu-Daudé,
QEMU Developers, Wainer dos Santos Moschetta,
Philippe Mathieu-Daudé,
Willian Rampazzo, Gerd Hoffmann, Alex Bennée, Eric Blake
On Wed, Sep 01, 2021 at 06:27:37PM +0200, Cédric Le Goater wrote:
> On 9/1/21 6:24 PM, Philippe Mathieu-Daudé wrote:
> > On 9/1/21 5:53 PM, Daniel P. Berrangé wrote:
> >> On Wed, Sep 01, 2021 at 05:35:42PM +0200, Philippe Mathieu-Daudé wrote:
> >>> On 9/1/21 5:21 PM, Daniel P. Berrangé wrote:
> >>>> On Wed, Sep 01, 2021 at 04:17:48PM +0100, Peter Maydell wrote:
> >>>>> On Wed, 1 Sept 2021 at 15:59, Daniel P. Berrangé <berrange@redhat.com> wrote:
> >>>>>>
> >>>>>> On Wed, Sep 01, 2021 at 04:52:29PM +0200, Philippe Mathieu-Daudé wrote:
> >>>>>>> Properly escape git-describe 'match' pattern to avoid (MinGW):
> >>>>>>>
> >>>>>>> $ if grep -q "EXESUF=.exe" config-host.mak; then make installer;
> >>>>>>> version="$(git describe --match v[0-9]*)";
> >>>>>>> mv -v qemu-setup*.exe qemu-setup-${version}.exe; fi
> >>>>>>> fatal: No names found, cannot describe anything.
> >>>>>>> ERROR: Job failed: exit code 1
> >>>>>>>
> >>>>>>> Reported-by: Cédric Le Goater <clg@kaod.org>
> >>>>>>> Fixes: 8619b5ddb56 ("ci: build & store windows installer")
> >>>>>>> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/591
> >>>>>>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> >>>>>>> ---
> >>>>>>> .gitlab-ci.d/crossbuild-template.yml | 2 +-
> >>>>>>> 1 file changed, 1 insertion(+), 1 deletion(-)
> >>>>>>>
> >>>>>>> diff --git a/.gitlab-ci.d/crossbuild-template.yml b/.gitlab-ci.d/crossbuild-template.yml
> >>>>>>> index 10d22dcf6c1..62d33e6661d 100644
> >>>>>>> --- a/.gitlab-ci.d/crossbuild-template.yml
> >>>>>>> +++ b/.gitlab-ci.d/crossbuild-template.yml
> >>>>>>> @@ -14,7 +14,7 @@
> >>>>>>> - make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS
> >>>>>>> - if grep -q "EXESUF=.exe" config-host.mak;
> >>>>>>> then make installer;
> >>>>>>> - version="$(git describe --match v[0-9]*)";
> >>>>>>> + version="$(git describe --match 'v[0-9]*')";
> >>>>>>
> >>>>>> Do you have a pointer to a pipeline showing this fix works ?
> >>>
> >>> It worked on my fork but I have some versioned tag:
> >>> https://gitlab.com/philmd_rh/qemu/-/jobs/1553450025
> >>
> >> I can reproduce the error msg if I do a shallow clone with no history
> >>
> >> $ cd qemu
> >> $ git describe --match v[0-9]*
> >> v6.1.0-171-g5e8c1a0c90
> >>
> >> $ cd ..
> >> $ git clone --depth 1 https://gitlab.com/qemu-project/qemu/ qemu.new
> >> $ cd qemu.new/
> >> $ git describe --match v[0-9]*
> >> fatal: No names found, cannot describe anything.
> >>
> >> but the odd thing is that I think we should have been hitting the
> >> problem frequently if it was related to git depth. This job passes
> >> fine in current CI pipelines and my own fork.
> >
> > FYI it didn't work out on Cédric fork:
> > https://gitlab.com/legoater/qemu/-/jobs/1553492082
> >
>
> Indeed.
I'm curious if you go to
https://gitlab.com/legoater/qemu/-/settings/ci_cd
and expand "General pipelines", what value is set for the
"Git shallow clone"
setting. In my fork it is 0 which means unlimited depth, but in
gitlab docs I see reference to repos getting this set to 50
since a particular gitlab release.
Likewise same question for Phil in ?
https://gitlab.com/philmd_rh/qemu/-/settings/ci_cd
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] gitlab: Escape git-describe match pattern on Windows hosts
2021-09-01 16:47 ` Daniel P. Berrangé
@ 2021-09-01 16:51 ` Philippe Mathieu-Daudé
2021-10-05 8:40 ` Cédric Le Goater
1 sibling, 0 replies; 13+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-09-01 16:51 UTC (permalink / raw)
To: Daniel P. Berrangé, Cédric Le Goater
Cc: Peter Maydell, Thomas Huth, Eric Blake, QEMU Developers,
Wainer dos Santos Moschetta, Philippe Mathieu-Daudé,
Willian Rampazzo, Gerd Hoffmann, Alex Bennée
On 9/1/21 6:47 PM, Daniel P. Berrangé wrote:
> On Wed, Sep 01, 2021 at 06:27:37PM +0200, Cédric Le Goater wrote:
>> On 9/1/21 6:24 PM, Philippe Mathieu-Daudé wrote:
>>> On 9/1/21 5:53 PM, Daniel P. Berrangé wrote:
>>>> On Wed, Sep 01, 2021 at 05:35:42PM +0200, Philippe Mathieu-Daudé wrote:
>>>>> On 9/1/21 5:21 PM, Daniel P. Berrangé wrote:
>>>>>> On Wed, Sep 01, 2021 at 04:17:48PM +0100, Peter Maydell wrote:
>>>>>>> On Wed, 1 Sept 2021 at 15:59, Daniel P. Berrangé <berrange@redhat.com> wrote:
>>>>>>>>
>>>>>>>> On Wed, Sep 01, 2021 at 04:52:29PM +0200, Philippe Mathieu-Daudé wrote:
>>>>>>>>> Properly escape git-describe 'match' pattern to avoid (MinGW):
>>>>>>>>>
>>>>>>>>> $ if grep -q "EXESUF=.exe" config-host.mak; then make installer;
>>>>>>>>> version="$(git describe --match v[0-9]*)";
>>>>>>>>> mv -v qemu-setup*.exe qemu-setup-${version}.exe; fi
>>>>>>>>> fatal: No names found, cannot describe anything.
>>>>>>>>> ERROR: Job failed: exit code 1
>>>>>>>>>
>>>>>>>>> Reported-by: Cédric Le Goater <clg@kaod.org>
>>>>>>>>> Fixes: 8619b5ddb56 ("ci: build & store windows installer")
>>>>>>>>> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/591
>>>>>>>>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>>>>>>>>> ---
>>>>>>>>> .gitlab-ci.d/crossbuild-template.yml | 2 +-
>>>>>>>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>>>>>>>
>>>>>>>>> diff --git a/.gitlab-ci.d/crossbuild-template.yml b/.gitlab-ci.d/crossbuild-template.yml
>>>>>>>>> index 10d22dcf6c1..62d33e6661d 100644
>>>>>>>>> --- a/.gitlab-ci.d/crossbuild-template.yml
>>>>>>>>> +++ b/.gitlab-ci.d/crossbuild-template.yml
>>>>>>>>> @@ -14,7 +14,7 @@
>>>>>>>>> - make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS
>>>>>>>>> - if grep -q "EXESUF=.exe" config-host.mak;
>>>>>>>>> then make installer;
>>>>>>>>> - version="$(git describe --match v[0-9]*)";
>>>>>>>>> + version="$(git describe --match 'v[0-9]*')";
>>>>>>>>
>>>>>>>> Do you have a pointer to a pipeline showing this fix works ?
>>>>>
>>>>> It worked on my fork but I have some versioned tag:
>>>>> https://gitlab.com/philmd_rh/qemu/-/jobs/1553450025
>>>>
>>>> I can reproduce the error msg if I do a shallow clone with no history
>>>>
>>>> $ cd qemu
>>>> $ git describe --match v[0-9]*
>>>> v6.1.0-171-g5e8c1a0c90
>>>>
>>>> $ cd ..
>>>> $ git clone --depth 1 https://gitlab.com/qemu-project/qemu/ qemu.new
>>>> $ cd qemu.new/
>>>> $ git describe --match v[0-9]*
>>>> fatal: No names found, cannot describe anything.
>>>>
>>>> but the odd thing is that I think we should have been hitting the
>>>> problem frequently if it was related to git depth. This job passes
>>>> fine in current CI pipelines and my own fork.
>>>
>>> FYI it didn't work out on Cédric fork:
>>> https://gitlab.com/legoater/qemu/-/jobs/1553492082
>>>
>>
>> Indeed.
>
> I'm curious if you go to
>
> https://gitlab.com/legoater/qemu/-/settings/ci_cd
>
> and expand "General pipelines", what value is set for the
>
> "Git shallow clone"
>
> setting. In my fork it is 0 which means unlimited depth, but in
> gitlab docs I see reference to repos getting this set to 50
> since a particular gitlab release.
>
> Likewise same question for Phil in ?
>
> https://gitlab.com/philmd_rh/qemu/-/settings/ci_cd
0 too.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] gitlab: Escape git-describe match pattern on Windows hosts
2021-09-01 16:47 ` Daniel P. Berrangé
2021-09-01 16:51 ` Philippe Mathieu-Daudé
@ 2021-10-05 8:40 ` Cédric Le Goater
2021-10-05 8:43 ` Daniel P. Berrangé
1 sibling, 1 reply; 13+ messages in thread
From: Cédric Le Goater @ 2021-10-05 8:40 UTC (permalink / raw)
To: Daniel P. Berrangé
Cc: Peter Maydell, Thomas Huth, Philippe Mathieu-Daudé,
QEMU Developers, Wainer dos Santos Moschetta,
Philippe Mathieu-Daudé,
Willian Rampazzo, Gerd Hoffmann, Alex Bennée, Eric Blake
> I'm curious if you go to
>
> https://gitlab.com/legoater/qemu/-/settings/ci_cd
>
> and expand "General pipelines", what value is set for the
>
> "Git shallow clone"
>
> setting. In my fork it is 0 which means unlimited depth, but in
> gitlab docs I see reference to repos getting this set to 50
> since a particular gitlab release.
Sorry for the late reply.
Setting the value to 0 fixed the windows build on gitlab.
Thanks,
C.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] gitlab: Escape git-describe match pattern on Windows hosts
2021-10-05 8:40 ` Cédric Le Goater
@ 2021-10-05 8:43 ` Daniel P. Berrangé
0 siblings, 0 replies; 13+ messages in thread
From: Daniel P. Berrangé @ 2021-10-05 8:43 UTC (permalink / raw)
To: Cédric Le Goater
Cc: Peter Maydell, Thomas Huth, Philippe Mathieu-Daudé,
QEMU Developers, Wainer dos Santos Moschetta,
Philippe Mathieu-Daudé,
Willian Rampazzo, Gerd Hoffmann, Alex Bennée, Eric Blake
On Tue, Oct 05, 2021 at 10:40:00AM +0200, Cédric Le Goater wrote:
> > I'm curious if you go to
> >
> > https://gitlab.com/legoater/qemu/-/settings/ci_cd
> >
> > and expand "General pipelines", what value is set for the
> >
> > "Git shallow clone"
> >
> > setting. In my fork it is 0 which means unlimited depth, but in
> > gitlab docs I see reference to repos getting this set to 50
> > since a particular gitlab release.
>
> Sorry for the late reply.
>
> Setting the value to 0 fixed the windows build on gitlab.
Ok, so we've got two options
- Change the code so it has sane fallback if the tags are all missing
- Set GIT_DEPTH in the affected jobs to a value that is larger than
the maximum number of commits we expect in the course of a single
dev cycle, plus 20% grace on top, so that we're guaranteed enough
history to describe one tag.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2021-10-05 8:47 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-01 14:52 [PATCH] gitlab: Escape git-describe match pattern on Windows hosts Philippe Mathieu-Daudé
2021-09-01 14:57 ` Daniel P. Berrangé
2021-09-01 15:17 ` Peter Maydell
2021-09-01 15:21 ` Daniel P. Berrangé
2021-09-01 15:35 ` Philippe Mathieu-Daudé
2021-09-01 15:53 ` Daniel P. Berrangé
2021-09-01 16:24 ` Philippe Mathieu-Daudé
2021-09-01 16:27 ` Cédric Le Goater
2021-09-01 16:40 ` Philippe Mathieu-Daudé
2021-09-01 16:47 ` Daniel P. Berrangé
2021-09-01 16:51 ` Philippe Mathieu-Daudé
2021-10-05 8:40 ` Cédric Le Goater
2021-10-05 8:43 ` Daniel P. Berrangé
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.