feat(web): add restore-from-backup UI for Tauri desktop #147
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: 'Fluxby PR Check' | |
| on: | |
| pull_request: | |
| branches: [main, develop] | |
| push: | |
| branches: [main, develop] | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| # Fast checks - runs on every PR | |
| lint-test: | |
| name: Lint, Typecheck & Test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v7 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v7 | |
| with: | |
| node-version: '22' | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build packages (required for typecheck) | |
| run: npm run build:packages | |
| - name: Lint | |
| run: npm run lint | |
| - name: Type check | |
| run: npm run typecheck | |
| - name: Run tests with coverage | |
| run: npm run test:coverage | |
| - name: Upload coverage to Codecov | |
| uses: codecov/codecov-action@v7 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| files: ./coverage/coverage-final.json | |
| fail_ci_if_error: false | |
| verbose: true | |
| # Check which paths changed for conditional Tauri builds | |
| changes: | |
| name: Detect Changes | |
| runs-on: ubuntu-latest | |
| outputs: | |
| tauri: ${{ steps.filter.outputs.tauri }} | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v7 | |
| - name: Check for Tauri-related changes | |
| uses: dorny/paths-filter@v4 | |
| id: filter | |
| with: | |
| filters: | | |
| tauri: | |
| - 'apps/tauri/**' | |
| - 'apps/web/**' | |
| - 'packages/**' | |
| - '.github/workflows/fluxby-release.yml' | |
| - '.github/workflows/fluxby-pr-check.yml' | |
| # Tauri build check - only for relevant paths | |
| tauri-build: | |
| name: Tauri Build (${{ matrix.platform }}) | |
| needs: [lint-test, changes] | |
| if: needs.changes.outputs.tauri == 'true' | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| platform: [macos-latest, ubuntu-22.04, windows-latest] | |
| runs-on: ${{ matrix.platform }} | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v7 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v7 | |
| with: | |
| node-version: '22' | |
| cache: 'npm' | |
| - name: Install Rust stable | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| toolchain: stable | |
| - name: Install Linux dependencies | |
| if: matrix.platform == 'ubuntu-22.04' | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y \ | |
| libwebkit2gtk-4.1-dev \ | |
| libappindicator3-dev \ | |
| librsvg2-dev \ | |
| patchelf \ | |
| libssl-dev | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build packages | |
| run: npm run build:packages | |
| - name: Build web app | |
| run: npm run build:web | |
| - name: Check Rust compilation | |
| working-directory: apps/tauri | |
| run: cargo check | |
| - name: Build Tauri app (debug) | |
| working-directory: apps/tauri | |
| run: npx tauri build --debug --config tauri.debug.conf.json |