feat(desktop): add Bazel-only Loopal Desktop workbench #612
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] | |
| jobs: | |
| build-and-test: | |
| name: Build & Test (${{ matrix.os }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, macos-latest, windows-latest] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install system dependencies (Linux) | |
| if: runner.os == 'Linux' | |
| run: sudo apt-get update && sudo apt-get install -y libssl-dev pkg-config bubblewrap | |
| - name: Setup Bazel | |
| uses: bazel-contrib/setup-bazel@0.14.0 | |
| with: | |
| bazelisk-cache: true | |
| disk-cache: ${{ github.ref == 'refs/heads/main' && 'bazel-disk' || '' }} | |
| repository-cache: true | |
| - name: Build | |
| run: bazel build //... | |
| - name: Test | |
| run: bazel test //... --config=ci | |
| lint: | |
| name: Lint | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install system dependencies | |
| run: sudo apt-get update && sudo apt-get install -y libssl-dev pkg-config | |
| - name: Setup Bazel | |
| uses: bazel-contrib/setup-bazel@0.14.0 | |
| with: | |
| bazelisk-cache: true | |
| disk-cache: ${{ github.ref == 'refs/heads/main' && 'bazel-disk-lint' || '' }} | |
| repository-cache: true | |
| - name: Clippy check | |
| run: bazel build //... --config=clippy | |
| - name: Rustfmt check | |
| run: bazel build //... --config=rustfmt | |
| desktop-e2e: | |
| name: Desktop E2E | |
| runs-on: macos-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Bazel | |
| uses: bazel-contrib/setup-bazel@0.14.0 | |
| with: | |
| bazelisk-cache: true | |
| repository-cache: true | |
| - name: Electron UI and real Loopal Host E2E | |
| run: >- | |
| bazel test | |
| //apps/desktop:e2e | |
| //apps/desktop:e2e_host | |
| //apps/desktop:e2e_llm_backend | |
| --test_tag_filters=e2e | |
| --test_output=errors | |
| - name: Optimized sidecar staging smoke | |
| run: bazel test //apps/desktop:staging_smoke -c opt --test_output=errors | |
| - name: Build desktop distribution | |
| run: bazel build //apps/desktop:dist -c opt |