Skip to content

feat: Enhance system dependency installation in Tauri CI to skip miss… #4

feat: Enhance system dependency installation in Tauri CI to skip miss…

feat: Enhance system dependency installation in Tauri CI to skip miss… #4

Workflow file for this run

name: Tauri CI
on:
push:
branches: [main, master]
pull_request:
branches: [main, master]
jobs:
tauri:
name: Tauri build and tests
runs-on: ubuntu-latest
env:
PKG_CONFIG_PATH: /usr/lib/x86_64-linux-gnu/pkgconfig:/usr/lib/pkgconfig
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "18"
- name: Install Node dependencies
run: npm ci
- name: Build web assets
run: npm run build --if-present
- name: Install system dependencies (skip missing packages)
run: |
sudo apt-get update
set -euo pipefail
PACKAGES=(
pkg-config
libglib2.0-dev
libgtk-3-dev
libgdk-pixbuf2.0-dev
libsecret-1-dev
libwebkit2gtk-4.0-dev
)
for pkg in "${PACKAGES[@]}"; do
if apt-cache show "$pkg" >/dev/null 2>&1; then
echo "Installing $pkg"
sudo apt-get install -y --no-install-recommends "$pkg"
else
echo "Package $pkg not found in apt repositories; skipping."
fi
done
echo "PKG_CONFIG_PATH=$PKG_CONFIG_PATH"
if pkg-config --exists gdk-3.0; then
echo "pkg-config: gdk-3.0 found"
else
echo "pkg-config: gdk-3.0 NOT found"
echo "Available pkg-config search paths:" && pkg-config --variable pc_path pkg-config || true
fi
- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
- name: Build Tauri (Rust)
working-directory: src-tauri
run: cargo build --verbose
- name: Run Rust tests
working-directory: src-tauri
run: cargo test --verbose