Skip to content

feat: implement file copy and move functionality with unique naming #38

feat: implement file copy and move functionality with unique naming

feat: implement file copy and move functionality with unique naming #38

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
jobs:
verify:
name: verify (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
# Platform-specific failures are the whole point of this matrix, so one
# runner going red must not cancel the others - we want all three reports.
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
cache: npm
- run: npm ci --legacy-peer-deps
# Several suites transitively import `electron`, and its index.js downloads
# the binary on first require. Parallel vitest workers racing that download
# corrupt the extract on macOS (EEXIST on the Electron Framework symlink),
# so do it once, serially, up front. Idempotent - exits early if present.
- name: Install Electron binary
shell: bash
run: |
for attempt in 1 2 3; do
npm run install-electron && exit 0
if [ "$attempt" -eq 3 ]; then exit 1; fi
echo "Electron download failed (attempt $attempt/3); retrying in 10 seconds..."
sleep 10
done
- run: npm run typecheck
- run: npm test