chore(deps): update pulseengine-mcp-protocol requirement from 0.11.0 to 0.13.0 #5
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] | |
| env: | |
| CARGO_TERM_COLOR: always | |
| RUST_BACKTRACE: 1 | |
| jobs: | |
| pre-commit: | |
| name: Pre-commit Checks | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: rustfmt, clippy | |
| - name: Setup Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.11" | |
| - name: Install pre-commit | |
| run: | | |
| pip install pre-commit detect-secrets | |
| pre-commit --version | |
| - name: Create secrets baseline if missing | |
| run: | | |
| if [ ! -f .secrets.baseline ]; then | |
| echo "Creating .secrets.baseline" | |
| detect-secrets scan --baseline .secrets.baseline | |
| fi | |
| - name: Run pre-commit hooks | |
| run: pre-commit run --all-files --show-diff-on-failure | |
| test: | |
| name: Test Suite | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, macos-latest, windows-latest] | |
| rust: [stable] | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: ${{ matrix.rust }} | |
| - name: Cache dependencies | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Run tests | |
| run: cargo test --all-features --workspace | |
| - name: Run doc tests | |
| run: cargo test --doc --all-features --workspace | |
| build: | |
| name: Build & Verify | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - target: x86_64-unknown-linux-gnu | |
| os: ubuntu-latest | |
| - target: x86_64-apple-darwin | |
| os: macos-13 | |
| - target: aarch64-apple-darwin | |
| os: macos-14 | |
| - target: x86_64-pc-windows-msvc | |
| os: windows-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| targets: ${{ matrix.target }} | |
| - name: Cache dependencies | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Build binary | |
| run: cargo build --release --target ${{ matrix.target }} --package template-mcp-server | |
| - name: Verify binary is executable (Unix) | |
| if: runner.os != 'Windows' | |
| run: | | |
| BINARY="target/${{ matrix.target }}/release/template-mcp-server" | |
| chmod +x "$BINARY" | |
| file "$BINARY" | |
| # Just verify it exists and is executable, don't run it | |
| # (running might require config files that don't exist in CI) | |
| ls -lh "$BINARY" | |
| echo "✓ Binary built successfully and is executable" | |
| - name: Verify binary exists (Windows) | |
| if: runner.os == 'Windows' | |
| run: | | |
| $BINARY = "target/${{ matrix.target }}/release/template-mcp-server.exe" | |
| if (Test-Path $BINARY) { | |
| Get-Item $BINARY | Format-List | |
| Write-Host "✓ Binary built successfully" | |
| } else { | |
| Write-Error "Binary not found at $BINARY" | |
| exit 1 | |
| } | |
| clippy: | |
| name: Clippy Lints | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: clippy | |
| - name: Cache dependencies | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Run clippy | |
| run: cargo clippy --all-targets --all-features --workspace -- -D warnings | |
| format: | |
| name: Formatting Check | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: rustfmt | |
| - name: Check formatting | |
| run: cargo fmt --all -- --check | |
| security: | |
| name: Security Audit | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Cache dependencies | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Install cargo-audit | |
| run: cargo install cargo-audit | |
| - name: Run security audit | |
| run: cargo audit | |
| validation: | |
| name: Template Validation | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Run validation script | |
| run: | | |
| chmod +x scripts/validate.sh | |
| ./scripts/validate.sh || echo "⚠️ Template not initialized (expected for template repo)" |