]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commit
oeqa/utils/gitarchive: fix tag computation when creating archive
authorAlexis Lothoré <alexis.lothore@bootlin.com>
Fri, 18 Aug 2023 14:17:11 +0000 (16:17 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 21 Aug 2023 10:34:05 +0000 (11:34 +0100)
commit9cbbe9689866158825a7ae774b7965b41ff5c461
treec78b0f083818bbe2c93fa8daa959111da5241282
parentbc9b8ef4bc3e51ba7fca372ab7e532a80975d819
oeqa/utils/gitarchive: fix tag computation when creating archive

Sporadic errors have been observed in autobuilder when trying to store new
tests results:

error: failed to push some refs to 'push.yoctoproject.org:yocto-testresults'
hint: Updates were rejected because the tag already exists in the remote.

The new tag name is generated by gitarchive based on known tags from the
repository (learnt with git tag). In autobuilder case, this repository is a
shallow clone, so git tag only returns most recent tags, which mean we
could miss some older tags which exist in remote but not locally. In this
case, gitarchive will likely create a tag which already exists in remote,
and so will fail to push

Fix this tag duplication by using git ls-remote to learn about existing
tags instead of git tag. To do so, create a helper ("get_tags") which
manages both nominal case (target directory is a git repository with a
proper remote) and fallback case (target directory is not from a clone, no
remote has been configured)

Fixes [YOCTO #15140]

Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/lib/oeqa/utils/gitarchive.py