Skip to content

fix: handle deleting files from smb shares #673

fix: handle deleting files from smb shares

fix: handle deleting files from smb shares #673

Workflow file for this run

name: Check
on:
push:
branches: ['main', 'master']
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
lint-typecheck-rust:
runs-on: [self-hosted, medium]
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Setup persistent cargo target dir
run: |
# Use persistent target dir outside workspace so it survives between different repo checkouts
echo "CARGO_TARGET_DIR=$HOME/.cache/cargo-target/marlin-check" >> $GITHUB_ENV
mkdir -p "$HOME/.cache/cargo-target/marlin-check"
- name: Detect files requiring checks
id: changes
uses: dorny/paths-filter@v3
with:
filters: |
check:
- 'package.json'
- 'package-lock.json'
- 'tsconfig.json'
- 'tsconfig.node.json'
- 'eslint.config.cjs'
- 'vite.config.ts'
- 'vitest.config.ts'
- 'scripts/**'
- 'src/**'
- 'src-tauri/**'
- '.github/workflows/check.yml'
- name: Skip checks
if: steps.changes.outputs.check != 'true'
run: echo "No relevant changes detected. Skipping lint/typecheck/rust checks."
- name: Install dependencies
if: steps.changes.outputs.check == 'true'
run: npm ci
- name: Create SMB sidecar placeholders
if: steps.changes.outputs.check == 'true'
run: |
# Create placeholder files for all platforms to satisfy tauri-build
# These are overwritten with real binaries during release builds
mkdir -p src-tauri/binaries
touch src-tauri/binaries/marlin-smb-x86_64-unknown-linux-gnu
touch src-tauri/binaries/marlin-smb-aarch64-unknown-linux-gnu
touch src-tauri/binaries/marlin-smb-x86_64-apple-darwin
touch src-tauri/binaries/marlin-smb-aarch64-apple-darwin
- name: Run checks
if: steps.changes.outputs.check == 'true'
run: npm run check
e2e-tests:
runs-on: [self-hosted, medium]
steps:
- uses: actions/checkout@v6
- name: Detect files requiring e2e tests
id: changes
uses: dorny/paths-filter@v3
with:
filters: |
e2e:
- 'src/**'
- 'e2e/**'
- 'playwright.config.ts'
- 'package.json'
- '.github/workflows/check.yml'
- name: Skip e2e tests
if: steps.changes.outputs.e2e != 'true'
run: echo "No relevant changes detected. Skipping e2e tests."
- name: Install dependencies
if: steps.changes.outputs.e2e == 'true'
run: npm ci
- name: Install Playwright browsers
if: steps.changes.outputs.e2e == 'true'
run: npx playwright install chromium
- name: Run e2e tests
if: steps.changes.outputs.e2e == 'true'
run: npm run test:e2e
- name: Upload test results
if: failure() && steps.changes.outputs.e2e == 'true'
uses: actions/upload-artifact@v7
with:
name: playwright-report
path: playwright-report/
retention-days: 7