[deps]: Bump vite from 7.3.1 to 8.0.3 #238
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 | |