From d27428e0ecf833c44ea4b0ee9ecae76ce8f5b173 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 20 Sep 2026 15:33:37 +0000 Subject: [PATCH 1/2] =?UTF-8?q?Pakete=20halten=20sich=20k=C3=BCnftig=20sel?= =?UTF-8?q?bst=20auf=20Stand:=20Dependabot=20eingerichtet?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Einmal pro Woche (montags 06:00, Europe/Berlin) sieht Dependabot nach neueren NuGet-Paketen und öffnet dafür einen Pull Request. Geprüft wird der von build.yml wie jeder andere Zweig auch; zusammengeführt wird nichts von allein. Die Avalonia-Pakete stehen in einer eigenen Gruppe und bewusst ohne update-types: Sie tragen stets dieselbe Versionsnummer und müssen gemeinsam wandern - einzeln angehoben scheitert der Build an widersprüchlichen Fassungen. Alles Übrige kommt gebündelt, aber nur für kleine Sprünge; eine neue Hauptversion kommt allein, damit sie einzeln angesehen werden kann. Wirksam wird die Datei erst, wenn sie im Standardzweig liegt. Der Kommentar zu Tmds.DBus.Protocol nannte bisher die Nummer 0.94.2. Sobald Dependabot das Paket anhebt, stimmt das nicht mehr - er spricht jetzt von der "neuesten Fassung" und bleibt damit richtig. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_0196PaXCKSmKiwGSNr3Nwqvz --- .github/dependabot.yml | 59 ++++++++++++++++++++++++++++++++++++++++++ WindowsDaSiTool.csproj | 2 +- 2 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..7ac9f65 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,59 @@ +# Hält die NuGet-Pakete von selbst auf Stand. +# +# Dependabot sieht einmal pro Woche nach, ob es für ein Paket aus einer +# .csproj eine neuere Fassung gibt, und öffnet dafür einen Pull Request. +# Gebaut und geprüft wird der von build.yml wie jeder andere Zweig auch - +# was dort nicht durchläuft, lässt sich also nicht versehentlich +# zusammenführen. Zusammengeführt wird nichts von allein; das bleibt ein Klick. +# +# WICHTIG: Die Datei wirkt erst, wenn sie im Standardzweig liegt. Auf einem +# Nebenzweig tut sie nichts. +# +# Sicherheitslücken meldet Dependabot unabhängig von diesem Takt sofort - +# vorausgesetzt, "Dependabot security updates" ist in den Einstellungen des +# Repositories eingeschaltet. + +version: 2 + +updates: + - package-ecosystem: nuget + + # "/" meint das ganze Repository: Dependabot durchsucht von der Wurzel aus + # auch die Unterordner und findet damit WindowsDaSiTool.csproj und das + # Testprojekt unter tests\. + directory: "/" + + schedule: + interval: weekly + day: monday + time: "06:00" + timezone: Europe/Berlin + + # Mehr als drei offene Paket-Anfragen gleichzeitig bringen nichts - sie + # veralten schneller, als sie durchgesehen werden. + open-pull-requests-limit: 3 + + commit-message: + prefix: "Pakete" + + groups: + # Die vier Avalonia-Pakete tragen stets dieselbe Versionsnummer und + # müssen gemeinsam wandern. Einzeln angehoben ergäbe das einen Build, + # der an widersprüchlichen Fassungen scheitert - deshalb steht hier + # bewusst KEIN update-types: Auch der Sprung auf eine neue Hauptversion + # kommt als ein einziger Pull Request, der alle vier zusammen anhebt. + avalonia: + patterns: + - "Avalonia*" + + # Alles Übrige (CommunityToolkit.Mvvm, Tmds.DBus.Protocol, ...) in einer + # gemeinsamen Anfrage - aber nur kleine Sprünge. Eine neue Hauptversion + # kommt absichtlich allein, damit sie einzeln angesehen werden kann. + uebrige-pakete: + patterns: + - "*" + exclude-patterns: + - "Avalonia*" + update-types: + - minor + - patch diff --git a/WindowsDaSiTool.csproj b/WindowsDaSiTool.csproj index d177d5c..7bf9eb2 100644 --- a/WindowsDaSiTool.csproj +++ b/WindowsDaSiTool.csproj @@ -39,7 +39,7 @@ Der Registrierungscode in Program.cs bleibt unveraendert und funktioniert. --> From d697640817ce5e48d5bb25ac00bbe0d5c4139737 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 20 Sep 2026 15:41:47 +0000 Subject: [PATCH 2/2] Alle Workflows auf denselben, neuesten Stand gezogen Die Aktionen wurden von Hand gepflegt und waren entsprechend ungleich - quer ueber die Projekte stand checkout@v4 neben checkout@v5 und upload-artifact@v4 neben @v6. Jetzt ueberall dieselbe, jeweils neueste Hauptversion: actions/checkout v5 -> v7 actions/setup-dotnet v5 -> v6 actions/upload-artifact v4 -> v7 softprops/action-gh-release v2 -> v3 Bei den offiziellen Aktionen wechseln die Hauptversionen im Kern nur die Node-Fassung des Laeufers (Node 24, Laeufer ab 2.327.1) und den Modultyp (ESM). Die eine inhaltliche Aenderung - checkout@v7 verweigert das Auschecken von Fork-Zweigen unter pull_request_target und workflow_run - betrifft hier nichts: Diese Ausloeser kommen in keinem Workflow vor. Entfallene Eingaben (setup-python v7 ohne pip-install, upload-artifact v7 mit neuem archive) werden nirgends benutzt. Damit es gleich bleibt, pflegt Dependabot ab jetzt auch die Aktionen: package-ecosystem github-actions im selben Wochentakt, alle Aktionen in einer gemeinsamen Anfrage - einzeln angehoben liefen die Workflows sonst gleich wieder auseinander. Und die Pakete stehen wieder auf demselben Stand wie in den uebrigen Projekten: Avalonia 12.1.1 -> 12.1.2 Avalonia.Desktop 12.1.1 -> 12.1.2 Avalonia.Fonts.Inter 12.1.1 -> 12.1.2 Avalonia.Themes.Fluent 12.1.1 -> 12.1.2 Tmds.DBus.Protocol 0.94.2 -> 0.95.1 Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_0196PaXCKSmKiwGSNr3Nwqvz --- .github/dependabot.yml | 30 ++++++++++++++++++++++++++++++ .github/workflows/build.yml | 10 +++++----- .github/workflows/release.yml | 6 +++--- WindowsDaSiTool.csproj | 10 +++++----- 4 files changed, 43 insertions(+), 13 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 7ac9f65..20d34cc 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -57,3 +57,33 @@ updates: update-types: - minor - patch + + # Dieselbe Pflege für die Aktionen in .github/workflows/ - checkout, + # setup-dotnet, upload-artifact und die übrigen. Bis hierher wurden sie von + # Hand gepflegt und waren entsprechend ungleich (checkout@v4 neben + # checkout@v5, upload-artifact@v4 neben @v6); künftig hebt Dependabot sie an. + - package-ecosystem: github-actions + + # Bei Aktionen ist "/" wörtlich das Repository-Stammverzeichnis: Dependabot + # sieht dann in .github/workflows/ nach. Ein anderer Pfad wäre hier falsch. + directory: "/" + + schedule: + interval: weekly + day: monday + time: "06:00" + timezone: Europe/Berlin + + open-pull-requests-limit: 3 + + commit-message: + prefix: "Aktionen" + + groups: + # Alle Aktionen in einer einzigen Anfrage, bewusst ohne update-types. + # Eine neue Hauptversion wechselt bei den offiziellen Aktionen fast immer + # nur die Node-Fassung des Läufers; sie gemeinsam anzuheben hält die + # Workflows untereinander gleich - genau darum ging es. + aktionen: + patterns: + - "*" diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2998da0..df9a4a8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -18,9 +18,9 @@ jobs: pruefungen: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v7 - - uses: actions/setup-dotnet@v5 + - uses: actions/setup-dotnet@v6 with: dotnet-version: '10.0.x' @@ -32,9 +32,9 @@ jobs: uebersetzen: runs-on: windows-latest steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v7 - - uses: actions/setup-dotnet@v5 + - uses: actions/setup-dotnet@v6 with: dotnet-version: '10.0.x' @@ -61,7 +61,7 @@ jobs: -p:EnableCompressionInSingleFile=true ` -p:DebugType=none -p:DebugSymbols=false - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v7 with: name: WindowsDaSiTool-Testbau path: publish/WindowsDaSiTool.exe diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a1c56b6..2909eb8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -40,11 +40,11 @@ jobs: runs-on: windows-latest steps: # Beim Etikett dessen Stand, beim Knopfdruck der Stand des Standardzweigs. - - uses: actions/checkout@v5 + - uses: actions/checkout@v7 with: fetch-depth: 0 - - uses: actions/setup-dotnet@v5 + - uses: actions/setup-dotnet@v6 with: dotnet-version: '10.0.x' @@ -107,7 +107,7 @@ jobs: # Legt das Etikett mit an, falls es noch nicht existiert (Knopfdruck-Weg). - name: Veröffentlichung anlegen - uses: softprops/action-gh-release@v2 + uses: softprops/action-gh-release@v3 with: tag_name: ${{ steps.version.outputs.tag }} name: Windows DaSi Tool ${{ steps.version.outputs.version }} diff --git a/WindowsDaSiTool.csproj b/WindowsDaSiTool.csproj index 7bf9eb2..066fb55 100644 --- a/WindowsDaSiTool.csproj +++ b/WindowsDaSiTool.csproj @@ -28,10 +28,10 @@ - - - - + + + + - +