Travis has recently introduced built limits which makes using them very
slow sometimes and I never really liked the setup for appveyor for our
Windows testing.
This makes use of github actions instead. Some notes:
* since we only support PHP 7.2+ anymore, nothing below is tested
* MySQL and Postgres auth backends are only tested on Linux (as before)
* I am not actually sure the problem matchers are working as intended
* There is currently no good way to run tests that are allowed to fail
so no PHP 8 tests are run yet
* I haven't reestablished the no-gzip test runs again, I'm not sure they
are still relevant on modern PHP systems
* PHP 7.4 currently fails because of https://github.com/MarcusSchwarz/lesserphp/pull/18
* I'm currently using @v2 tags for the used action. We had a discussion
before if we should actually pin the action to a fixed commit. For
sake of easier maintainance, I would argue to trust the setup-php
action.
Splitting them out allows for plugins to use _test/phpcs.xml as the
basis for their own linting without having an overly permissive coding
standard.
Also, this makes it more obvious and painful that these are just
intended as temporary exceptions and should be actually fixed.
The rule `Generic.ControlStructures.InlineControlStructure.NotAllowed`
has its comment adjust to make it clear that this is an intended
deviation from the PSR-2/PSR-12 coding standard.
The rule `PSR1.Classes.ClassDeclaration.MissingNamespace` has to remain
in the DokuWiki coding standard as the plugin base classes can currently
not reasonably be in namespaces.
This excludes the currently failing checks with automatic fixes, as they
are out of scope of this commit. The current goal is automatically
reject pull requests that don't me the standards that the rest of our
code base already follows.