ci(gitea): Strikte Quality-Gates und sichere Token-Übergabe in Release-Workflow

This commit is contained in:
2026-10-06 12:24:33 +02:00
parent 91e2d78b4f
commit 5780c266b7
+22 -5
View File
@@ -9,15 +9,25 @@ on:
jobs: jobs:
release: release:
name: Build Packages & Publish to Gitea name: Build Packages & Publish to Gitea
# Hinweis zum Gitea act_runner:
# Standardmäßig 'ubuntu-latest'. Falls Ihr Runner unter einem anderen Label registriert ist
# (z. B. 'linux', 'ubuntu-24.04' oder 'host'), passen Sie dieses Label an.
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout Repository - name: Checkout Repository
uses: actions/checkout@v4 uses: actions/checkout@v4.2.2
- name: Install System Packaging Tools - name: Install System Packaging Tools
run: | run: |
sudo apt-get update export DEBIAN_FRONTEND=noninteractive
sudo apt-get install -y --no-install-recommends \ SUDO=""
if [ "$(id -u)" -ne 0 ]; then
if command -v sudo >/dev/null 2>&1; then
SUDO="sudo"
fi
fi
$SUDO apt-get update -y
$SUDO apt-get install -y --no-install-recommends \
build-essential \ build-essential \
pkg-config \ pkg-config \
libx11-dev \ libx11-dev \
@@ -31,11 +41,17 @@ jobs:
python3 python3
- name: Setup Rust Toolchain - name: Setup Rust Toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1 uses: actions-rust-lang/setup-rust-toolchain@v1.11.0
with: with:
toolchain: stable toolchain: stable
cache: true cache: true
- name: Code Quality & Testing (Quality Gates)
run: |
cargo fmt --check
cargo clippy --all-targets -- -D warnings
cargo test
- name: Build Release Artifacts (.deb, .AppImage, SHA256SUMS.txt) - name: Build Release Artifacts (.deb, .AppImage, SHA256SUMS.txt)
run: | run: |
chmod +x scripts/*.sh chmod +x scripts/*.sh
@@ -43,8 +59,9 @@ jobs:
- name: Publish Release to Gitea - name: Publish Release to Gitea
run: | run: |
./scripts/publish-gitea-release.sh "${{ secrets.GITEA_TOKEN || secrets.GITHUB_TOKEN }}" ./scripts/publish-gitea-release.sh
env: env:
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN || secrets.GITHUB_TOKEN }}
GITEA_SERVER: ${{ github.server_url }} GITEA_SERVER: ${{ github.server_url }}
REPO_OWNER: ${{ github.repository_owner }} REPO_OWNER: ${{ github.repository_owner }}
REPO_NAME: ${{ github.event.repository.name }} REPO_NAME: ${{ github.event.repository.name }}