In addition to CI with backend and frontend tests, which most Pavilion plugins have now, we have a plugin manager system of which CI is one part. This is how it works
Yes, and to add to what @angus has shared, you can find our daily compatibility dashboard here:
Which displays status of checks for compatibility of Pavilion Plugins (and sometimes others) against tests-passed and stable. This is updated every day, automatically.
This of course relies on tests, including smoke tests, specs (backend) and qunit (front end) tests.
Our subscription plugin (Custom Wizard) has the most test coverage, as you might imagine, but some of our free plugins include a good suite of both back-end and front-end tests (e.g. Locations).
Writing tests is good practice and certainly Pavilion has become yet more disciplined in this space as we have matured as a business.
Critically tests also document your intended functionality, which is extremely important especially during compatibility updates or refactoring.
All official plugins have specs that you can use as examples. The discourse-plugin-Skelton plugin includes github Actions to run tests at every commit, and I think, daily.
a) This is available via GitHub actions: plugins with proper specs / tests using GitHub actions will have a badge on GitHub, if all tests pass and the status of CI actions is readable by API.
b) Except discourse official plugins and pavilion plugins, there exist no automatic overview for administrators, if used plugins will work in the version intended for update?
As I understand, this is a solution to the reverse problem: discourse to old for a plugin.
How to treat the other way around: plugin to old for discourse?
Could /admin/upgrade warn about plugins, failing tests for an intended upgrade?
We originally set out to and provided an unbranded version of our Plugin dashboard where 3rd party authors could put forward their plugin to be included. This didn’t gain any traction, in part because the population of 3rd party plugin developers is very small indeed.
Third party Discourse plugin creation is pretty niche and third party providing plugins with good test coverage is very niche!
A lot of the freelancers in this space have either joined Pavilion or CDCK (or, in time, both!)
So in the end we decide just to collapse our dashboard into our branded community site.