Skip to main content
Glama

Sentry MCP

Official
by getsentry
smoke-tests.yml4.53 kB
name: Smoke Tests (Local) permissions: contents: read checks: write on: push: branches: [main] pull_request: jobs: smoke-tests: name: Run Smoke Tests Against Local Server runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: "20" # pnpm/action-setup@v4 - uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda name: Install pnpm with: run_install: false - name: Get pnpm store directory shell: bash run: | echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV - uses: actions/cache@v4 name: Setup pnpm cache with: path: ${{ env.STORE_PATH }} key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}-pnpm-store- - name: Install dependencies run: pnpm install --no-frozen-lockfile - name: Build run: pnpm build - name: Start local dev server working-directory: packages/mcp-cloudflare run: | # Start wrangler in background and capture output pnpm exec wrangler dev --port 8788 --local > wrangler.log 2>&1 & WRANGLER_PID=$! echo "WRANGLER_PID=$WRANGLER_PID" >> $GITHUB_ENV echo "Waiting for server to start (PID: $WRANGLER_PID)..." # Wait for server to be ready (up to 2 minutes) MAX_ATTEMPTS=24 ATTEMPT=0 while [ $ATTEMPT -lt $MAX_ATTEMPTS ]; do # Check if wrangler process is still running if ! kill -0 $WRANGLER_PID 2>/dev/null; then echo "❌ Wrangler process died unexpectedly!" echo "📋 Last 50 lines of wrangler.log:" tail -50 wrangler.log exit 1 fi if curl -s -f -o /dev/null http://localhost:8788/; then echo "✅ Server is ready!" echo "📋 Wrangler startup log:" cat wrangler.log break else echo "⏳ Waiting for server to start (attempt $((ATTEMPT+1))/$MAX_ATTEMPTS)..." # Show partial log every 5 attempts if [ $((ATTEMPT % 5)) -eq 0 ] && [ $ATTEMPT -gt 0 ]; then echo "📋 Current wrangler.log output:" tail -20 wrangler.log fi fi ATTEMPT=$((ATTEMPT+1)) sleep 5 done if [ $ATTEMPT -eq $MAX_ATTEMPTS ]; then echo "❌ Server failed to start after $MAX_ATTEMPTS attempts" echo "📋 Full wrangler.log:" cat wrangler.log exit 1 fi - name: Run smoke tests against local server env: PREVIEW_URL: http://localhost:8788 working-directory: packages/smoke-tests run: | echo "🧪 Running smoke tests against local server at $PREVIEW_URL" # Give server a bit more time to stabilize after startup echo "⏳ Waiting 5 seconds for server to stabilize..." sleep 5 # Verify server is still responding before running tests if ! curl -s -f -o /dev/null http://localhost:8788/; then echo "❌ Server is not responding before tests!" echo "📋 Wrangler log:" cat ../mcp-cloudflare/wrangler.log exit 1 fi echo "✅ Server is responding, running tests..." pnpm test:ci || TEST_EXIT_CODE=$? # If tests failed, show server logs for debugging if [ "${TEST_EXIT_CODE:-0}" -ne 0 ]; then echo "❌ Tests failed with exit code ${TEST_EXIT_CODE}" echo "📋 Wrangler log at time of failure:" cat ../mcp-cloudflare/wrangler.log exit ${TEST_EXIT_CODE} fi - name: Publish Smoke Test Report uses: mikepenz/action-junit-report@cf701569b05ccdd861a76b8607a66d76f6fd4857 if: always() with: report_paths: "packages/smoke-tests/tests.junit.xml" check_name: "Local Smoke Test Results" fail_on_failure: true - name: Stop local server if: always() run: | if [ ! -z "$WRANGLER_PID" ]; then kill $WRANGLER_PID || true fi

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/getsentry/sentry-mcp'

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