Bug 39742

Summary: Добавление состояния репозитория на момент сборки таска (prev task)
Product: Infrastructure Reporter: Danil Shein <dshein>
Component: girarAssignee: placeholder <placeholder>
Status: NEW --- QA Contact: Andrey Cherepanov <cas>
Severity: enhancement    
Priority: P5 CC: glebfm, ldv, rider
Version: unspecified   
Hardware: all   
OS: Linux   
See Also: https://bugzilla.altlinux.org/show_bug.cgi?id=33069

Description Danil Shein 2021-02-26 18:07:22 MSK
В настоящий момент нет возможности получить из git.altlinux.org/tasks значение состояния репозитория.

  Крайне желательно добавить это значение либо в info.json такска либо в файл %task_id%/tasl/prev, а лучше даже в оба места сразу.

  Данное значение наряду с остальными будет использоваться для загрузки в altrepodb.
Comment 1 Gleb F-Malinovskiy 2021-02-26 20:09:08 MSK
(Ответ для Danil Shein на комментарий #0)

Вашу идею не очень легко понять.  Но если вы хотите узнать номер задания, которое было последним закоммиченно в репозиторий, который использовался при сборке данного задания, то этот номер записан в симлинке /tasks/<id>build/repo/prev .  
Наверное, можно добавить этот номер куда-то ещё.
Comment 2 Anton Farygin 2021-02-27 10:26:39 MSK
симплинк же не получится прочитать через http? 
http://git.altlinux.org/tasks/266949/build/repo/

да, нужно номер задания, репозиторий которого является предыдущим для задания (на котором оно собиралось).

Добавь пожалуйста эту информацию в info.json (и, возможно, в файл task/prev)

и ещё, если бы в plan/*.hash.diff вместо in.hash new.hash использовались номера заданий, по аналогии с list.diff - это было бы просто и удобно.
Comment 3 Anton Farygin 2021-02-27 10:28:09 MSK
а ещё вопрос - эту информацию получится добавить во все задания архива ? или нужно расчитывать на её появление только в новых заданиях ?
Comment 4 Dmitry V. Levin 2021-03-04 04:56:32 MSK
(In reply to Anton Farygin from comment #2)
> симплинк же не получится прочитать через http? 
> http://git.altlinux.org/tasks/266949/build/repo/

Кроме того, build/repo/prev создаётся/обновляется только в самом конце итерации, кому-то может быть нужно получить это значение раньше.

> да, нужно номер задания, репозиторий которого является предыдущим для
> задания (на котором оно собиралось).
> 
> Добавь пожалуйста эту информацию в info.json

Это должно быть несложно, если имя для поля придумать.

> (и, возможно, в файл task/prev)

Это должно быть несложно.

> и ещё, если бы в plan/*.hash.diff вместо in.hash new.hash использовались
> номера заданий, по аналогии с list.diff - это было бы просто и удобно.

Если будет task/prev, то это тоже должно быть несложно.

(In reply to Anton Farygin from comment #3)
> а ещё вопрос - эту информацию получится добавить во все задания архива ? или
> нужно расчитывать на её появление только в новых заданиях ?

Архив как бы неизменяемый.  С другой стороны, последовательность заданий, закоммиченных в репозиторий, уже есть в файле /ALT/repo/$repo/release/task.list
Comment 5 Anton Farygin 2021-04-20 11:42:09 MSK
Добавлю, что это нужно и для заданий в статусе FAILED.
Из файловой системы сейчас мы выгребаем номер из ссылки repo/prev, но если задание в статусе FAILED, то узнать версию (номер таска) репозитория, на котором была попытка сборки мы не можем никак.

а было бы неплохо, особенно для тех случаев, когда статус FAILED образовался по причине unmet packages.
Comment 6 Anton Farygin 2021-04-20 11:44:19 MSK
*** Bug 38987 has been marked as a duplicate of this bug. ***