Skip to content

[deps]: Bump vite from 7.3.1 to 8.0.3 #238

[deps]: Bump vite from 7.3.1 to 8.0.3

[deps]: Bump vite from 7.3.1 to 8.0.3 #238

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
permissions:
contents: read
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
jobs:
# ─────────────────────────────────────────────
# Validate: type-check, lint, format, tests, build
# ─────────────────────────────────────────────
validate:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v4
- name: Setup Node.js
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v4
with:
node-version: '22'
cache: 'npm'
- name: Cache Electron binary
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v4
with:
path: |
~/.cache/electron
~/.cache/electron-builder
key: electron-${{ runner.os }}-${{ hashFiles('package-lock.json') }}
restore-keys: |
electron-${{ runner.os }}-
- name: Cache Go binaries
id: go-bin-cache
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v4
with:
path: resources/bin/linux
key: go-binaries-linux-${{ hashFiles('scripts/binary-versions.json') }}
- name: Setup Go
if: steps.go-bin-cache.outputs.cache-hit != 'true'
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5
with:
go-version: '1.24'
- name: Build Go binaries from source
if: steps.go-bin-cache.outputs.cache-hit != 'true'
run: bash scripts/build-binaries-from-source.sh linux
- name: Install dependencies
run: npm ci
- name: Type check
run: npm run type-check
- name: Lint
run: npm run lint
- name: Format check
run: npm run format:check
- name: Test coverage
run: npm run test:coverage 2>&1 | tail -30
- name: Upload coverage report
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: coverage-report
path: coverage/
retention-days: 30
if-no-files-found: ignore
- name: Verify build compiles
run: npm run build
- name: Security audit
run: npm audit --audit-level=critical
# ─────────────────────────────────────────────
# Notify: Telegram (push to main only)
# ─────────────────────────────────────────────
notify:
needs: validate
runs-on: ubuntu-latest
if: always() && github.event_name == 'push'
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v4
with:
fetch-depth: 2
- name: Send Telegram notification
env:
TELEGRAM_BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }}
TELEGRAM_CHAT_ID: '-1003461541563'
VALIDATE_RESULT: ${{ needs.validate.result }}
run: |
if [ -z "$TELEGRAM_BOT_TOKEN" ]; then
echo "Telegram bot token not configured, skipping"
exit 0
fi
COMMIT_TITLE=$(git log -1 --pretty=format:'%s')
COMMIT_DESC=$(git log -1 --pretty=format:'%b' | head -20)
COMMIT_SHA=$(git rev-parse --short HEAD)
COMMIT_URL="${{ github.server_url }}/${{ github.repository }}/commit/${{ github.sha }}"
TEXT="<b>[Desktop] ${COMMIT_TITLE}</b>"
if [ -n "$COMMIT_DESC" ]; then
printf -v TEXT '%s\n\n%s' "$TEXT" "$COMMIT_DESC"
fi
printf -v TEXT '%s\n\n<a href="%s">View commit %s</a>' "$TEXT" "$COMMIT_URL" "$COMMIT_SHA"
curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage" \
-d chat_id="${TELEGRAM_CHAT_ID}" \
-d parse_mode="HTML" \
-d disable_web_page_preview="true" \
-d text="${TEXT}"
# ─────────────────────────────────────────────
# Dependency review (PRs only)
# ─────────────────────────────────────────────
dependency-review:
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v4
- name: Dependency review
uses: actions/dependency-review-action@2031cfc080254a8a887f58cffee85186f0e49e48 # v4.9.0