Refactor CI to only run tests that make sense depending on which files were changed
Splitting out a discussion from !4966 (comment 1838713745).
We have a couple of CI tests, that run tests across all packages. If for whatever reason one of the tests starts failing, then it affects all merge requests even if they don't touch related files. We had that recently with a pmb_recommends check failing, because packages were not available in Alpine edge briefly.
What we want to do instead:
- only run the tests when related files were changed (in the example, only run the _pmb_recommends check on the UI packages that were changed, if any)
- run the test across all packages at another time
TODO:
- discuss when to run the tests across all packages:
- periodically?
- when merging to master?
- make a list of tests to adjust
- adjust all the tests