Hey Gang,
this is bugging me for quite a while now, and although I know why we
put the
restrictions there back then, I'm not sure the benefits still outweigh the
problems.
Especially now, when we'll probably be getting some traction,
I'd like to
propose removing the type-check completely. On top of that, we could have
some "known" types (koji_build, bodhi_update, compose, ...), and implement a
"spellcheck" - like a Hamming or Levenshtein distance - to catch typos, and
warn the user.
All the Taskotron jobs are given the type programatically now anyway,
so the
worry-for-typos is now IMO a bit lessened, and actual human users would be
warned in the logs.
(lib)Taskotron is pretty agnostic to what the people are doing with
it, and
this seems to be a lefover arbitrary limit, that may have sense, but should
probably be implemented in an other part of the stack (like trigger) that
the users may be (in the future) directly interacting with.
Thoughts?
Joza
So this is about removing `_ITEM_TYPES` from `main.py`, correct?
I don't have a problem with that, as long as any relevant docs are updated and
we're able to present a reasonable message when something goes wrong - either if
there's a typo or the user executes a formula expecting type X with type Y (and
therefore e.g. `koji_build` variable is required but not provided). It also means we
should document the most commonly used types somewhere, so that people know for which
events they can write their tasks and have them executed in our infra.