Welcome traveler and sit by our fire. You probably want to know what is happening in the realm of release-monitoring.org. So lets take your place and hear my story.
Leaving the Bugzilla land and arriving to realm of Pagure
As you could notice in my previous story, I plan to establish connection between the island of the-new-hotness and the realm of Pagure. More specifically with the large island in Pagure known as dist-git or Fedora package sources.
This means we stop sending messengers to realm of Bugzilla and instead redirect them to the unknown land of Pagure. To make this easier for them we used the new magical chariot known as Packit. This chariot already knows the distant island of dist-git.
Incoming messengers from Anitya
To make this more clear for any traveler that is passing by I prepared a few manuscripts that are describing our situation in more detail. So first we will look at the outside messages that are coming to the island of the-new-hotness.
As you can see on the manuscripts we are currently accepting two type of messages from land of Anitya: message about the new project in Fedora universe (anitya.project.map.new) and news about project that is already existing in Fedora universe (anitya.project.version.update).
Message doesn’t always contain a project that is known in Fedora universe, so we must check this before doing anything else. Our magic sorting device (Fedora messaging consumer) is going through every message delivered and rejecting the messages that are not interesting for us (doesn’t contain mapping to fedora package). In case of news about project archived in Anitya we send the new messenger with the following message (hotness.update.drop):
“Dear receiver of this message,
We received news about the project and it’s our sad duty to inform you that this project is not part of Fedora universe.
The crew of the-new-hotness
If this check is positive, we are happy to continue with our work. In case of new project we need to use Abstract Positive Intuition (API) to let know Anitya we have a new work for it (only if the project doesn’t have any version yet).
Our relations with Bugzilla
Now is the time to look at the inside work on the island of the-new-hotness. Here is the manuscript describing the current relations with Bugzilla:
As you can see the inner working of the-new-hotness is rather complex and some of our workers are getting crazy from time to time. So to not end like some of our workers I will guide you through the process step by step.
First thing we are checking is if ever vigilant guard (package maintainer) is actually interested about this project in Fedora universe. We seek the wisdom of Great Oraculum and ask the question. In case nobody is interested our work here is done and we sent a messenger with message containing the answer we received from Great Oraculum (hotness.update.drop).
Next step is to contact Magic Department Abstract Positive Intuition (mdapi is small API that contains metadata for every package). This will give us the information about the project and if our news are really newer than the current state of project in Fedora universe. If the project is not found in this step we sent a messenger with a message to inform about this state of things (hotness.update.drop).
Then we use the information obtained from Magic Department Abstract Positive Intuition (mdapi) and compare it with news we received (compare version detected by Anitya to package version in Fedora). If the message we received contains old news, we will burn the message and newer look at it again. I have a fireball spell ready in my mind for this occasion all the time.
So we found out that the message we received has news that we don’t know yet in Fedora universe. Now comes the time to send messenger to realm of Bugzilla. The messenger gets some supplies and begins his journey. We announce this journey by sending another messenger to Fedora universe (hotness.update.bug.file).
It’s a hard and dangerous adventure, sometimes we just get message back that he wasn’t successful in his quest and he wasn’t able to persuade rulers of Bugzilla to accept his message. In this case we just sent message to Fedora universe that we humbly apologize for this, but it’s not our fault (hotness.update.drop).
It could look like if our messenger was successful in his quest we don’t need to do anything else, but this is far from truth. Now we must look again on the answer from Great Oraculum and see if golem creation (scratch build) is required from realm of koji by the ever vigilant guard (package maintainer). If this is really required than another messenger is sent to the realm of koji, otherwise our work on this message from realm of Anitya ends.
After sending message to realm of koji, we sent another message to realm of Bugzilla. Now we just wait till we receive the response from the realm of koji. When this response arrives we sent another two messengers to realm of Bugzilla with the response we received. One of them is carrying update to rulers of Bugzilla and the other is meant for Truesight committee (Review request) observing the project.
And now our work on this task is done.
Arriving to realm of Pagure
Now what happens if the-new-hotness will communicate with the realm of Pagure instead of realm of Bugzilla. So look at the following manuscript:
As you can see, the manuscript is much simpler than the Bugzilla one. The first few steps are same, but instead of sending multiple messengers to Bugzilla realm we simply send one to realm of Pagure on magical chariot Packit to update the flow of magical energies in the project (file a pull request) and wait for the response. If our messenger is successful, we will send another messenger to Fedora universe with the message about the success (hotness.update.pullrequest.create). In other case we will sent another messenger with the message about failure (hotness.update.drop).
This is still work in progress and I focus my magical energy on it right now. But here you can see how this change will impact the island of the-new-hotnes and the whole realm of release-monitoring.org.
I hope this wasn’t boring for you, traveler, and you will visit the realm of release-monitoring.org again.
This is all for now from the world of release-monitoring.org. Do you like this world and want to join our conclave of mages? Seek me (mkonecny) in the magical yellow pages (IRC freenode #fedora-apps) and ask how can you help. Or visit the Bugcronomicon (GitHub issues on Anitya or the-new-hotness) directly and pick something to work on.