From 6c9ec9a05f34687f0196575b9584a0ea29826403 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Forment?= Date: Fri, 30 Jan 2026 20:34:34 +0100 Subject: [PATCH] Feat: extend CI to cover desktop --- .github/workflows/ci.yml | 37 ++++++++++++++++++++++++++++++++----- 1 file changed, 32 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8e8246d..728f4bd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -56,7 +56,8 @@ jobs: if: runner.os == 'Linux' run: | sudo apt-get update - sudo apt-get install -y build-essential cmake pkg-config libasound2-dev libclang-dev libjack-dev + sudo apt-get install -y build-essential cmake pkg-config libasound2-dev libclang-dev libjack-dev \ + libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxkbcommon-dev libssl-dev libgl1-mesa-dev - name: Install dependencies (macOS) if: runner.os == 'macOS' @@ -71,6 +72,9 @@ jobs: - name: Build run: cargo build --release --target ${{ matrix.target }} + - name: Build desktop + run: cargo build --release --features desktop --bin cagire-desktop --target ${{ matrix.target }} + - name: Run tests run: cargo test --target ${{ matrix.target }} @@ -91,6 +95,20 @@ jobs: name: ${{ matrix.artifact }} path: target/${{ matrix.target }}/release/cagire.exe + - name: Upload desktop artifact (Unix) + if: runner.os != 'Windows' + uses: actions/upload-artifact@v4 + with: + name: ${{ matrix.artifact }}-desktop + path: target/${{ matrix.target }}/release/cagire-desktop + + - name: Upload desktop artifact (Windows) + if: runner.os == 'Windows' + uses: actions/upload-artifact@v4 + with: + name: ${{ matrix.artifact }}-desktop + path: target/${{ matrix.target }}/release/cagire-desktop.exe + release: needs: build if: startsWith(github.ref, 'refs/tags/v') @@ -110,10 +128,19 @@ jobs: mkdir -p release for dir in artifacts/*/; do name=$(basename "$dir") - if [ -f "$dir/cagire.exe" ]; then - cp "$dir/cagire.exe" "release/${name}.exe" - elif [ -f "$dir/cagire" ]; then - cp "$dir/cagire" "release/${name}" + if [[ "$name" == *-desktop ]]; then + base="${name%-desktop}" + if [ -f "$dir/cagire-desktop.exe" ]; then + cp "$dir/cagire-desktop.exe" "release/${base}-desktop.exe" + elif [ -f "$dir/cagire-desktop" ]; then + cp "$dir/cagire-desktop" "release/${base}-desktop" + fi + else + if [ -f "$dir/cagire.exe" ]; then + cp "$dir/cagire.exe" "release/${name}.exe" + elif [ -f "$dir/cagire" ]; then + cp "$dir/cagire" "release/${name}" + fi fi done