Retirement of Binary Factory

Ben Cooksley bcooksley at kde.org
Sat Feb 3 21:26:33 GMT 2024


Hi all,

For some time now we have been steadily working on getting our ability to
build everything that was previously built on the Binary Factory being
built on Gitlab.

I'm now very happy to advise that it is now possible to perform all of
those builds on Gitlab (and depending on how far you configure it, go even
further than what was being done before). This transition to Gitlab builds
should also ensure we use resources more efficiently, as builds will only
take place when code actually changes (rather than every day - which is
what the Binary Factory did).

As such, with Gitlab now able to replace it, I am scheduling the Binary
Factory for decommissioning in 2 weeks time.
Projects relying on signed binary builds of their project should therefore
look into migrating their builds immediately and without delay.

The legacy Flatpak repository at http://distribute.kde.org/ will also be
retired as part of this. Anyone still using this should migrate to the
per-application Flatpak repositories at https://cdn.kde.org/flatpak/ noting
that if you are adding the repository directly you may need to add the KF6
runtime first.

Redirects will not be provided from the older Binary Factory URLs as there
is no successor URL for many of the Binary Factory endpoints.

Details on how to setup your project with binary builds can be found at
https://invent.kde.org/sysadmin/ci-utilities/-/tree/master/gitlab-templates

For enabling signed builds of your project builds please see
https://invent.kde.org/sysadmin/ci-utilities/-/blob/master/signing/README.md.
Please note that signing is only permitted on mainline repository branches
marked as protected within Gitlab (which is only done for release branches
such as master and release/24.04). If your project is missing from the
configuration please submit a merge request to sysadmin/ci-utilities.

Signing services include publishing Android builds to our F-Droid
repositories (https://cdn.kde.org/android/), Flatpak repositories (
https://cdn.kde.org/flatpak/), as well as the staging publishers that
upload draft submissions to Google Play and the Microsoft Store (for those
applications using those) - in addition to the actual signing of binaries
(supported for Linux Flatpak, Android, Windows and Mac).

With regards to macOS, pending fixes in the upstream tooling we use
(rcodesign) the signing service will also be able to provide notarised
builds.
See https://invent.kde.org/sysadmin/ci-notary-service/-/merge_requests/38
for more information on that.

At this time signing of Appimages to allow use with AppimageUpdate is not
supported, however to my knowledge this is not used anywhere in KDE outside
of Krita.

Similarly, work on changing our GItlab configuration to protect tags will
be needed before we can perform signed builds on tags (see
https://docs.gitlab.com/ee/user/project/protected_tags.html).
Based on the documentation this should not be too difficult however so i'll
add that to the list to look into sooner rather than later (as making this
change also has implications for the CI system in general)

Thanks,
Ben
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-devel/attachments/20240204/8c7033ee/attachment.htm>


More information about the kde-devel mailing list