new tool for updating commonbugs pages

Adam Williamson adamwill at fedoraproject.org
Thu Sep 24 01:54:54 UTC 2015


Hi folks!

So a thing I kinda hate doing and hence don't do often enough is update
the common bugs pages to mention when updates are available to fix the
listed issues. So I wrote a script to help! You can find it in the
fedora-qa git repository:

https://git.fedorahosted.org/cgit/fedora-qa.git/tree/commonbugs-update

it requires python-bugzilla, python-fedora and python-wikitcms.

Please do be a bit careful when using it - read the diff it prints
before making changes, and ideally also check mediawiki's history diff
after editing.

At its core what it's meant to do is this: spot when there's an update
to fix an issue but the issue doesn't mention it, and edit the issue
appropriately. As I wrote it, there turned out to be quite a bit more
detail than that, and I even had to tweak the wiki templates a bit. So
to explain some of the less-obvious bits:

There's a big difference between the actions 'Ignore' and 'Skip'.
'Skip' just means 'don't do anything at all about this issue right now'
- it results in no wiki edit. 'Ignore' means 'mark this issue such that
future runs of this script will ignore it'; it adds a magic comment to
the issue, and future runs of the script (by *anyone*, not just you)
will not show that issue. So please be careful with how you wield
Ignore.

The action 'Testing' is for use when the update is in testing, the
action 'Stable' is for use when the update is stable. 'Testing' uses
the Common_bugs_update_testing template, 'Stable' uses the
Common_bugs_update_released template and moves the issue to the
'Resolved issues' section.

There are a couple of actions 'Testing no update' and 'Stable no
update'. What these do is mark that there's an update for the issue,
but it doesn't really *solve* the issue - it's meant for use with
things like installer bugs, where we can ship an update but we can't
fix the frozen images. These actions use new params I added to the wiki
templates today. If you use the 'Stable no update' action the issue
will *not* be moved to the 'Resolved issues' section by default.

Any time you use one of the 'change' actions, you'll be offered the
option to manually edit the text afterwards. If you say yes it'll be
opened in an editor ($EDITOR is respected) and you can tweak it however
you like. You'll notice the text display has a magic line at the top,
that looks like this:

#MOVETORESOLVED: True

(or maybe False). That lets you change whether the issue will be moved
to the 'Resolved issues' section or not. If the word 'True' or 'true'
appears anywhere on that line, the issue will be moved; if not, it
won't. The default value is set to True if you use the 'Stable' action,
False in any other case.

Don't trim trailing newlines in the editor, they're there for a reason.
mediawiki whitespace handling is just the worst. :)

I've used the tool to update the F21, F22 and F23 pages today, so there
are no changes needed right now (it will display a few issues, those
are ones I reckon should be 'skipped' but not 'ignored' for now), but
we can use this to hopefully keep them up to date better in future.
Note the tool won't work right on <F20 pages as they don't use the
templates for referencing updates.

The code is somewhat ugly for now, I might clean it up at some point,
but I already spent ~1.5 days longer on this than I expected to :/
-- 
Adam Williamson
Fedora QA Community Monkey
IRC: adamw | Twitter: AdamW_Fedora | XMPP: adamw AT happyassassin . net
http://www.happyassassin.net




More information about the qa-devel mailing list