Die Absicht ist umgekehrt. Die Kompatibilitäts-Branches sind nur für ‘veröffentlichte’ Branches von Discourse bestimmt. Discourse latest verwendet immer main Ihres Plugins. Dort entwickeln Sie neue Funktionen.
Die Geschichte wäre also:
Discourse veröffentlicht v2026.2. GitHub Actions in Ihrem Plugin erkennt dies automatisch und erstellt einen d-compat/v2026.2-Branch. Jetzt werden alle, die Discourse v2026.2 verwenden, die Version d-compat/v2026.2 Ihres Plugins verwenden.
Sie veröffentlichen eine neue Funktion auf main Ihres Plugins. Sie müssen sich keine Gedanken über Abwärtskompatibilität machen, da der main-Branch nur von Personen verwendet wird, die Discourse latest ausführen.
Dann, während Sie an Ihrem dritten Glas Wein nippen
, veröffentlicht Discourse v2026.3. Anfangs gibt es keinen Plugin-Branch für diese Version, daher wird main verwendet. Die Dinge funktionieren weiterhin wie für Personen auf latest.
Innerhalb weniger Stunden erkennt Ihre GitHub-Aktion die neue Version und friert d-compat/v2026.3 ein, bereit für Ihre nächste Plugin-Funktion, die ohne Abwärtskompatibilitätsprobleme auf main landet.
Dies ist im Wesentlichen der Workflow, den wir bei CDCK verwenden, um die stabile Kompatibilität von Themes/Plugins zu gewährleisten. Nach jeder stabilen Veröffentlichung führen wir ein Skript aus, das Hunderte unserer Themes/Plugins durchläuft und sie über .discourse-compatibility einfriert. Dieser Branch-basierte Vorschlag zielt darauf ab, eine leichtere Version dieses Workflows zu sein.