Highlights from 2022-03-21 release

Updated client packages are shipped in Fedora 34, Fedora 35, Fedora 36, EPEL 7, EPEL 8, and EPEL 9 Bodhi updates.

Large queue improvements

Lately, there have been multiple concurrent mass rebuilds pushing Copr to its limits. When reaching 70k builds in the queue, several problems start to appear. We will focus on each of them in the following release, with a goal to handle at least twice as large of a queue.

In this release, we optimized some queries for listing pending builds and implemented more detailed statistics about the task queue allowing anyone to see the owners, projects, or chroots with the most builds in the queue. See PR#2108 for more information.

We also improved the performance of batch-related routes by caching and indexing the data (PR#2091).

We also made the priority queue to be much fairer in PR#2080.

More copr-cli options for editing chroots

There is now additional_modules field when listing chroots in copr-cli:

copr-cli get-chroot owner/project/chroot

Also, thanks to the contribution (PR#2072) from @pbrezina, there are additional options for copr-cli edit-chroot - namely --modules, --rpmbuild-with, and --rpmbuild-without.

Lastly, there is a new option for resetting chroot fields to their respective defaults, e.g.:

copr-cli edit-chroot owner/project/chroot --reset additional_packages

Signing packages with SHA256

Due to dropped support for SHA1 keys in RHEL9, we are moving towards signing packages in Copr with SHA256 keys (PR#2111).

Since this release, all new Enterprise Linux 8+ packages are going to be signed with SHA256 keys, and all existing Enterprise Linux 9 packages are going to be re-signed with SHA256. The mass re-sign of EL9 packages is going to be done on Monday and Tuesday 2022-03-21 – 2022-03-22.

Gradually, we will make this change for older distributions and start signing all chroots with SHA256, except for Enterprise Linux 7 and older where SHA256 isn’t work. This change should happen in the following weeks (we we have this fully tested on EL8).

Remote refs in committish

@churchyard implemented support for building from remote refs when submitting builds from DistGit. This is especially useful for example when submitting builds from DistGit pull requests:

copr-cli build-distgit owner/copr --name foo --commit refs/pull/50/head
# or
copr-cli add-package-distgit owner/copr --name foo --commit refs/pull/50/head

Bugfixes

  • #2076 - Show a user-friendly message when there is a database problem

  • #2113 - Fix infinitely running and failing forking action

  • #1263 - This issue is not resolved yet but we added a new hitcounter script for counting downloaded packages from Amazon CDN and made some architecture changes.