fix: format v0.23.2 release files #1039
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: | |
| pull_request: | |
| paths-ignore: | |
| - "**/*.md" | |
| - "docs/**" | |
| push: | |
| branches: | |
| - main | |
| paths-ignore: | |
| - "**/*.md" | |
| - "docs/**" | |
| concurrency: | |
| group: ci-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| detect_changes: | |
| name: Detect changed areas | |
| runs-on: ubuntu-24.04 | |
| outputs: | |
| browser_tests: ${{ steps.filter.outputs.browser_tests }} | |
| desktop_pipeline: ${{ steps.filter.outputs.desktop_pipeline }} | |
| desktop_windows: ${{ steps.filter.outputs.desktop_windows }} | |
| release_smoke: ${{ steps.filter.outputs.release_smoke }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - id: filter | |
| name: Classify changed files | |
| uses: dorny/paths-filter@v3 | |
| with: | |
| filters: | | |
| browser_tests: | |
| - 'apps/web/**' | |
| - 'apps/server/**' | |
| - 'packages/contracts/**' | |
| - 'packages/shared/**' | |
| - 'package.json' | |
| - 'bun.lock' | |
| - 'turbo.json' | |
| - 'vitest.config.ts' | |
| - 'apps/web/vitest.browser.config.ts' | |
| - 'apps/web/vite.config.ts' | |
| desktop_pipeline: | |
| - 'apps/desktop/**' | |
| - 'apps/server/**' | |
| - 'packages/contracts/**' | |
| - 'packages/shared/**' | |
| - 'scripts/build-desktop-artifact.ts' | |
| - 'package.json' | |
| - 'bun.lock' | |
| - 'turbo.json' | |
| desktop_windows: | |
| - 'apps/desktop/**' | |
| - 'apps/server/**' | |
| - 'packages/contracts/**' | |
| - 'packages/shared/**' | |
| - 'scripts/build-desktop-artifact.ts' | |
| - 'package.json' | |
| - 'bun.lock' | |
| - 'turbo.json' | |
| release_smoke: | |
| - '.github/workflows/release.yml' | |
| - '.github/workflows/release-ios.yml' | |
| - 'scripts/release-smoke.ts' | |
| - 'scripts/build-desktop-artifact.ts' | |
| - 'scripts/update-release-package-versions.ts' | |
| - 'package.json' | |
| - 'bun.lock' | |
| quality: | |
| name: Format, Lint, Typecheck, Test, Optional Browser/Desktop | |
| needs: detect_changes | |
| runs-on: blacksmith-4vcpu-ubuntu-2404 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version-file: package.json | |
| - name: Setup Node | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version-file: package.json | |
| - name: Cache Bun and Turbo | |
| uses: actions/cache@v5 | |
| with: | |
| path: | | |
| ~/.bun/install/cache | |
| .turbo | |
| key: ${{ runner.os }}-bun-${{ hashFiles('bun.lock') }}-${{ hashFiles('turbo.json') }} | |
| restore-keys: | | |
| ${{ runner.os }}-bun-${{ hashFiles('bun.lock') }}- | |
| - name: Cache Playwright browsers | |
| uses: actions/cache@v5 | |
| with: | |
| path: ~/.cache/ms-playwright | |
| key: ${{ runner.os }}-playwright-${{ hashFiles('bun.lock') }} | |
| restore-keys: | | |
| ${{ runner.os }}-playwright- | |
| - name: Install dependencies | |
| run: bun install --frozen-lockfile | |
| - name: Format | |
| run: bun run fmt:check | |
| - name: Lint | |
| run: bun run lint | |
| - name: Typecheck | |
| run: bun run typecheck | |
| - name: Test | |
| run: bun run test | |
| - name: Install browser test runtime | |
| if: needs.detect_changes.outputs.browser_tests == 'true' | |
| run: | | |
| cd apps/web | |
| bunx playwright install --with-deps chromium | |
| - name: Browser test | |
| if: needs.detect_changes.outputs.browser_tests == 'true' | |
| run: bun run --cwd apps/web test:browser | |
| - name: Build desktop pipeline | |
| if: needs.detect_changes.outputs.desktop_pipeline == 'true' | |
| run: bun run build:desktop | |
| - name: Verify preload bundle output | |
| if: needs.detect_changes.outputs.desktop_pipeline == 'true' | |
| run: | | |
| test -f apps/desktop/dist-electron/preload.js | |
| grep -nE "desktopBridge|getWsUrl|PICK_FOLDER_CHANNEL|wsUrl" apps/desktop/dist-electron/preload.js | |
| desktop_windows: | |
| name: Windows Desktop Build | |
| needs: detect_changes | |
| if: needs.detect_changes.outputs.desktop_windows == 'true' | |
| runs-on: windows-2022 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version-file: package.json | |
| - name: Setup Node | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version-file: package.json | |
| - name: Cache Bun, Turbo, and electron-builder | |
| uses: actions/cache@v5 | |
| with: | |
| path: | | |
| ~/.bun/install/cache | |
| ~\AppData\Local\electron-builder\Cache | |
| .turbo | |
| key: ${{ runner.os }}-desktop-${{ hashFiles('bun.lock') }}-${{ hashFiles('turbo.json') }} | |
| restore-keys: | | |
| ${{ runner.os }}-desktop-${{ hashFiles('bun.lock') }}- | |
| - name: Install dependencies | |
| run: bun install --frozen-lockfile | |
| - name: Build Windows desktop artifact | |
| run: bun run dist:desktop:artifact -- --platform win --target nsis --arch x64 --verbose | |
| - name: Upload Windows desktop artifact | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: desktop-windows-x64 | |
| path: | | |
| release/*.exe | |
| release/*.exe.blockmap | |
| release/builder-debug.yml | |
| if-no-files-found: error | |
| release_smoke: | |
| name: Release Smoke | |
| needs: detect_changes | |
| if: needs.detect_changes.outputs.release_smoke == 'true' | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version-file: package.json | |
| - name: Setup Node | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version-file: package.json | |
| - name: Exercise release-only workflow steps | |
| run: node scripts/release-smoke.ts |