
Renovate ist ein Tool zur Verfolgung von Projektabhängigkeiten und zur Erstellung von Merge-/Pull-Requests für diese. Es funktioniert perfekt für die meisten gängigen Paketmanager, aber...
Shopware Versionierungsschema
Shopware verwendet ein benutzerdefiniertes Versionierungsschema. Sie können den offiziellen Artikel lesen, aber kurz gesagt:
Shopware implementierte SemVer als "SemVer with benefits".
Eine SemVer-konforme Version hat drei Zahlen: Major, Minor und Patch. Diese werden nach folgendem Regelsatz erhöht:
- MAJOR: Inkompatible API-Änderungen werden vorgenommen
- MINOR: Funktionalität wird auf rückwärtskompatible Weise hinzugefügt
- PATCH: Rückwärtskompatible Fehlerbehebungen werden vorgenommen
Der "with benefits"-Teil ist: Wir behalten die große Marketing-Nummer. Also ist Shopware 6 immer noch das Produkt, aber es gibt eine Shopware 6.3.0.0. Wobei 3.0.0 der SemVer-Teil ist.
Renovate-Konfiguration
Die "große Marketing-Nummer"
oder "Generation"
wird in Renovate als compatibility
dargestellt.
Die folgende Konfiguration wird:
- Alle shopware-spezifischen Updates gruppieren
- Die Updates als
shopware
gruppieren - Renovate mitteilen, wie die Version extrahiert werden soll
- Renovate mitteilen, wo Changelog-Informationen zu finden sind
renovate.json
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"packageRules": [
{
"description": "Follow Shopware version schema",
"matchDatasources": [
"packagist"
],
"matchPackageNames": [
"shopware/administration",
"shopware/core",
"shopware/elasticsearch",
"shopware/storefront"
],
"groupName": "shopware",
"versioning": "regex:(?<compatibility>\\d+)\\.(?<major>\\d+)(\\.(?<minor>\\d+))?(\\.(?<patch>\\d+))?$",
"changelogUrl": "https://github.com/shopware/platform/blob/trunk/CHANGELOG.md"
}
]
}
Dies sollte zur Erstellung folgender Merge-/Pull-Requests führen:
- fix(deps): update shopware (
shopware/administration
,shopware/core
,shopware/elasticsearch
,shopware/storefront
) - fix(deps): update shopware to v7 (major) (
shopware/administration
,shopware/core
,shopware/elasticsearch
,shopware/storefront
)