Highlights from 2024-03-07 release¶
Updated client packages are shipped in Fedora 38, Fedora 39, Fedora 40, EPEL 7, EPEL 8, and EPEL 9 Bodhi updates.
Enhancements¶
The Copr build system now allows users to SSH into the Copr workers. If your build fails and you require a hands-on builder experience, you can retrigger the build (with an uploaded public SSH key). Once the worker is assigned to your task, the automation grants you root permissions over SSH. This feature is currently available only in the web UI. To experiment, debug - open the page with the failed build and use the “Resubmit and allow SSH” button. Please read more in the SSH access to Copr builders blog post.
The Copr API documentation provided at
/api_3/docs
URI has been updated, and almost all the API endpoints are now documented.The Copr team is working on the AI project Log Detective, which aims to help with build failure analysis. Although the project is still under development, you can contribute to the community by helping gather a build failure training dataset. This Copr release adds a convenience button that redirects you to the Log Detective site, pre-filling the site with the build failure logs to simplify the data gathering process.
The
python-copr
API has been enhanced to support theexist_ok=True
argument when creating Copr projects, with this default:def ProjectAdd.post(..., exist_ok=False):
If used with
True
, the call will report “success” even if the project already exists. This helps with CI job concurrency, where multiple jobs try to ensure that the project exists.
Bugfixes¶
Temporary projects are again correctly removed (the corresponding cron job has been fixed).
The
copr build <copr dir> <srpm>
command has been fixed to support creating custom directories likeproject:custom:foo
. The logic first checks that such a directory exists or at least can be created, and only then proceeds with the (potentially large) SRC.RPM upload. A corresponding race condition was fixed that sometimes caused broken repository preparation and subsequent build failures, requiring a “manual createrepo task”.The
*.repo
download counter has been fixed to properly increment without race conditions.The per-package “chroot denylist” feature has been fixed to allow you to specify the literal
.
symbol in the pattern (some chroot names contain the.
symbol, likeopensuse-leap-15.5-*
).
Features/Changes for administrators¶
The new release allows the administrator to specify which claim from OpenIDC UserInfo should be used as a Copr username using the
OIDC_USERNAME_CLAIM
configuration option. For example, they may choosepreferred_username
if they know that the values from their OIDC provider will be unique.The default configuration of Copr services is now configured to only keep 6 weeks of logs, instead of 13.
The
copr-backend
logic now periodically checks if the resalloc ticket isn’t in aFAILED
state. This previously caused builder hangups in confusing situations.Copr Frontend compatibility with Werkzeug/Flask 3, this includes the fix for
fedora-messaging
consumer (pagure events).The
copr-rpmbuild
got several fixes for the newmock
andmock-core-configs
in the DNF5 era.