On Fri, Apr 17, 2020 at 8:07 AM Clement Verna <[email protected]>
wrote:

> Hi all,
>
> I wanted to start a discussion and possibly some work around automating
> the manual tasks involved in the release engineering work.
>
> In particular I have in mind the following tasks :
>  - processing the unretire package tickets.
>  - processing the requests for a new package or a new branch.
>  - container base image release.
>
> Instead of looking at each of these individually I was thinking that it
> might be interesting to look at having an automation framework or something
> like a bot that could be flexible enough to add more tasks or process in
> the future.
>
> To do that we have different possibilities, one could be to build a bot
> that has a similar architecture than the compose-tracker (
> https://pagure.io/releng/compose-tracker) ie a fedora-messaging consumer
> processing messages.
> Another option is to use loopabull (
> https://github.com/maxamillion/loopabull) to trigger ansible playbook on
> fedora-messaging messages.
>
> Both solutions are quite similar, but one (loopabull) provides already the
> boilerplate to trigger a script or a function based on messages received (a
> bit like AWS lambda or other serverless framework). We also have already a
> few process automated that way (
> https://pagure.io/Fedora-Infra/loopabull-tasks).
> So I believe that using loopabull might be the best way forward, but I
> would be interested to hear about other ideas :-)
>

I would lean to use loopabull because it already works in a "reactive way"
with mq messages and we don't need to write a full application since we
will be using ansible (which still can be "extended" developing modules for
complex tasks) - the above script could become a couple of ansible modules
to be used in a playbook with loopabull.


>
> Now if we look at the tasks to automate, I was thinking that we could
> implement that automation in different phases :
>
> *un-retiring tickets*:
>
>    - First step would be to run automatically the check-unretirement
>    script (
>    https://pagure.io/releng/blob/master/f/scripts/check-unretirement.py)
>    and redirect its output into the ticket comments. That way people
>    processing the ticket have all the information available in the ticket.
>    - Second step would be to process automatically the tickets that do
>    not require a new bz review (retired less than 8 weeks ago)
>    - Finally see if we can process automatically all the tickets.
>
>
> *creating new dist-git repo or branches:*
>
>    - Idea here would be to run the fedscm-admin (
>    https://pagure.io/fedscm-admin) cli automatically when a new ticket is
>    created here (https://pagure.io/releng/fedora-scm-requests).
>
>
I think it would also need to check for missed tickets from time to time,
like every 5 minutes for example, in case it missed one for whatever reason.


> *container base image release:*
>
>    - Instead of building the image every night, we could rebuild the
>    image only when at least 1 package present in the base image has been
>    updated.
>    - Push the image weekly to the registry if a build happened during
>    that week.
>
>
Is there any particular reason for using a weekly push schedule (assuming
doing one on every build is way too much)?


>
>
> Again here are some ideas, and I would very much appreciate feedback or
> other ideas :-). Also if you think about another process that could be
> automated that way please share it :-).
>
> Thanks
> Clément
>
> _______________________________________________
> rel-eng mailing list -- [email protected]
> To unsubscribe send an email to [email protected]
> Fedora Code of Conduct:
> https://docs.fedoraproject.org/en-US/project/code-of-conduct/
> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
> List Archives:
> https://lists.fedoraproject.org/archives/list/[email protected]
>


-- 

Leonardo Rossetti

Senior Software Engineer,

Red Hat <https://www.redhat.com>
<https://www.redhat.com>
_______________________________________________
infrastructure mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/[email protected]

Reply via email to