CI: Ersetzt rohes actions/cache für Cargo-Build-Artefakte durch Swatinem/rust-cache
Testing Build, Publish & Preview Release / Build, Publish Packages (Testing) & Create Preview Release (push) Skipped
TruffleHog Secret Scan / TruffleHog (push) Successful in 26s
Security Scans / Trivy & OSV-Scanner (push) Successful in 55s
Code Quality (Auto-Format & Clippy-Fix) / Formatierung & Clippy automatisch beheben (push) Successful in 6m17s
Testing Build, Publish & Preview Release / Build, Publish Packages (Testing) & Create Preview Release (push) Skipped
TruffleHog Secret Scan / TruffleHog (push) Successful in 26s
Security Scans / Trivy & OSV-Scanner (push) Successful in 55s
Code Quality (Auto-Format & Clippy-Fix) / Formatierung & Clippy automatisch beheben (push) Successful in 6m17s
Ein rohes 'actions/cache' auf target/ lieferte zwar einen technischen Cache-Hit, Cargo kompilierte die Abhängigkeiten aber trotzdem neu: der tar-basierte Restore-Vorgang setzt bei allen wiederhergestellten Dateien dieselbe Mtime, wodurch Cargos Fingerprinting nicht mehr zuverlässig erkennen kann, was älter/neuer als was ist. Swatinem/rust-cache behebt das gezielt (u. a. gezielte Mtime-Korrektur nach dem Restore). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -24,16 +24,14 @@ jobs:
|
|||||||
components: clippy, rustfmt
|
components: clippy, rustfmt
|
||||||
cache: false
|
cache: false
|
||||||
|
|
||||||
|
# Ein rohes 'actions/cache' auf target/ liefert zwar einen technischen Cache-Hit (Dateien
|
||||||
|
# werden wiederhergestellt), Cargo kompiliert die Abhängigkeiten aber oft trotzdem neu:
|
||||||
|
# Der tar-basierte Restore-Vorgang setzt bei allen wiederhergestellten Dateien dieselbe
|
||||||
|
# Mtime, wodurch Cargos Fingerprinting nicht mehr zuverlässig erkennen kann, was
|
||||||
|
# älter/neuer als was ist, und sicherheitshalber alles neu baut. Swatinem/rust-cache ist
|
||||||
|
# genau dafür gebaut (u. a. gezielte Mtime-Korrektur nach dem Restore).
|
||||||
- name: Cache Cargo-Abhängigkeiten & Build-Artefakte
|
- name: Cache Cargo-Abhängigkeiten & Build-Artefakte
|
||||||
uses: actions/cache@v6
|
uses: Swatinem/rust-cache@v2
|
||||||
with:
|
|
||||||
path: |
|
|
||||||
~/.cargo/registry
|
|
||||||
~/.cargo/git
|
|
||||||
target
|
|
||||||
key: cargo-${{ runner.os }}-${{ hashFiles('Cargo.lock') }}
|
|
||||||
restore-keys: |
|
|
||||||
cargo-${{ runner.os }}-
|
|
||||||
|
|
||||||
- name: Formatierung automatisch beheben
|
- name: Formatierung automatisch beheben
|
||||||
run: cargo fmt
|
run: cargo fmt
|
||||||
|
|||||||
@@ -48,16 +48,14 @@ jobs:
|
|||||||
toolchain: stable
|
toolchain: stable
|
||||||
cache: false
|
cache: false
|
||||||
|
|
||||||
|
# Ein rohes 'actions/cache' auf target/ liefert zwar einen technischen Cache-Hit (Dateien
|
||||||
|
# werden wiederhergestellt), Cargo kompiliert die Abhängigkeiten aber oft trotzdem neu:
|
||||||
|
# Der tar-basierte Restore-Vorgang setzt bei allen wiederhergestellten Dateien dieselbe
|
||||||
|
# Mtime, wodurch Cargos Fingerprinting nicht mehr zuverlässig erkennen kann, was
|
||||||
|
# älter/neuer als was ist, und sicherheitshalber alles neu baut. Swatinem/rust-cache ist
|
||||||
|
# genau dafür gebaut (u. a. gezielte Mtime-Korrektur nach dem Restore).
|
||||||
- name: Cache Cargo-Abhängigkeiten & Build-Artefakte
|
- name: Cache Cargo-Abhängigkeiten & Build-Artefakte
|
||||||
uses: actions/cache@v6
|
uses: Swatinem/rust-cache@v2
|
||||||
with:
|
|
||||||
path: |
|
|
||||||
~/.cargo/registry
|
|
||||||
~/.cargo/git
|
|
||||||
target
|
|
||||||
key: cargo-${{ runner.os }}-${{ hashFiles('Cargo.lock') }}
|
|
||||||
restore-keys: |
|
|
||||||
cargo-${{ runner.os }}-
|
|
||||||
|
|
||||||
- name: Alte Paketierungs-Ausgaben aus dem Cache entfernen
|
- name: Alte Paketierungs-Ausgaben aus dem Cache entfernen
|
||||||
run: rm -rf target/debian target/generate-rpm target/arch
|
run: rm -rf target/debian target/generate-rpm target/arch
|
||||||
|
|||||||
@@ -48,16 +48,14 @@ jobs:
|
|||||||
toolchain: stable
|
toolchain: stable
|
||||||
cache: false
|
cache: false
|
||||||
|
|
||||||
|
# Ein rohes 'actions/cache' auf target/ liefert zwar einen technischen Cache-Hit (Dateien
|
||||||
|
# werden wiederhergestellt), Cargo kompiliert die Abhängigkeiten aber oft trotzdem neu:
|
||||||
|
# Der tar-basierte Restore-Vorgang setzt bei allen wiederhergestellten Dateien dieselbe
|
||||||
|
# Mtime, wodurch Cargos Fingerprinting nicht mehr zuverlässig erkennen kann, was
|
||||||
|
# älter/neuer als was ist, und sicherheitshalber alles neu baut. Swatinem/rust-cache ist
|
||||||
|
# genau dafür gebaut (u. a. gezielte Mtime-Korrektur nach dem Restore).
|
||||||
- name: Cache Cargo-Abhängigkeiten & Build-Artefakte
|
- name: Cache Cargo-Abhängigkeiten & Build-Artefakte
|
||||||
uses: actions/cache@v6
|
uses: Swatinem/rust-cache@v2
|
||||||
with:
|
|
||||||
path: |
|
|
||||||
~/.cargo/registry
|
|
||||||
~/.cargo/git
|
|
||||||
target
|
|
||||||
key: cargo-${{ runner.os }}-${{ hashFiles('Cargo.lock') }}
|
|
||||||
restore-keys: |
|
|
||||||
cargo-${{ runner.os }}-
|
|
||||||
|
|
||||||
- name: Alte Paketierungs-Ausgaben aus dem Cache entfernen
|
- name: Alte Paketierungs-Ausgaben aus dem Cache entfernen
|
||||||
run: rm -rf target/debian target/generate-rpm target/arch
|
run: rm -rf target/debian target/generate-rpm target/arch
|
||||||
|
|||||||
@@ -23,16 +23,14 @@ jobs:
|
|||||||
toolchain: stable
|
toolchain: stable
|
||||||
cache: false
|
cache: false
|
||||||
|
|
||||||
|
# Ein rohes 'actions/cache' auf target/ liefert zwar einen technischen Cache-Hit (Dateien
|
||||||
|
# werden wiederhergestellt), Cargo kompiliert die Abhängigkeiten aber oft trotzdem neu:
|
||||||
|
# Der tar-basierte Restore-Vorgang setzt bei allen wiederhergestellten Dateien dieselbe
|
||||||
|
# Mtime, wodurch Cargos Fingerprinting nicht mehr zuverlässig erkennen kann, was
|
||||||
|
# älter/neuer als was ist, und sicherheitshalber alles neu baut. Swatinem/rust-cache ist
|
||||||
|
# genau dafür gebaut (u. a. gezielte Mtime-Korrektur nach dem Restore).
|
||||||
- name: Cache Cargo-Abhängigkeiten & Build-Artefakte
|
- name: Cache Cargo-Abhängigkeiten & Build-Artefakte
|
||||||
uses: actions/cache@v6
|
uses: Swatinem/rust-cache@v2
|
||||||
with:
|
|
||||||
path: |
|
|
||||||
~/.cargo/registry
|
|
||||||
~/.cargo/git
|
|
||||||
target
|
|
||||||
key: cargo-${{ runner.os }}-${{ hashFiles('Cargo.lock') }}
|
|
||||||
restore-keys: |
|
|
||||||
cargo-${{ runner.os }}-
|
|
||||||
|
|
||||||
- name: Run Tests
|
- name: Run Tests
|
||||||
run: cargo test
|
run: cargo test
|
||||||
|
|||||||
Reference in New Issue
Block a user