Skip to content

MCP Release Watch

MCP Release Watch #45

name: MCP Release Watch
on:
workflow_dispatch:
schedule:
- cron: "15 16 * * *"
permissions:
contents: read
issues: write
concurrency:
group: mcp-release-watch-${{ github.ref }}
cancel-in-progress: false
jobs:
release-watch:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7
with:
fetch-depth: 0
persist-credentials: false
- name: Setup Node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
with:
node-version: 24.18.0
- name: Check MCP release status
env:
GITHUB_TOKEN: ${{ github.token }}
run: node scripts/check-mcp-release-due.mjs --json --output mcp-release-due.json --upsert-issue
- name: Summarize MCP release status
run: |
node <<'NODE'
const fs = require("node:fs");
const report = JSON.parse(fs.readFileSync("mcp-release-due.json", "utf8"));
const lines = [
"## MCP Release Watch",
"",
`- Due: \`${report.due}\``,
`- Proposed version: \`${report.proposedVersion}\``,
`- Latest tag: \`${report.latestTag ?? "none"}\``,
`- npm latest: \`${report.publishedVersion ?? "unknown"}\``,
`- MCP-related commits: \`${report.commits.length}\``,
];
fs.appendFileSync(process.env.GITHUB_STEP_SUMMARY, `${lines.join("\n")}\n`);
NODE