Skip to content

Commit ebf1eb1

Browse files
author
Mohammod Al Amin Ashik
committed
adds changesets
1 parent 3fb770a commit ebf1eb1

3 files changed

Lines changed: 39 additions & 12 deletions

File tree

.changeset/major-sites-matter.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@mcpmux/desktop': patch
3+
---
4+
5+
Release test

.github/actions/install-linux-deps/action.yml

Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: 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)
33
inputs:
44
e2e:
55
description: Include E2E desktop deps (webkit2gtk-driver, xvfb, gnome-keyring)
@@ -12,19 +12,28 @@ inputs:
1212
runs:
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' }}

tests/e2e/wdio.conf.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -315,6 +315,19 @@ export const config: Options.Testrunner = {
315315
// Stop tauri-driver after the session
316316
afterSession: function () {
317317
closeTauriDriver();
318+
319+
// Clear single-instance lock to prevent conflicts between test workers
320+
// On Linux: ~/.local/share/com.mcpmux.desktop/.single-instance-lock
321+
// On Windows: %LOCALAPPDATA%\com.mcpmux.desktop\.single-instance-lock
322+
try {
323+
const lockFilePath = path.join(APP_DATA_DIR, '.single-instance-lock');
324+
if (fs.existsSync(lockFilePath)) {
325+
fs.unlinkSync(lockFilePath);
326+
console.log('[e2e] Cleared single-instance lock');
327+
}
328+
} catch (error) {
329+
console.warn('[e2e] Failed to clear single-instance lock:', error);
330+
}
318331
},
319332

320333
// Clean up mock servers after all tests complete

0 commit comments

Comments
 (0)