| 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 |