blob: f106cccb82ba5141e803c3176ec922c2463cd207 [file]
name: MCP server tests
on:
push:
branches: ["main"]
paths:
- "mcp/**"
- "scripts/check-licenses.mjs"
- ".github/workflows/mcp-tests.yml"
pull_request:
paths:
- "mcp/**"
- "scripts/check-licenses.mjs"
- ".github/workflows/mcp-tests.yml"
permissions: {}
jobs:
test:
name: ${{ matrix.project }} on Node ${{ matrix.node-version }}
runs-on: ubuntu-latest
timeout-minutes: 10
permissions:
contents: read
strategy:
fail-fast: false
matrix:
project: ["ponymail-mcp", "apache-projects-mcp"]
node-version: ["20", "22"]
defaults:
run:
working-directory: mcp/${{ matrix.project }}
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Set up Node.js ${{ matrix.node-version }}
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with:
node-version: ${{ matrix.node-version }}
- name: Install dependencies
run: npm ci
- name: Run tests
run: npm test
- name: Check dependency licenses
run: npm run licenses