This will trigger CI jobs automatically when pull-request is
created/updated. Until now we used only push event, as it was enough to
handle all automatic jobs from repository maintainers, but this does not
work for pull requests triggered by external collaborators.
We can't simply turn on new event, as it results in duplicate jobs when
PR is created by maintainer, so additional "if" filter is needed to
prevent duplicates from running. GitHub still shows "empty jobs" in some
parts of UI, but at least they don't run and fight for resources.
Unfortunately, GitHub Actions "if" functionality is fairly limited at
the moment:
- it does not work on workflows, only specific jobs
- it does not support array literals (that's why maintainer list is
passed as a string)
- it can't access workflow env variables (that's why maintainer list is
duplicated)
- it does not support regular expressions
- seems to have problem with using unary "!" operator and nested boolean
expressions…
- … and official documentation is pretty misleading by suggesting it
can do many of those things :(
that's why this "if" line looks like it does and is duplicated in every
workflow.