fix(ci): install Tauri system dependencies in nightly containers
Some checks failed
Test / frontend-typecheck (pull_request) Successful in 1m24s
Test / frontend-tests (pull_request) Successful in 1m27s
PR Review Automation / review (pull_request) Successful in 3m49s
Test / rust-fmt-check (pull_request) Successful in 10m51s
Test / rust-clippy (pull_request) Failing after 11m57s
Test / rust-tests (pull_request) Failing after 12m4s

Fix for dbus-1 and webkit build errors:
'Package dbus-1 was not found in the pkg-config search path'

**Problem:**
rustlang/rust:nightly is a minimal image with only rustc/cargo.
Tauri requires system libraries: webkit2gtk, dbus, gtk, ssl, etc.
Without these, cargo build fails with missing pkg-config packages.

**Solution:**
Added system dependency installation step to all Rust jobs:
- libwebkit2gtk-4.1-dev (WebView)
- libdbus-1-dev (D-Bus IPC)
- libgtk-3-dev (GTK UI)
- libayatana-appindicator3-dev (System tray)
- librsvg2-dev (SVG rendering)
- libssl-dev (OpenSSL)
- pkg-config (Build tool)

**Changed Jobs:**
- rust-fmt-check: Added system deps before rustfmt
- rust-clippy: Added system deps before clippy
- rust-tests: Added system deps before tests

**Why Each Job Needs Deps:**
All jobs run 'cargo' commands which trigger dependency builds.
Even 'cargo fmt' can trigger builds if dependencies aren't cached.
System libraries must be present for Tauri crates to compile.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
Shaun Arman 2026-06-05 16:47:59 -05:00
parent 87194a4f84
commit ff9c22f569

View File

@ -35,6 +35,16 @@ jobs:
apt-get update && apt-get install -y curl apt-get update && apt-get install -y curl
curl -fsSL https://deb.nodesource.com/setup_22.x | bash - curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
apt-get install -y nodejs apt-get install -y nodejs
- name: Install system dependencies
run: |
apt-get update && apt-get install -y \
libwebkit2gtk-4.1-dev \
libssl-dev \
libgtk-3-dev \
libayatana-appindicator3-dev \
librsvg2-dev \
libdbus-1-dev \
pkg-config
- name: Install Rust components - name: Install Rust components
run: rustup component add rustfmt run: rustup component add rustfmt
- name: Install dependencies - name: Install dependencies
@ -67,6 +77,16 @@ jobs:
echo "Fetched fallback ref: master" echo "Fetched fallback ref: master"
fi fi
git checkout FETCH_HEAD git checkout FETCH_HEAD
- name: Install system dependencies
run: |
apt-get update && apt-get install -y \
libwebkit2gtk-4.1-dev \
libssl-dev \
libgtk-3-dev \
libayatana-appindicator3-dev \
librsvg2-dev \
libdbus-1-dev \
pkg-config
- name: Install clippy - name: Install clippy
run: rustup component add clippy run: rustup component add clippy
- run: cargo clippy --manifest-path src-tauri/Cargo.toml -- -D warnings - run: cargo clippy --manifest-path src-tauri/Cargo.toml -- -D warnings
@ -94,6 +114,16 @@ jobs:
echo "Fetched fallback ref: master" echo "Fetched fallback ref: master"
fi fi
git checkout FETCH_HEAD git checkout FETCH_HEAD
- name: Install system dependencies
run: |
apt-get update && apt-get install -y \
libwebkit2gtk-4.1-dev \
libssl-dev \
libgtk-3-dev \
libayatana-appindicator3-dev \
librsvg2-dev \
libdbus-1-dev \
pkg-config
- run: cargo test --manifest-path src-tauri/Cargo.toml -- --test-threads=1 - run: cargo test --manifest-path src-tauri/Cargo.toml -- --test-threads=1
- name: Run shell module tests - name: Run shell module tests