Status update: FEDC and Update Automation - post #4

⌂ home      ⇧ one level up
Thu Mar 10, 2022 · 1041 words · 6 min
Toggle table of contents

Hello!

This is my fourth status update for Season of KDE 2022.

In my last post I told how packaging was almost done and I was looking out to automate updates.

Finalizing the checker data

There are multiple backends that can be used with Flatpak External Data Checker. I initially planned to use the HTML checker, for it seemed logical at that time. But by the time I finalized it, I was already gravitating towards Anitya Release Monitoring. Since Anitya already has version tracking for most packages, it seemed a bit easier than the HTML checker. With Anitya, all I need to know is the project id, which is just a simple search on their website.

The packages that don't exist on Anitya are quite easy to submit. A Fedora account is all it takes. (you can use any Open ID). For example, I added Falkon on Anitya.

Roadblocks

There are certain corner cases where FEDC didn't work as expected. GPGME is the first example. The download server for GPGME is incorrectly setting Content-Encoding as text/*, which FEDC discards, as it could be an error page. The right way out will be to get GPGME developers in the loop and inform them of this issue.

Another package, SQLite, uses the current year in its URL, making it difficult to predict via a script.

Experimenting with GitHub Actions

I made a test repository to demonstrate the working of FEDC via a GitHub action. We were planning to get an access token added to KDE repos on Flathub GitHub organization so that we could utilize our GitHub Action. One of my submissions had erroneous checker data. It went unnoticed, until the Flathub bot made an unexpected pull request on a repo. That made us realise that we don't actually need to add an access token. Flathub runs the updater and makes pull requests automatically.

Happy accident!

So, all I am required to do is to add checker data to as many manifests as possible. The update for 21.12.3 was done manually, but the updates next month should be mostly automated!

Links to all my pull requests are at end of this post.

Next steps

I plan to add checker data to all the remaining applications (~80) in the next 2-to 3 days. I'm also parallelly looking over to use FEDC on KDE Invent to automatically update non KDE dependencies on master manifest repo.

Adding checker data

Updates for 21.12.3

I will see you in next post with more updates!


hire me! · blog · about · resume · github · kde invent · endeavour · email · home

🪻🌼