AlmaLinux / AlmaLinux/build-system

Improve UI/UX around errata packages and mappings

Đang mở
#495 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
errata ui
Ngôn ngữ chính
Không có dữ liệu ngôn ngữ
Star
32
Fork
11
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

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
```

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.