Skip to content

Commit 6ae6c09

Browse files
author
Mohammod Al Amin Ashik
committed
rename ci
1 parent 4a4245f commit 6ae6c09

6 files changed

Lines changed: 30 additions & 19 deletions

File tree

.github/workflows/ci.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -243,11 +243,11 @@ jobs:
243243
retention-days: 7
244244

245245
# ─────────────────────────────────────────────────────────────
246-
# E2E Tests (Full Tauri with WebDriver - Linux/Windows only)
246+
# E2E Tests (Desktop app with WebDriver - Linux/Windows only)
247247
# macOS not supported: no WKWebView driver
248248
# Only runs on main branch or when [e2e] in commit message
249249
# ─────────────────────────────────────────────────────────────
250-
e2e-tauri:
250+
e2e-desktop:
251251
needs: [build]
252252
# Run on main, or when explicitly requested with [e2e] tag
253253
if: github.ref == 'refs/heads/main' || contains(github.event.head_commit.message, '[e2e]')
@@ -287,7 +287,7 @@ jobs:
287287

288288
- uses: Swatinem/rust-cache@v2
289289
with:
290-
key: ${{ matrix.os }}-e2e
290+
key: ${{ matrix.os }}-e2e-desktop
291291
env:
292292
PKG_CONFIG_PATH: /usr/lib/x86_64-linux-gnu/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig
293293

@@ -313,10 +313,10 @@ jobs:
313313
PKG_CONFIG_PATH: /usr/lib/x86_64-linux-gnu/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig
314314
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
315315

316-
- name: Run Tauri E2E tests (Linux)
316+
- name: Run desktop E2E tests (Linux)
317317
if: matrix.os == 'ubuntu-latest'
318318
run: xvfb-run --auto-servernum pnpm test:e2e
319319

320-
- name: Run Tauri E2E tests (Windows)
320+
- name: Run desktop E2E tests (Windows)
321321
if: matrix.os == 'windows-latest'
322322
run: pnpm test:e2e
Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
# Run Tauri E2E tests when someone comments /e2e-tauri on a PR.
2-
# Usage: Add a comment "/e2e-tauri" on any PR to trigger desktop E2E tests.
1+
# Run desktop app E2E tests when someone comments /e2e-desktop on a PR.
2+
# Usage: Add a comment "/e2e-desktop" on any PR to trigger desktop E2E tests.
33

4-
name: E2E Tauri (Comment Trigger)
4+
name: E2E Desktop (Comment Trigger)
55

66
on:
77
issue_comment:
@@ -11,11 +11,11 @@ env:
1111
PKG_CONFIG_PATH: /usr/lib/x86_64-linux-gnu/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig
1212

1313
jobs:
14-
e2e-tauri:
15-
# Only run when comment on a PR contains /e2e-tauri
14+
e2e-desktop:
15+
# Only run when comment on a PR contains /e2e-desktop
1616
if: |
1717
github.event.issue.pull_request != null &&
18-
contains(github.event.comment.body, '/e2e-tauri')
18+
contains(github.event.comment.body, '/e2e-desktop')
1919
strategy:
2020
fail-fast: false
2121
matrix:
@@ -50,7 +50,7 @@ jobs:
5050
if: matrix.os == 'ubuntu-latest'
5151
run: |
5252
sudo apt-get update
53-
sudo apt-get install -y build-essential pkg-config libglib2.0-dev libgtk-3-dev libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf libsecret-1-dev webkit2gtk-driver xvfb
53+
sudo apt-get install -y build-essential pkg-config libglib2.0-dev libgtk-3-dev libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf libsecret-1-dev webkit2gtk-driver xvfb gnome-keyring
5454
echo "=== Verifying glib-2.0 installation ==="
5555
dpkg -l | grep libglib2.0-dev || echo "libglib2.0-dev not installed"
5656
find /usr -name 'glib-2.0.pc' 2>/dev/null || echo "glib-2.0.pc not found"
@@ -64,7 +64,7 @@ jobs:
6464

6565
- uses: Swatinem/rust-cache@v2
6666
with:
67-
key: ${{ matrix.os }}-e2e-comment
67+
key: ${{ matrix.os }}-e2e-desktop-comment
6868
env:
6969
PKG_CONFIG_PATH: /usr/lib/x86_64-linux-gnu/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig
7070

@@ -95,10 +95,11 @@ jobs:
9595
PKG_CONFIG_PATH: /usr/lib/x86_64-linux-gnu/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig
9696
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
9797

98-
- name: Run Tauri E2E tests (Linux)
98+
- name: Run desktop E2E tests (Linux)
9999
if: matrix.os == 'ubuntu-latest'
100-
run: xvfb-run --auto-servernum pnpm test:e2e
100+
run: |
101+
dbus-run-session -- bash -c 'gnome-keyring-daemon --unlock < /dev/null; sleep 2; xvfb-run --auto-servernum pnpm test:e2e'
101102
102-
- name: Run Tauri E2E tests (Windows)
103+
- name: Run desktop E2E tests (Windows)
103104
if: matrix.os == 'windows-latest'
104105
run: pnpm test:e2e

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@
2020
- [Node.js](https://nodejs.org/) 18+
2121
- [pnpm](https://pnpm.io/) 9+
2222

23+
**Linux system dependencies** (for credential storage via Secret Service):
24+
- `gnome-keyring` (or another `org.freedesktop.secrets` implementation like KWallet on KDE)
25+
2326
### Development
2427

2528
```bash

apps/desktop/src-tauri/tauri.conf.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,11 +82,11 @@
8282
"bundleMediaFramework": false
8383
},
8484
"deb": {
85-
"depends": [],
85+
"depends": ["libsecret-1-0", "gnome-keyring", "librsvg2-2"],
8686
"desktopTemplate": "linux/mcpmux.desktop"
8787
},
8888
"rpm": {
89-
"depends": []
89+
"depends": ["libsecret", "gnome-keyring", "librsvg2"]
9090
}
9191
}
9292
}

tests/e2e/README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ cargo install tauri-driver --locked
3333
# Add msedgedriver.exe to PATH
3434

3535
# Linux:
36-
sudo apt-get install webkit2gtk-driver
36+
sudo apt-get install webkit2gtk-driver gnome-keyring
37+
# gnome-keyring provides Secret Service API (org.freedesktop.secrets) for credential storage
3738

3839
# macOS: NOT SUPPORTED (no WKWebView driver)
3940
```

tests/e2e/wdio.conf.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -247,6 +247,12 @@ export const config: Options.Testrunner = {
247247

248248
// Verify prerequisites before running
249249
onPrepare: async function () {
250+
// Create output directories (gitignored; needed for CI and fresh clones)
251+
const screenshotsDir = path.resolve('./tests/e2e/screenshots');
252+
const videosDir = path.resolve('./tests/e2e/videos');
253+
fs.mkdirSync(screenshotsDir, { recursive: true });
254+
fs.mkdirSync(videosDir, { recursive: true });
255+
250256
// Verify tauri-driver is installed
251257
const hasTauriDriver = checkTauriDriver();
252258
if (!hasTauriDriver) {

0 commit comments

Comments
 (0)