From a465718f41175bf85ae558f8074cd00c150d6ba3 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 11 Sep 2026 21:07:40 +0000 Subject: [PATCH 01/10] chore(deps): update rust crate serde-saphyr to v1.2.0 --- Cargo.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3553f95..8d95f00 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -122,9 +122,9 @@ dependencies = [ [[package]] name = "granit-parser" -version = "1.1.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ccd1be9ebf2bd5520dbfcfb72b70ef492f654061299a097056f3e73410e38ec" +checksum = "48aa83cc6ac4dc610adf5501a5392b4bcc543b2c1f24eaf77469a96e31ec9abe" dependencies = [ "arraydeque", "smallvec", @@ -261,9 +261,9 @@ dependencies = [ [[package]] name = "serde-saphyr" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1ec1f5cac0eb96063c64b28705255a7ed6e7d77f95c1d25e9f8b8c928006ce1" +checksum = "3afb591f9cdb6223c88ba39269aff895620c7f0716dc42b705b5733d5c7c0823" dependencies = [ "annotate-snippets", "base64", From 677aef8e78f83cbcfbeab96cd6ef711d67f62b74 Mon Sep 17 00:00:00 2001 From: DragonSlayer_14 Date: Fri, 11 Sep 2026 23:22:54 +0200 Subject: [PATCH 02/10] Fix: Aktiviert `allowCustomCrateRegistries` in `renovate.json` --- renovate.json | 1 + 1 file changed, 1 insertion(+) diff --git a/renovate.json b/renovate.json index 7b4f5d9..53a7062 100644 --- a/renovate.json +++ b/renovate.json @@ -7,6 +7,7 @@ "schedule": [ "before 6am on monday" ], + "allowCustomCrateRegistries": true, "baseBranchPatterns": [ "dev" ], From c72122e20e702d6b43c9dac62ab70b60587a33df Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 12 Sep 2026 09:00:36 +0000 Subject: [PATCH 03/10] chore(deps): update ghcr.io/renovatebot/renovate docker tag to v44.82.3 --- .gitea/workflows/renovate.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/renovate.yaml b/.gitea/workflows/renovate.yaml index cd3e060..ee3f20e 100644 --- a/.gitea/workflows/renovate.yaml +++ b/.gitea/workflows/renovate.yaml @@ -9,7 +9,7 @@ jobs: renovate: name: Dependency-Updates prüfen & Pull Requests erstellen runs-on: ubuntu-latest - container: ghcr.io/renovatebot/renovate:44.82.0 + container: ghcr.io/renovatebot/renovate:44.82.3 steps: - name: Renovate ausführen run: renovate From 8c6ec8166438e8352c20b12f2ef476e205ce1a64 Mon Sep 17 00:00:00 2001 From: DragonSlayer_14 Date: Sun, 13 Sep 2026 00:22:50 +0200 Subject: [PATCH 04/10] =?UTF-8?q?Feat:=20F=C3=BCgt=20code-quality-Workflow?= =?UTF-8?q?=20f=C3=BCr=20automatische=20Formatierung=20und=20fixes=20hinzu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Introduced `code-quality.yaml` to automate Rust code formatting and Clippy fixes in the `dev` branch. - Updated `jsonSchemas.xml` to include schema paths for new Gitea workflows. --- .gitea/workflows/code-quality.yaml | 54 ++++++++++++++++++++++++++++++ .idea/jsonSchemas.xml | 3 ++ 2 files changed, 57 insertions(+) create mode 100644 .gitea/workflows/code-quality.yaml diff --git a/.gitea/workflows/code-quality.yaml b/.gitea/workflows/code-quality.yaml new file mode 100644 index 0000000..8c35d11 --- /dev/null +++ b/.gitea/workflows/code-quality.yaml @@ -0,0 +1,54 @@ +name: Code Quality (Auto-Format & Clippy-Fix) + +on: + push: + branches: + - dev + workflow_dispatch: + +jobs: + fix: + name: Formatierung & Clippy automatisch beheben + runs-on: ubuntu-latest + steps: + - name: Checkout Repository + uses: actions/checkout@v7 + with: + ref: ${{ gitea.ref_name || github.ref_name }} + token: ${{ secrets.PACKAGE_TOKEN || secrets.RELEASE_TOKEN || secrets.PUBLISH_TOKEN || secrets.API_TOKEN || secrets.PAT_TOKEN || secrets.CUSTOM_TOKEN || secrets.GITEA_TOKEN || secrets.GITHUB_TOKEN || github.token }} + + - name: Install Rust Toolchain + uses: actions-rust-lang/setup-rust-toolchain@v2 + with: + toolchain: stable + components: clippy, rustfmt + cache: false + + - name: Cache Cargo-Abhängigkeiten & Build-Artefakte + uses: actions/cache@v6 + with: + path: | + ~/.cargo/registry + ~/.cargo/git + target + key: cargo-${{ runner.os }}-${{ hashFiles('Cargo.lock') }} + restore-keys: | + cargo-${{ runner.os }}- + + - name: Formatierung automatisch beheben + run: cargo fmt + + - name: Clippy-Fixes automatisch anwenden + run: cargo clippy --fix --allow-dirty --allow-staged --all-targets + + - name: Änderungen committen & pushen + run: | + if [ -n "$(git status --porcelain)" ]; then + git config user.name "Gitea-Bot" + git config user.email "no-reply@creativedragonslayer.de" + git add -A + git commit -m "Style: Automatische Formatierung & Clippy-Fixes" + git push origin HEAD:${{ gitea.ref_name || github.ref_name }} + else + echo "Keine Formatierungs- oder Clippy-Änderungen." + fi diff --git a/.idea/jsonSchemas.xml b/.idea/jsonSchemas.xml index 8e80aa8..73609c5 100644 --- a/.idea/jsonSchemas.xml +++ b/.idea/jsonSchemas.xml @@ -29,6 +29,9 @@ + + From 28991dc52a8612b8ec11d9cd910678e595e259c7 Mon Sep 17 00:00:00 2001 From: Gitea-Bot Date: Sat, 12 Sep 2026 22:24:00 +0000 Subject: [PATCH 05/10] Style: Automatische Formatierung & Clippy-Fixes --- src/config.rs | 8 +------- src/updater.rs | 5 ++--- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/src/config.rs b/src/config.rs index 6fecfd1..0a6e82b 100644 --- a/src/config.rs +++ b/src/config.rs @@ -8,18 +8,12 @@ use serde::{Deserialize, Serialize}; /// Hauptkonfigurationsstruktur der Anwendung. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +#[derive(Default)] pub struct AppConfig { /// Allgemeine Einstellungen pub general: General, } -impl Default for AppConfig { - fn default() -> Self { - Self { - general: General::default(), - } - } -} /// Allgemeine Konfigurationseinstellungen. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] diff --git a/src/updater.rs b/src/updater.rs index b02dfa5..84b4911 100644 --- a/src/updater.rs +++ b/src/updater.rs @@ -111,15 +111,14 @@ pub fn run_compose_command(dir: &Path, args: &[&str]) -> std::io::Result || stderr.contains("unknown command \"compose\"") || stderr.contains("unknown command: compose")); - if is_unavailable { - if let Ok(fallback_out) = Command::new("docker-compose") + if is_unavailable + && let Ok(fallback_out) = Command::new("docker-compose") .current_dir(dir) .args(args) .output() { return Ok(fallback_out); } - } Ok(out) } Err(err) if err.kind() == std::io::ErrorKind::NotFound => { From c4ed24558f6101d3983cca913346bb22dfc61b88 Mon Sep 17 00:00:00 2001 From: Gitea-Bot Date: Sat, 12 Sep 2026 22:24:35 +0000 Subject: [PATCH 06/10] Style: Automatische Formatierung & Clippy-Fixes --- src/config.rs | 4 +--- src/updater.rs | 6 +++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/config.rs b/src/config.rs index 0a6e82b..b1ffbc7 100644 --- a/src/config.rs +++ b/src/config.rs @@ -7,14 +7,12 @@ use config_ctdra::get_config as get_cached_config; use serde::{Deserialize, Serialize}; /// Hauptkonfigurationsstruktur der Anwendung. -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -#[derive(Default)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)] pub struct AppConfig { /// Allgemeine Einstellungen pub general: General, } - /// Allgemeine Konfigurationseinstellungen. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct General { diff --git a/src/updater.rs b/src/updater.rs index 84b4911..f227617 100644 --- a/src/updater.rs +++ b/src/updater.rs @@ -116,9 +116,9 @@ pub fn run_compose_command(dir: &Path, args: &[&str]) -> std::io::Result .current_dir(dir) .args(args) .output() - { - return Ok(fallback_out); - } + { + return Ok(fallback_out); + } Ok(out) } Err(err) if err.kind() == std::io::ErrorKind::NotFound => { From 70059896a4281e0a9e9157cf575165f90219bced Mon Sep 17 00:00:00 2001 From: DragonSlayer_14 Date: Sun, 13 Sep 2026 01:01:54 +0200 Subject: [PATCH 07/10] =?UTF-8?q?Doc:=20Erg=C3=A4nzt=20Badges=20f=C3=BCr?= =?UTF-8?q?=20Workflows=20in=20README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 7708d12..2c4081d 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,8 @@ # DockerUpdate (`docker-update`) +[![Main Release & Publish](https://gitea.creative-dragonslayer.de/Linuxapps/DockerUpdate/actions/workflows/main.yaml/badge.svg?branch=main)](https://gitea.creative-dragonslayer.de/Linuxapps/DockerUpdate/actions?workflow=main.yaml) +[![Testing Build, Publish & Preview Release](https://gitea.creative-dragonslayer.de/Linuxapps/DockerUpdate/actions/workflows/testing.yaml/badge.svg?branch=testing)](https://gitea.creative-dragonslayer.de/Linuxapps/DockerUpdate/actions?workflow=testing.yaml) + `docker-update` ist ein schlankes CLI-Werkzeug für Linux-Server, das Docker-Compose-basierte Applikationen automatisch auf neuere Versionen prüft, aktualisiert und neu startet. From 4fb17310206b8ba0df5dc1ebc4dece53c1f7b865 Mon Sep 17 00:00:00 2001 From: DragonSlayer_14 Date: Sun, 13 Sep 2026 01:17:03 +0200 Subject: [PATCH 08/10] Fix: Verschiebt allowCustomCrateRegistries in die globale Renovate-Config Die Option ist repo-only nicht erlaubt und wurde in der Renovate-Workflow- Umgebung (RENOVATE_ALLOW_CUSTOM_CRATE_REGISTRIES) gesetzt. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_0156cWd2mGWNQU1kBbBPWpD7 --- .gitea/workflows/renovate.yaml | 1 + renovate.json | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/renovate.yaml b/.gitea/workflows/renovate.yaml index ee3f20e..bc2f748 100644 --- a/.gitea/workflows/renovate.yaml +++ b/.gitea/workflows/renovate.yaml @@ -19,6 +19,7 @@ jobs: RENOVATE_TOKEN: ${{ secrets.RENOVATE_TOKEN }} RENOVATE_REPOSITORIES: ${{ gitea.repository || github.repository }} RENOVATE_AUTODISCOVER: "false" + RENOVATE_ALLOW_CUSTOM_CRATE_REGISTRIES: "true" RENOVATE_GIT_AUTHOR: "Renovate Bot " RENOVATE_HOST_RULES: >- [{"hostType":"cargo","matchHost":"${{ gitea.server_url || github.server_url }}","token":"${{ secrets.RENOVATE_TOKEN }}"}] diff --git a/renovate.json b/renovate.json index 53a7062..7b4f5d9 100644 --- a/renovate.json +++ b/renovate.json @@ -7,7 +7,6 @@ "schedule": [ "before 6am on monday" ], - "allowCustomCrateRegistries": true, "baseBranchPatterns": [ "dev" ], From 167825aa8149320b8c10c19d984f97b993901f5f Mon Sep 17 00:00:00 2001 From: DragonSlayer_14 Date: Sun, 13 Sep 2026 11:39:21 +0200 Subject: [PATCH 09/10] =?UTF-8?q?Feat:=20Baut=20Pakete=20nur=20bei=20tats?= =?UTF-8?q?=C3=A4chlichen=20Code-=C3=84nderungen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fügt einen vorgeschalteten detect-changes-Job ein, der mittels dorny/paths-filter@v4 prüft, ob sich Programmcode (src/, Cargo.toml, Cargo.lock, scripts/, .cargo/ bzw. die jeweilige Workflow-Datei selbst) geändert hat. Der Build-/Publish-/Release-Job wird nur noch ausgeführt, wenn das der Fall ist; bei reinen Config- oder Workflow-Änderungen schließt der Workflow erfolgreich ohne Build/Release ab. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01TcFzG54jW33nvp1TawCZJV --- .gitea/workflows/main.yaml | 24 ++++++++++++++++++++++++ .gitea/workflows/testing.yaml | 24 ++++++++++++++++++++++++ 2 files changed, 48 insertions(+) diff --git a/.gitea/workflows/main.yaml b/.gitea/workflows/main.yaml index 204f471..f201502 100644 --- a/.gitea/workflows/main.yaml +++ b/.gitea/workflows/main.yaml @@ -6,8 +6,32 @@ on: - main jobs: + detect-changes: + name: Erkenne relevante Code-Änderungen + runs-on: ubuntu-latest + outputs: + code_changed: ${{ steps.filter.outputs.code }} + steps: + - name: Checkout Repository + uses: actions/checkout@v7 + + - name: Prüfe auf Änderungen am Programmcode + uses: dorny/paths-filter@v4 + id: filter + with: + filters: | + code: + - 'src/**' + - 'Cargo.toml' + - 'Cargo.lock' + - 'scripts/**' + - '.cargo/**' + - '.gitea/workflows/main.yaml' + release-and-publish: name: Build, Publish Packages (Stable) & Create Release + needs: detect-changes + if: needs.detect-changes.outputs.code_changed == 'true' runs-on: ubuntu-latest env: CARGO_BINSTALL_VERSION: "1.23.0" diff --git a/.gitea/workflows/testing.yaml b/.gitea/workflows/testing.yaml index 00189dc..6bf6d29 100644 --- a/.gitea/workflows/testing.yaml +++ b/.gitea/workflows/testing.yaml @@ -6,8 +6,32 @@ on: - testing jobs: + detect-changes: + name: Erkenne relevante Code-Änderungen + runs-on: ubuntu-latest + outputs: + code_changed: ${{ steps.filter.outputs.code }} + steps: + - name: Checkout Repository + uses: actions/checkout@v7 + + - name: Prüfe auf Änderungen am Programmcode + uses: dorny/paths-filter@v4 + id: filter + with: + filters: | + code: + - 'src/**' + - 'Cargo.toml' + - 'Cargo.lock' + - 'scripts/**' + - '.cargo/**' + - '.gitea/workflows/testing.yaml' + build-and-publish: name: Build, Publish Packages (Testing) & Create Preview Release + needs: detect-changes + if: needs.detect-changes.outputs.code_changed == 'true' runs-on: ubuntu-latest env: CARGO_BINSTALL_VERSION: "1.23.0" From 0d8af424c3ba1d97c324543fdfb0a2413b324b1f Mon Sep 17 00:00:00 2001 From: DragonSlayer_14 Date: Sun, 13 Sep 2026 12:12:46 +0200 Subject: [PATCH 10/10] FEat: Hebt Version auf 1.2.2 an --- Cargo.lock | 2 +- Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 8d95f00..754fac7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -76,7 +76,7 @@ checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c" [[package]] name = "docker-update" -version = "1.2.1" +version = "1.2.2" dependencies = [ "config-ctdra", "logger-ctdra", diff --git a/Cargo.toml b/Cargo.toml index e93479d..a114189 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "docker-update" -version = "1.2.1" +version = "1.2.2" edition = "2024" authors = ['DragonSlayer_14'] readme = "README.md"