Skip to main content
Glama
test.yml4.87 kB
name: Test Suite on: push: branches: - main - develop pull_request: branches: - main - develop jobs: test-plugin: name: Test tauri-plugin-mcp-bridge runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-22.04, windows-latest, macos-latest] steps: - name: Checkout code uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: "lts/*" cache: "npm" - name: Install Rust stable uses: dtolnay/rust-toolchain@stable - name: Install dependencies (Ubuntu only) if: matrix.os == 'ubuntu-22.04' run: | sudo apt-get update sudo apt-get install -y libglib2.0-dev libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf - name: Cache Rust dependencies uses: actions/cache@v4 with: path: | ~/.cargo/bin/ ~/.cargo/registry/index/ ~/.cargo/registry/cache/ ~/.cargo/git/db/ target/ key: ${{ runner.os }}-cargo-plugin-${{ hashFiles('**/Cargo.lock') }} - name: Install npm dependencies run: npm ci - name: Build TypeScript bindings run: | cd packages/tauri-plugin-mcp-bridge npm run build - name: Run Rust tests run: | cd packages/tauri-plugin-mcp-bridge cargo test --all-features - name: Check Rust formatting run: | cd packages/tauri-plugin-mcp-bridge cargo fmt -- --check - name: Run Clippy run: | cd packages/tauri-plugin-mcp-bridge cargo clippy -- -D warnings test-server: name: Test @hypothesi/tauri-mcp-server runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest, windows-latest, macos-latest] node: ["20", "24"] steps: - name: Checkout code uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: ${{ matrix.node }} - name: Install server dependencies only run: npm ci --workspace=@hypothesi/tauri-mcp-server --include-workspace-root - name: Build server run: npm run build --workspace=@hypothesi/tauri-mcp-server - name: Run unit tests run: npm run test:unit --workspace=@hypothesi/tauri-mcp-server - name: Type check run: npx tsc --noEmit --project packages/mcp-server/tsconfig.json test-app: name: Build test-app runs-on: ${{ matrix.platform }} strategy: fail-fast: false matrix: include: - platform: macos-latest args: "--target aarch64-apple-darwin" - platform: ubuntu-22.04 args: "" - platform: windows-latest args: "" steps: - name: Checkout code uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: "lts/*" cache: "npm" - name: Install Rust stable uses: dtolnay/rust-toolchain@stable with: targets: ${{ matrix.platform == 'macos-latest' && 'aarch64-apple-darwin' || '' }} - name: Install dependencies (Ubuntu only) if: matrix.platform == 'ubuntu-22.04' run: | sudo apt-get update sudo apt-get install -y libglib2.0-dev libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf - name: Cache Rust dependencies uses: actions/cache@v4 with: path: | ~/.cargo/bin/ ~/.cargo/registry/index/ ~/.cargo/registry/cache/ ~/.cargo/git/db/ target/ key: ${{ runner.os }}-cargo-test-app-${{ hashFiles('**/Cargo.lock') }} - name: Install npm dependencies run: npm ci - name: Build plugin first run: | cd packages/tauri-plugin-mcp-bridge npm run build - name: Build test app with tauri-action uses: tauri-apps/tauri-action@v0 with: projectPath: packages/test-app args: ${{ matrix.args }} lint-and-standards: name: Lint and Standards Check runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: "20" cache: "npm" - name: Install dependencies run: npm ci - name: Run ESLint run: npm run eslint all-tests-pass: name: All Tests Pass needs: [test-plugin, test-server, test-app, lint-and-standards] runs-on: ubuntu-latest steps: - name: Success run: echo "All tests passed successfully!"

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hypothesi/mcp-server-tauri'

If you have feedback or need assistance with the MCP directory API, please join our Discord server