11name : Install Linux deps
2- description : Install build and runtime deps for Tauri app on Ubuntu
2+ description : Install build and runtime deps for Tauri app on Ubuntu (with caching)
33inputs :
44 e2e :
55 description : Include E2E desktop deps (webkit2gtk-driver, xvfb, gnome-keyring)
@@ -12,19 +12,28 @@ inputs:
1212runs :
1313 using : composite
1414 steps :
15- - name : Install Linux deps
15+ # Cache apt packages to avoid re-downloading on every run
16+ - name : Cache apt packages (base)
17+ uses : awalsh128/cache-apt-pkgs-action@latest
18+ with :
19+ packages : build-essential pkg-config libglib2.0-dev libgtk-3-dev libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf libsecret-1-dev
20+ version : 1.0
21+
22+ - name : Cache apt packages (E2E)
23+ if : ${{ inputs.e2e == 'true' }}
24+ uses : awalsh128/cache-apt-pkgs-action@latest
25+ with :
26+ packages : webkit2gtk-driver xvfb gnome-keyring gsettings-desktop-schemas dbus-x11 at-spi2-core libglib2.0-bin
27+ version : 1.2
28+
29+ # Compile gsettings schemas (required after restore from cache)
30+ - name : Compile gsettings schemas
31+ if : ${{ inputs.e2e == 'true' }}
1632 shell : bash
1733 run : |
18- BASE_DEPS="build-essential pkg-config libglib2.0-dev libgtk-3-dev libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf libsecret-1-dev"
19- E2E_DEPS="webkit2gtk-driver xvfb gnome-keyring gsettings-desktop-schemas dbus-x11 at-spi2-core libglib2.0-bin"
20- sudo apt-get update
21- if [ "${{ inputs.e2e }}" = "true" ]; then
22- sudo apt-get install -y $BASE_DEPS $E2E_DEPS
23- # Compile gsettings schemas to make them available
24- sudo glib-compile-schemas /usr/share/glib-2.0/schemas/ || true
25- else
26- sudo apt-get install -y $BASE_DEPS
27- fi
34+ sudo glib-compile-schemas /usr/share/glib-2.0/schemas/ || true
35+ # Verify the schema is available
36+ gsettings list-schemas | grep -q org.gnome.system.proxy && echo "✓ org.gnome.system.proxy schema available" || echo "⚠ schema not found"
2837
2938 - name : Verify glib installation
3039 if : ${{ inputs.verify_glib == 'true' }}
0 commit comments