Skip to main content
Glama
bbernstein
by bbernstein
contract-tests.yml2.19 kB
name: Contract Tests on: pull_request: paths: - 'src/**' - 'codegen.yml' - 'package.json' - '.github/workflows/contract-tests.yml' push: branches: [main] jobs: contract-tests: runs-on: ubuntu-latest timeout-minutes: 15 steps: - name: Checkout MCP repo uses: actions/checkout@v6 - name: Checkout backend repo (lacylights-go) uses: actions/checkout@v6 with: repository: bbernstein/lacylights-go path: backend - name: Setup Go uses: actions/setup-go@v5 with: go-version: '1.24' cache-dependency-path: backend/go.sum - name: Build backend working-directory: backend run: go build -o lacylights-server ./cmd/server - name: Start backend server working-directory: backend run: | # Start the Go backend server in the background ARTNET_ENABLED=false \ DATABASE_PATH=":memory:" \ PORT=4000 \ ./lacylights-server & # Wait for server to be ready echo "Waiting for backend server to start..." for i in {1..30}; do if curl -s http://localhost:4000/graphql > /dev/null 2>&1; then echo "Backend server is ready!" exit 0 fi echo "Attempt $i/30: Server not ready yet, waiting..." sleep 2 done echo "Backend failed to start within 60 seconds" exit 1 - name: Setup Node.js uses: actions/setup-node@v6 with: node-version: '20' cache: 'npm' - name: Install MCP dependencies run: npm ci - name: Run GraphQL codegen env: GRAPHQL_ENDPOINT: http://localhost:4000/graphql run: npm run codegen - name: Run contract tests env: GRAPHQL_ENDPOINT: http://localhost:4000/graphql run: npm run test:contracts - name: Upload test results if: always() uses: actions/upload-artifact@v5 with: name: contract-test-results path: coverage/ retention-days: 7

Latest Blog Posts

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/bbernstein/lacylights-mcp'

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