Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .claude/skills/pr-risk-scoring/score_prs.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
approvals_csv Optional CSV with columns: pr_number,approvals
"""

# Standard
import csv
import json
import os
Expand Down Expand Up @@ -167,7 +168,7 @@ def compute_security_score(files, labels):
return min(score, 5)


PROD_PREFIXES = ("mcpgateway/", "plugins/", "plugins_rust/", "a2a-agents/", "mcp-servers/", "tools_rust/")
PROD_PREFIXES = ("mcpgateway/", "plugins/", "a2a-agents/", "mcp-servers/", "tools_rust/")


def compute_test_score(files):
Expand Down
1 change: 0 additions & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
/mcpgateway/plugins @araujof @terylt @jonpspri

# Rust projects
/plugins_rust/ @lucarlig @dima-zakharov
/tools_rust/ @lucarlig @dima-zakharov
/mcp-servers/rust/ @lucarlig @dima-zakharov

Expand Down
24 changes: 4 additions & 20 deletions .github/workflows/pytest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -83,31 +83,17 @@ jobs:
python-version: ${{ matrix.python }}

# -----------------------------------------------------------
# 2.5 Setup Rust toolchain for Rust plugins
# Note: Rust plugin builds removed - all plugins now distributed as PyPI packages
# Rust MCP runtime (tools_rust/mcp_runtime) not needed for main pytest suite
# (e2e_rust tests are excluded and run in separate workflow)
# -----------------------------------------------------------
- name: 🦀 Install Rust stable
run: rustup default stable

- name: 📦 Cache Cargo dependencies
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
with:
path: |
~/.cargo/registry
~/.cargo/git
plugins_rust/*/target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-

- name: 🔨 Build Rust plugins (clean, install, verify stubs)
run: make rust-clean-stubs && make rust-install && make rust-verify-stubs

# -----------------------------------------------------------
# 3️⃣ Run the tests with coverage (fail under 95 %total coverage)
# -----------------------------------------------------------
- name: 🧪 Run pytest
run: |
uv run pytest -n auto \
uv run --extra plugins pytest -n auto \
--durations=5 \
--ignore=tests/fuzz \
--ignore=tests/e2e/test_entra_id_integration.py \
Expand All @@ -117,8 +103,6 @@ jobs:
--cov-report=term \
--cov-branch \
--cov-fail-under=95
env:
REQUIRE_RUST: "1"

# -----------------------------------------------------------
# 3.5 Diff-cover: enforce 93% coverage on changed lines (PRs only)
Expand Down
297 changes: 0 additions & 297 deletions .github/workflows/rust-plugins.yml

This file was deleted.

5 changes: 0 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -262,11 +262,6 @@ uv.lock
.uv-cache/
.uv-tmp/

# ========================================
# Rust (plugins_rust)
# ========================================
plugins_rust/target/
plugins_rust/*/target/
*.rs.bk

# ========================================
Expand Down
3 changes: 1 addition & 2 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ repos:
- id: detect-private-key
name: 🔐 Detect Private Key
description: Detects the presence of private keys.
exclude: (mcpgateway/utils/generate_keys|tests/unit/mcpgateway/utils/test_generate_keys|tests/unit/mcpgateway/plugins/framework/external/mcp/test_tls_utils)\.py|plugins_rust/secrets_detection/examples/heavy_workload\.rs|plugins_rust/secrets_detection/src/scanner\.rs|plugins_rust/secrets_detection/src/patterns\.rs
exclude: (mcpgateway/utils/generate_keys|tests/unit/mcpgateway/utils/test_generate_keys|tests/unit/mcpgateway/plugins/framework/external/mcp/test_tls_utils)\.py
types: [text]

# -----------------------------------------------------------------------------
Expand Down Expand Up @@ -248,7 +248,6 @@ repos:
name: ✅ Check Shebang Scripts Are Executable
description: Ensures that (non-binary) files with a shebang are executable.
types: [text]
exclude: plugins_rust/secrets_detection/compare_performance\.py
stages: [pre-commit, pre-push, manual]

- id: forbid-new-submodules
Expand Down
Loading
Loading