Create an account


Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Fedora - How to watch for releases of upstream projects

#1
How to watch for releases of upstream projects

<div style="margin: 5px 5% 10px 5%;"><img src="http://www.sickgaming.net/blog/wp-content/uploads/2019/02/how-to-watch-for-releases-of-upstream-projects.png" width="1024" height="571" title="" alt="" /></div><div><p>Do you want to know when a new version of your favorite project is released? Do you want to make your job as packager easier? If so, this article is for you. It introduces you to the world of <a href="http://release-monitoring.org">release-monitoring.org</a>. You’ll see how it can help you catch up with upstream releases.</p>
<p> <span id="more-24718"></span> </p>
<h3>What is release-monitoring.org?</h3>
<p>The release-monitoring.org is a combination of two applications: <a href="https://github.com/release-monitoring/anitya">Anitya</a> and <a href="https://github.com/fedora-infra/the-new-hotness">the-new-hotness</a>. </p>
<p>Anitya is what you can see when visiting release-monitoring.org. You can use it to add and manage your projects. Anitya also checks for new releases periodically.</p>
<p>The-new-hotness is an application that catches the messages emitted by Anitya. It creates a Bugzilla issue if the project is mapped to a Fedora package.</p>
<h3>How to use release-monitoring.org</h3>
<p>Now that you know how it works, let’s focus on how you can use it. </p>
<figure class="wp-block-image"><img src="http://www.sickgaming.net/blog/wp-content/uploads/2019/02/how-to-watch-for-releases-of-upstream-projects.png" alt="" class="wp-image-24938" /><figcaption>Index page of release-monitoring.org</figcaption></figure>
<p>First think you need to do is to log in. Anitya provides a few options you can use to log in, including the Fedora Account System (FAS), Yahoo!, or a custom OpenID server. </p>
<figure class="wp-block-image"><img src="http://www.sickgaming.net/blog/wp-content/uploads/2019/02/how-to-watch-for-releases-of-upstream-projects-1.png" alt="" class="wp-image-24939" /><figcaption>Login page</figcaption></figure>
<p>When you’re logged in, you’ll see new options in the top panel.</p>
<figure class="wp-block-image"><img src="http://www.sickgaming.net/blog/wp-content/uploads/2019/02/how-to-watch-for-releases-of-upstream-projects-2.png" alt="" class="wp-image-24941" /><figcaption>Anitya top panel</figcaption></figure>
<h4>Add a new project</h4>
<p>Now you can add a new project. It’s always good to check whether the project is already added.</p>
<figure class="wp-block-image"><img src="http://www.sickgaming.net/blog/wp-content/uploads/2019/02/how-to-watch-for-releases-of-upstream-projects-3.png" alt="" class="wp-image-24948" /><figcaption>Add project form</figcaption></figure>
<p>Next, fill in the information about the project:</p>
<ul>
<li><strong>Project name</strong> – Use the upstream project name</li>
<li><strong>Homepage</strong> – Homepage of the project</li>
<li><strong>Backend</strong> – Backend is simply the web hosting where the project is hosted. Anitya offers many backends you can chose from. If you can’t find a backend for your project, you can use the custom backend. Every backend has its own additional fields. For example, BitBucket has you specify owner/project.</li>
<li><strong>Version scheme</strong> – This is used to sort received versions. Right now, Anitya only supports RPM version scheme.</li>
<li><strong>Version prefix</strong> – This is the prefix that is stripped from any received version. For example, if the tag on GitHub is <em>version_1.2.3</em>, you would use <em>version_</em> as version prefix. The version will then be presented as <em>1.2.3</em>. The version prefix <em>v</em> is stripped automatically.</li>
<li><strong>Check latest release on submit</strong> – If you check this, Anitya will do an initial check on the project when submitted.</li>
<li><strong>Distro</strong> – The distribution in which this project is used. This could be also added later.</li>
<li><strong>Package</strong> – The project’s packaged name in the distribution. This is required when the <strong>Distro</strong> field is filled in.</li>
</ul>
<p>When you’re happy with the project, submit it. Below you can see how your project may look after you submit.</p>
<figure class="wp-block-image"><img src="http://www.sickgaming.net/blog/wp-content/uploads/2019/02/how-to-watch-for-releases-of-upstream-projects-4.png" alt="" class="wp-image-24951" /><figcaption>Project page</figcaption></figure>
<h4>Add a new distribution mapping</h4>
<p>If you want to map the project to a package on a specific distribution, open up the project page first and then click on <em>Add new distribution mapping</em>.</p>
<figure class="wp-block-image"><img src="http://www.sickgaming.net/blog/wp-content/uploads/2019/02/how-to-watch-for-releases-of-upstream-projects-5.png" alt="" class="wp-image-24954" /><figcaption>Add distribution mapping form</figcaption></figure>
<p>Here you can chose any distribution already available in Anitya, fill in the package name, and submit it. The new mapping will show up on the project page.</p>
<h4>Automatic filing of Bugzilla issues</h4>
<p>Now you created a new project and created a mapping for it. This is nice, but how does this help you as a packager? This is where the-new-hotness comes into play.</p>
<p>Every time the-new-hotness sees a new update or new mapping message emitted by Anitya, it checks whether this project is mapped to a package in Fedora. For this to work, the project must have a mapping to Fedora added in Anitya.</p>
<p>If the package is known, the-new-hotness checks the notification setting for this package. That setting can be changed <a href="https://pagure.io/releng/fedora-scm-requests/">here</a>. The last check the-new-hotness does is whether the version reported by Anitya is newer than the current version of this package in <a href="https://fedoraproject.org/wiki/Releases/Rawhide">Fedora Rawhide</a>.</p>
<p>If all those checks are positive, the new Bugzilla issue is filed and a Koji scratch build started. After the Koji build is finished, the Bugzilla is updated with output.</p>
<h3>Future plans for release-monitoring.org</h3>
<p>The release-monitoring.org system is pretty amazing, isn’t it? But this isn’t all. There are plenty of things planned for both Anitya and the-new-hotness. Here’s a short list of future plans:</p>
<h4>Anitya</h4>
<ul>
<li>Add <a href="https://libraries.io">libraries.io</a> consumer – automatically check for new releases on libraries.io, create projects in Anitya and emit messages about updates</li>
<li>Use Fedora package database to automatically guess the package name in Fedora based on the project name and backend</li>
<li>Add <a href="https://semver.org/">semantic</a> and <a href="https://calver.org/">calendar</a> version scheme</li>
<li>Change current cron job to service: Anitya checks for new versions periodically using a cron job. The plan is to change this to a service that checks projects using queues.</li>
<li>Support for more than one version prefix</li>
</ul>
<h4>the-new-hotness</h4>
<ul>
<li>File Github issues for Flathub projects when a new version comes out</li>
<li>Create pull requests in Pagure instead of filing a Bugzilla issue</li>
<li>Move to <a href="https://openshift.org">OpenShift</a> – this should make deployment much easier than how it is now</li>
<li>Convert to Python 3 (mostly done)</li>
</ul>
<h4>Both</h4>
<ul>
<li>Conversion to fedora-messaging – This is already in progress and should make communication between Anitya and the-new-hotness more reliable.</li>
</ul>
<hr class="wp-block-separator" />
<p>Photo by <a href="https://unsplash.com/photos/L97Hsnt-mAI?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Alexandre Debiève</a> on <a href="https://unsplash.com/?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a>.</p>
</div>
Reply



Forum Jump:


Users browsing this thread:
1 Guest(s)

Forum software by © MyBB Theme © iAndrew 2016