Skip to main content
Glama

Scenic MCP

nightly.yml5.17 kB
name: Nightly Tests on: schedule: # Run every night at 2 AM UTC - cron: '0 2 * * *' workflow_dispatch: jobs: extended-testing: name: Extended Test Suite runs-on: ubuntu-latest strategy: matrix: elixir-version: ['1.14', '1.15', '1.16'] otp-version: ['24', '25', '26', '27'] node-version: ['18', '20', '21'] exclude: # Exclude incompatible combinations - elixir-version: '1.14' otp-version: '27' steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up Elixir uses: erlef/setup-beam@v1 with: elixir-version: ${{ matrix.elixir-version }} otp-version: ${{ matrix.otp-version }} - name: Set up Node.js uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} cache: 'npm' - name: Install system dependencies run: | sudo apt-get update sudo apt-get install -y build-essential libglfw3-dev libglew-dev pkg-config - name: Install dependencies run: | mix deps.get npm ci - name: Run extended tests run: | # Run tests with different configurations export MIX_ENV=test export SCENIC_MCP_PORT=9999 export EVAL_TIMEOUT=15000 # Run all test suites npm run test:all performance-benchmarks: name: Performance Benchmarks runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up Elixir uses: erlef/setup-beam@v1 with: elixir-version: '1.15' otp-version: '26' - name: Set up Node.js uses: actions/setup-node@v4 with: node-version: '20' cache: 'npm' - name: Install system dependencies run: | sudo apt-get update sudo apt-get install -y build-essential libglfw3-dev libglew-dev pkg-config - name: Install dependencies run: | mix deps.get npm ci - name: Build project run: npm run build - name: Run performance benchmarks run: | # Start server mix run --no-halt & SERVER_PID=$! sleep 5 # Run performance tests export SCENIC_MCP_PORT=9999 export EVAL_TIMEOUT=30000 export PERFORMANCE_MODE=true npm run test:evals # Cleanup kill $SERVER_PID || true - name: Upload performance results uses: actions/upload-artifact@v3 with: name: performance-benchmarks-${{ github.run_number }} path: | performance-results.json benchmark-report.txt retention-days: 90 dependency-audit: name: Dependency Security Audit runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up Node.js uses: actions/setup-node@v4 with: node-version: '20' - name: Set up Elixir uses: erlef/setup-beam@v1 with: elixir-version: '1.15' otp-version: '26' - name: Install dependencies run: | mix deps.get npm ci - name: Audit Node dependencies run: | npm audit --audit-level=moderate npm outdated || true - name: Audit Elixir dependencies run: | mix deps.audit mix hex.outdated - name: Check for security advisories run: | # Check for known vulnerabilities if command -v retire &> /dev/null; then retire fi notify-results: name: Notify Results runs-on: ubuntu-latest needs: [extended-testing, performance-benchmarks, dependency-audit] if: always() steps: - name: Notify on failure if: needs.extended-testing.result == 'failure' || needs.performance-benchmarks.result == 'failure' || needs.dependency-audit.result == 'failure' uses: actions/github-script@v6 with: script: | github.rest.issues.create({ owner: context.repo.owner, repo: context.repo.repo, title: `Nightly Tests Failed - ${new Date().toISOString().split('T')[0]}`, body: `## 🚨 Nightly Test Failure Report The nightly test suite has detected issues: - Extended Testing: ${{ needs.extended-testing.result }} - Performance Benchmarks: ${{ needs.performance-benchmarks.result }} - Dependency Audit: ${{ needs.dependency-audit.result }} **Action Required**: Please review the failed jobs and address any issues. **Workflow Run**: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} `, labels: ['bug', 'nightly-test-failure', 'priority-high'] }); - name: Notify on success if: needs.extended-testing.result == 'success' && needs.performance-benchmarks.result == 'success' && needs.dependency-audit.result == 'success' run: | echo "✅ All nightly tests passed successfully!"

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/scenic-contrib/scenic_mcp_experimental'

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