Skip to content

chore(deps)(deps): bump the minor-and-patch group across 1 directory with 5 updates #771

chore(deps)(deps): bump the minor-and-patch group across 1 directory with 5 updates

chore(deps)(deps): bump the minor-and-patch group across 1 directory with 5 updates #771

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@v4
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 Rust toolchain
if: steps.changes.outputs.check == 'true'
uses: dtolnay/rust-toolchain@stable
- name: Install system dependencies (Ubuntu)
if: runner.os == 'Linux' && steps.changes.outputs.check == 'true'
run: |
apt_retry() {
for attempt in 1 2 3 4 5 6 7 8 9 10 11 12; do
if sudo DEBIAN_FRONTEND=noninteractive apt-get "$@"; then
return 0
fi
echo "apt-get $* failed on attempt $attempt; retrying in 10s..." >&2
sleep 10
done
sudo DEBIAN_FRONTEND=noninteractive apt-get "$@"
}
apt_retry update
apt_retry install -y \
build-essential \
clang \
curl \
wget \
file \
xdg-utils \
libssl-dev \
libclang-dev \
libgtk-3-dev \
libayatana-appindicator3-dev \
librsvg2-dev \
pkg-config \
patchelf \
libglib2.0-bin \
libgdk-pixbuf2.0-bin \
desktop-file-utils \
shared-mime-info \
gperf
apt_retry install -y libwebkit2gtk-4.1-dev || apt_retry install -y libwebkit2gtk-4.0-dev
- 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@v4
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