I maintain a Copr for Emacs pretest builds. I wanted to have a mechanism to get notified when a new pretest release is available. That way I can keep the pretest RPMs on Copr up-to-date. In this post, I will be talking about the Anitya project, which is hosted at release-monitoring.org and how to get an email notification, when a new release of an upstream project is available.
Anitya is a release monitoring project. It provides a user-friendly interface to add, edit, or browse projects. A cron job can be configured to regularly scan for new releases of projects. When Anitya discovers a new release for a project, it publishes a RabbitMQ messages via fedora messaging.
— Anitya docs.
It can also store mapping of the project with the package name in different GNU/Linux distributions. The Fedora project maintains a deployment of the Anitya project at https://release-monitoring.org.
Anitya supports different backends to fetch versions of the projects. These can be source code hosting services like GitHub, GitLab, language specific registries like PyPI and more. Take a look at the documentation section Creating New Project to know about all the supported backends.
For my use case of Emacs pretests, I created a new project with the
name emacs-pretest
. Pretest tars are hosted at the
https://alpha.gnu.org/gnu/emacs/pretest/ archive location. I used
this as Version check URL. Instead of using the ‘GNU Project’
backend, I had to use the custom backend along with a regex to filter
out the version. This is because the ‘GNU Project’ backend tries to
find the package on the main GNU ftp
server,
which is not the correct place in our case.
emacs-pretest project on release-monitoring.org
When there is a new release, release-monitoring.org publishes a message to Fedora’s message broker. This whole messaging infrastructure is called fedmsg (the Fedora FEDerated MeSsaGe bus) or Fedora Messaging.
There is another service called Fedora Notifications.
Centrally managed preferences for Fedora Infrastructure notifications to your inbox, irc client, and mobile device.
— Fedora Notifications.
We can use this service to get an email notification when the project has a new release. The flow would be like this:
There is also a service called Datagrepper, which provides an interface to query historical data from fedmsg.
Login with your FAS (Fedora Account System) account to Fedora Notifications. It will take you to the Profile tab.
Go to the email tab, make sure the delivery mechanism is active. On the left side of the screen, you will see a lot of existing filters. Don’t worry about them for now, those are the pre-defined filters.
To create a new filter, put a name in the text box on the left side of the page and click Create a new filter. In this case I’m calling it ‘Emacs Pretest release’.
This will create a new filter, and open the editing interface where we
will add filter rules. First we will add the rule Anything regarding
a particular “upstream project”, which is under Anitya Rules
section on the right. This will ask for the name of a project from
Anitya, enter a project name (i.e. emacs-pretest
here), and click on
Add this rule. The user interface will try to show some example
messages matching this filter, but this does not work most of the time
or takes a lot of time to load.
To receive notifications only when there is a new release, we will add another rule to this filter. From the Anitya Rules section, select When new upstream releases are detected, and click on Add this rule. These two filters and ANDed and you will receive an email notification when there is a new release available for the upstream project. The filter is saved automatically, so you can logout now.
And voilà ! This is how the notification email looks.
Comments are not enabled on this site. The old comments might still be displayed. You can reply on one of the platforms listed in ‘Posted on’ list, or email me.