# Give Plugin versions for minimum and maximum discourse version

**URL:** https://meta.discourse.org/t/give-plugin-versions-for-minimum-and-maximum-discourse-version/381195
**Category:** Feature
**Created:** [September 1, 2025, 6:11pm UTC](https://meta.discourse.org/t/give-plugin-versions-for-minimum-and-maximum-discourse-version/381195 "2025-09-01T18:11:46Z")
**Posts on this page:** 1
**Showing post:** 5

<div class="post-metadata">

### Author: ![elmuerte](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/elmuerte/32/456517_2.png) [@elmuerte](https://meta.discourse.org/u/elmuerte)
#### Post date: [September 5, 2025, 2:44pm UTC](https://meta.discourse.org/t/give-plugin-versions-for-minimum-and-maximum-discourse-version/381195/5 "2025-09-05T14:44:53Z")

</div>

> [@merefield](#):
>
> But it’s simple:
> 
> - Exhaustive (95% coverage) plugin tests (back end and system min) run on every new commit of core in CI
> 
> Then check for green tick before installing.

I’ve been playing around for this and came up with a solution in Github.

So just a green tick for for the most recent CI job isn’t good enough, as things might have changed in recently, which might break the plugin. Basically you need to re-run the CI jobs when Discourse updates branches.

In this [example repository](https://github.com/elmuerte/discourse-compat-wf-test) I worked out an efficient solution. It is basically a scheduled workflow which checks the important branches of the Discourse repo so see if there are changes, if there are it will trigger the normal CI workflow which should run the test suite. In you’re readme you can then place some badges to show how does CI workflows ran against the most recent changes.

The [monitoring workflow](https://github.com/elmuerte/discourse-compat-wf-test) runs in seconds. So when scheduled it would only consume 1 minute of github action time.

Obviously the reliability of this whole setup depends on the plugin/theme-component developer’s effort of creating a good test suite.

And you still have the UX issue that from Discourse’s “update” page you don’t know if the most recent CI job failed for a specific version.

So besides having a monitoring workflow which rebuilds a plugin when the Discourse branch changes, you need to create a build artifact recording the result (pass/fail). In your plugin metadata you should be able to point to this artifact, and discourse should retrieve this artifact to display the compatibility/result in the update interface.

It is not a foolproof construction, but it’s something.

---

_[View the full topic](https://meta.discourse.org/t/give-plugin-versions-for-minimum-and-maximum-discourse-version/381195)._
