Hello, everyone.

It is my pleasure to announce that Infra is ready to deploy NATTkA
and will do so as soon as we're able to synchronize with stable-bot
owner.

TL;DR: expect bot handling kwreq/streq to change, please report any bugs
you notice, please start testing 'nattka apply' as a replacement for
getatoms.py.


What is NATTkA?
===============
NATTkA is a rewrite of stable-bot, resulting from my frustration with
unresolved issues, limitations and negligence to publish source code of
stable-bot.

Currently, it is a program with two commands: 'process-bugs' that
replaces stable-bot itself, and 'apply' that replaces getatoms.py.
It remains backwards compatible with stable-bot right now but I will
start working on new features soonish, and then getatoms.py will
probably be unable to work on bugs using them.


stable-bot replacement
======================
The main differences that will be visible after the deployment are:

- NATTkA will run on shorter schedule (right now we're testing every
4-8 minutes), so new bugs should be handled much faster.

- old bugs will be rechecked periodically (right now: every 12 hours),
so if package lists run out of date, you will know before slacking arch
teams notice.

- if bug specifies all keywords in the package list, it will be checked
before arch teams are CC-ed, so you won't have to spam them with bugs
that aren't ready.

- if you file rekeywording request and need to add dependencies, you no
longer have to worry about specifying exact keywords for all of them. 
Unlike stable-bot, NATTkA does not try to downgrade stable keywords to
~arch as part of keywording.


NATTkA should yield the same results as stable-bot (except in the cases
outlined above).  However, the failure messages change, so expect one-
time re-reporting of all sanity-check- bugs.  There also might be bugs,
so if results don't make sense, please ping me.

In the new feature I'm planning to relax package list syntax for
keywordreqs and add new shorthands for specifying keywords in order to
make our lives easier.  These will not be backwards compatible.


getatoms.py replacement
=======================
'nattka apply' is quite fresh but it should be already equally
functional to getatoms.py.  I'd like to ask arch teams to start testing
it ASAP, as using it (or well, updating the other tools) will be
necessary to make use of new package list features.

Short usage instructions follow.  Docs provide a bit more details on all
command-line options.

'nattka apply' applies keywords to the git repo checkout in the current
directory and prints output telling you which packages had the keyword
added.  By default it works on the current ARCH (as determined from
Portage config/profile).

To apply keywords from specific bug:

nattka apply 123456

To apply keywords from all bugs of specific category:

nattka apply --keywordreq
nattka apply --stablereq
nattka apply --security

To just print the list without modifying ebuilds:

nattka apply -n ...

Normally, NATTkA skips bugs that did not pass sanity-check or have
unresolved deps.  To change that:

nattka apply --ignore-sanity-check ...
nattka apply --ignore-dependencies ...

To run for another arch:

nattka apply -a arm64 ...

To run for all arches CC-ed to the bugs:

nattka apply -a '*' ...

ALLARCHES is not currently respected but certainly will be
in the future.  If you need more features or notice any bugs, please
ping me or file a bug at [1].


Enjoy!


[1] https://github.com/mgorny/nattka/issues

-- 
Best regards,
Michał Górny

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to