Skip to content

Prepare ShellCanvas 0.1.15: saved login, file operations and UI polish #4

Prepare ShellCanvas 0.1.15: saved login, file operations and UI polish

Prepare ShellCanvas 0.1.15: saved login, file operations and UI polish #4

name: Verify Linux and macOS app frames
on:
pull_request:
branches: [main]
paths:
- 'src-tauri/src/extension_frames.rs'
- 'src-tauri/src/native_ipc.rs'
- 'scripts/run-extension-probe.mjs'
- 'tests/fixtures/native-frame-probe*'
- '.github/workflows/native-app-frame-probe.yml'
permissions:
contents: read
jobs:
native-isolation:
strategy:
fail-fast: false
matrix:
include:
- runner: ubuntu-22.04
platform: linux
- runner: macos-15
platform: macos
runs-on: ${{ matrix.runner }}
steps:
- uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
- uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6
with:
node-version: 24
cache: npm
- name: Linux prerequisites
if: matrix.platform == 'linux'
run: |
sudo apt-get update
sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf libssl-dev libsecret-1-dev xvfb dbus-x11
- run: npm ci
- name: Build the dedicated native probe
run: npm run tauri -- build --debug --no-bundle --config src-tauri/tauri.extension-probe.conf.json
- name: Exercise app frame isolation
env:
PLATFORM: ${{ matrix.platform }}
run: |
if [ "$PLATFORM" = linux ]; then
xvfb-run -a dbus-run-session -- node scripts/run-extension-probe.mjs
else
node scripts/run-extension-probe.mjs
fi