Skip to main content
Glama
docker-publish.yml3.35 kB
name: Docker Publish on: push: tags: - "v*.*.*" workflow_dispatch: inputs: tag: description: "Docker image tag" required: false default: "latest" env: DOCKER_IMAGE: digitaldefiance/mcp-debugger-server PLATFORMS: linux/amd64,linux/arm64 jobs: build-and-test: name: Build and Test Docker Image runs-on: ubuntu-latest permissions: contents: read security-events: write steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Build Docker image (test) uses: docker/build-push-action@v5 with: context: . file: Dockerfile.local push: false load: true tags: ${{ env.DOCKER_IMAGE }}:test cache-from: type=gha cache-to: type=gha,mode=max - name: Test Docker image run: | docker run --rm ${{ env.DOCKER_IMAGE }}:test node --version docker run --rm ${{ env.DOCKER_IMAGE }}:test node dist/src/cli.js --help || true - name: Scan image for vulnerabilities uses: aquasecurity/trivy-action@master with: image-ref: ${{ env.DOCKER_IMAGE }}:test format: "sarif" output: "trivy-results.sarif" severity: "CRITICAL,HIGH" - name: Upload Trivy results to GitHub Security uses: github/codeql-action/upload-sarif@v3 if: always() with: sarif_file: "trivy-results.sarif" publish: name: Publish Docker Image needs: build-and-test runs-on: ubuntu-latest if: startsWith(github.ref, 'refs/tags/') steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up QEMU uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Log in to Docker Hub uses: docker/login-action@v3 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_TOKEN }} - name: Extract metadata id: meta uses: docker/metadata-action@v5 with: images: ${{ env.DOCKER_IMAGE }} tags: | type=ref,event=branch type=ref,event=pr type=semver,pattern={{version}} type=semver,pattern={{major}}.{{minor}} type=semver,pattern={{major}} type=raw,value=latest,enable={{is_default_branch}} - name: Build and push Docker image uses: docker/build-push-action@v5 with: context: . file: Dockerfile platforms: ${{ env.PLATFORMS }} push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} cache-from: type=gha cache-to: type=gha,mode=max provenance: true sbom: true - name: Update Docker Hub description uses: peter-evans/dockerhub-description@v4 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_TOKEN }} repository: ${{ env.DOCKER_IMAGE }} readme-filepath: ./README.md short-description: "Enterprise-grade MCP server for Node.js and TypeScript debugging"

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/Digital-Defiance/mcp-debugger-server'

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