diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 79e1d4d02..1e329e10d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -97,7 +97,41 @@ jobs: - name: Run tests run: cargo test --all-features - + + test-no-local: + name: Run Tests (no local feature) + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + + # install nodejs + - name: Setup Node.js + uses: actions/setup-node@v6 + with: + node-version: '20' + + - name: Install uv + uses: astral-sh/setup-uv@v7 + + - name: Install Rust + uses: dtolnay/rust-toolchain@stable + + - name: Set up Python + run: uv python install + + - name: Create venv for python + run: uv venv + + - uses: Swatinem/rust-cache@v2 + + - name: Run tests without local feature + run: | + FEATURES=$(cargo metadata --no-deps --format-version 1 \ + | jq -r '[.packages[] | select(.name == "rmcp") | .features | keys[] + | select(startswith("__") | not) + | select(. != "local")] | join(",")') + cargo test -p rmcp --features "$FEATURES" + coverage: name: Code Coverage runs-on: ubuntu-latest