AlmaLinux / AlmaLinux/build-system

Improve UI/UX around errata packages and mappings

未关闭
#495 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
errata ui
主要语言
没有语言数据
星标
32
派生
11
PR 合并指标
30 天内没有已合并 PR

描述

Currently, we show the errata packages involved in a security advisory

![Image](https://github.com/user-attachments/assets/cd53e95b-3495-423e-ba54-25b6d2d36f60)

In the `RHEL` column, we see the source package's nevra that was provided as part of an errata. Also, you can see all the related packages provided as part of the errata by expanding the items below.

In the `Alma` column we see the source package name inside a disabled dropdown, which indicates that the errata packages are already released into production repositories. And the `Released` status indicates such situation.

When the packages aren't released into production repositories, the `Alma` column has the dropdown enabled and you can choose builds from ALBS that contain packages that match the original errata packages. And this time, the status is set to `Proposal`.

![Image](https://github.com/user-attachments/assets/c4678f60-3782-4ae9-8ecb-f81ec6a8f53a)

This way, you can select the build that contains the packages that fix such security advisory and mark them as `Approved`. Or you can `Skip` them, and won't be taken into account.

![Image](https://github.com/user-attachments/assets/37bd1002-d004-4fae-ba74-6087059b6247)

This workflow works most of the time, but sometimes, our guess about packages already in production or ALBS builds can be wrong, because the package mapping process could be tricky in cases where the package nevr doesn't match 100%. i.e.: when dealing with modified packages or with modules. And this is the problem, the user doesn't know which specific packages from either production or ALBS have been matched against those coming in the errata.

For this reason, we need to add some UI/UX changes that allow the user to know exactly what packages, from either production or ALBS, were matched. These packages can be found in DB, in the `new_errata_to_albs_packages` table.

```
almalinux-bs=# \d new_errata_to_albs_packages
Table "public.new_errata_to_albs_packages"
Column | Type | Collation | Nullable | Default
-------------------+---------------------+-----------+----------+---------------------------------------------------------
id | integer | | not null | nextval('new_errata_to_albs_packages_id_seq'::regclass)
errata_package_id | integer | | not null |
albs_artifact_id | integer | | |
pulp_href | text | | |
status | erratapackagestatus | | not null |
name | text | | not null |
arch | text | | not null |
version | text | | not null |
release | text | | not null |
epoch | integer | | not null |
Indexes:
"new_errata_to_albs_packages_pkey" PRIMARY KEY, btree (id)
"ix_new_errata_to_albs_packages_errata_package_id" btree (errata_package_id)
Foreign-key constraints:
"new_errata_to_albs_package_errata_package_id_fk" FOREIGN KEY (errata_package_id) REFERENCES new_errata_packages(id) ON DELETE CASCADE
"new_errata_to_albs_packages_albs_artifact_id_fkey" FOREIGN KEY (albs_artifact_id) REFERENCES build_artifacts(id) ON DELETE CASCADE
```

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。