Yocto CI Номер сборки? PR служба не увеличивает $ {PR} - PullRequest
0 голосов
/ 05 апреля 2019

Я пытаюсь использовать PR-службу Yocto (fido), но каждый раз, когда я запускаю bitbake по моему рецепту, пакет получает ${PR}=r0.

local.conf

INHERIT += "buildhistory"
BUILDHISTORY_COMMIT = "1"
PRSERV_HOST = "localhost:0"

recipe.bb

SRCREV = "${AUTOREV}"
BPV = "1.1.0"
PV = "${BPV}+gitr${SRCPV}"  # I know, I should use a tag instead.
SRC_BRANCH = "master"
SRC_URI = "xxx.git;protocol=ssh;branch=${SRC_BRANCH}"

Это производит пакет с именем xxx_1.1.0+gitrAUTOINC+e7de1c757a-r0.0.

Я ожидал получить

  • Build # 1

    • xxx_1.1.0+gitr0+e7de1c757a-r0.0
  • Build # 2

    • xxx_1.1.0+gitr1+e7de1c757a-r1.0
  • И так далее ...

Я хочу использовать PR в качестве номера сборки. Получив что-то вроде "1.1.0.453 Где " Major . Minor . Revision . Номер сборки "

Я вижу здесь две проблемы:

  1. PR не увеличивается, даже если я изменю рецепт или исходный код проекта.

  2. Название посылки не то, которое я ожидаю. Почему перед git стоит "r0" и почему ревизия "r0.0" вместо "r0"?

С уважением,

1 Ответ

3 голосов
/ 05 апреля 2019

Не ожидается увеличения PR, оно увеличивается на EXTENDPRAUTO (которое используется в PKGR после PR).

И он также используется в SRCPV для получения постоянно увеличивающегося числа перед хешем git (каждый раз, когда хеш изменяется на что-то, что PRSERV не видел для этого рецепта, прежде чем он вернет max + 1).

И вы не должны использовать теги в SRCREV, потому что bitbake всегда будет запускать git ls-remote с удаленным хранилищем git для преобразования имен тегов в git sha (который прерывается, когда вы не можете подключиться к хранилищу git, например, когда отключено от VPN а также значительно замедляет разбор рецептов).

...