Testing Build, Check & Preview Release / Build, Check & Create Preview Release (push) Skipped
TruffleHog Secret Scan / TruffleHog (push) Successful in 28s
Code Quality (Auto-Format & Clippy-Fix) / Formatierung & Clippy automatisch beheben (push) Successful in 58s
Security Scans / Trivy & OSV-Scanner (push) Successful in 1m2s
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>
53 lines
2.1 KiB
YAML
53 lines
2.1 KiB
YAML
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
|
|
|
|
# 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
|
|
uses: Swatinem/rust-cache@v2
|
|
|
|
- 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
|