Re: [PATCH] gitlab: Escape git-describe match pattern on Windows hosts
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.
Re: [PATCH] gitlab: Escape git-describe match pattern on Windows hosts
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 :|
Re: [PATCH] gitlab: Escape git-describe match pattern on Windows hosts
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é >>> 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 > Fixes: 8619b5ddb56 ("ci: build & store windows installer") > Resolves: https://gitlab.com/qemu-project/qemu/-/issues/591 > Signed-off-by: Philippe Mathieu-Daudé > --- > .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.
Re: [PATCH] gitlab: Escape git-describe match pattern on Windows hosts
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é > > 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 > >>> Fixes: 8619b5ddb56 ("ci: build & store windows installer") > >>> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/591 > >>> Signed-off-by: Philippe Mathieu-Daudé > >>> --- > >>> .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 :|
Re: [PATCH] gitlab: Escape git-describe match pattern on Windows hosts
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é > 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 >>> Fixes: 8619b5ddb56 ("ci: build & store windows installer") >>> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/591 >>> Signed-off-by: Philippe Mathieu-Daudé >>> --- >>> .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.
Re: [PATCH] gitlab: Escape git-describe match pattern on Windows hosts
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é >> 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 Fixes: 8619b5ddb56 ("ci: build & store windows installer") Resolves: https://gitlab.com/qemu-project/qemu/-/issues/591 Signed-off-by: Philippe Mathieu-Daudé --- .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. >
Re: [PATCH] gitlab: Escape git-describe match pattern on Windows hosts
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é 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 Fixes: 8619b5ddb56 ("ci: build & store windows installer") Resolves: https://gitlab.com/qemu-project/qemu/-/issues/591 Signed-off-by: Philippe Mathieu-Daudé --- .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 >
Re: [PATCH] gitlab: Escape git-describe match pattern on Windows hosts
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é 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 >> Fixes: 8619b5ddb56 ("ci: build & store windows installer") >> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/591 >> Signed-off-by: Philippe Mathieu-Daudé >> --- >> .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
Re: [PATCH] gitlab: Escape git-describe match pattern on Windows hosts
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é > >> 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 > Fixes: 8619b5ddb56 ("ci: build & store windows installer") > Resolves: https://gitlab.com/qemu-project/qemu/-/issues/591 > Signed-off-by: Philippe Mathieu-Daudé > --- > .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 :|
Re: [PATCH] gitlab: Escape git-describe match pattern on Windows hosts
On Wed, 1 Sept 2021 at 15:59, Daniel P. Berrangé 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 > > Fixes: 8619b5ddb56 ("ci: build & store windows installer") > > Resolves: https://gitlab.com/qemu-project/qemu/-/issues/591 > > Signed-off-by: Philippe Mathieu-Daudé > > --- > > .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
Re: [PATCH] gitlab: Escape git-describe match pattern on Windows hosts
On Wed, Sep 01, 2021 at 04:17:48PM +0100, Peter Maydell wrote: > On Wed, 1 Sept 2021 at 15:59, Daniel P. Berrangé 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 > > > Fixes: 8619b5ddb56 ("ci: build & store windows installer") > > > Resolves: https://gitlab.com/qemu-project/qemu/-/issues/591 > > > Signed-off-by: Philippe Mathieu-Daudé > > > --- > > > .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 :|
Re: [PATCH] gitlab: Escape git-describe match pattern on Windows hosts
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 > Fixes: 8619b5ddb56 ("ci: build & store windows installer") > Resolves: https://gitlab.com/qemu-project/qemu/-/issues/591 > Signed-off-by: Philippe Mathieu-Daudé > --- > .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 :|
[PATCH] gitlab: Escape git-describe match pattern on Windows hosts
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 Fixes: 8619b5ddb56 ("ci: build & store windows installer") Resolves: https://gitlab.com/qemu-project/qemu/-/issues/591 Signed-off-by: Philippe Mathieu-Daudé --- .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