File tree Expand file tree Collapse file tree 4 files changed +115
-13
lines changed Expand file tree Collapse file tree 4 files changed +115
-13
lines changed Original file line number Diff line number Diff line change 11name : Publish (PyPI + MCP Registry)
22
33on :
4- push :
5- tags :
6- - " v*"
74 workflow_dispatch :
85
96concurrency :
Original file line number Diff line number Diff line change 1+ name : Publish MCP Registry
2+
3+ on :
4+ workflow_dispatch :
5+ workflow_run :
6+ workflows : ["Build"] # exact name of workflow 1
7+ types :
8+ - completed
9+ push :
10+ tags :
11+ - " v*"
12+
13+ concurrency :
14+ group : publish-${{ github.ref }}
15+ cancel-in-progress : true
16+
17+ jobs :
18+ registry :
19+ name : Publish to MCP Registry
20+ runs-on : ubuntu-latest
21+ permissions :
22+ contents : read
23+ id-token : write # REQUIRED for MCP Registry GitHub OIDC login
24+ steps :
25+ - name : Checkout
26+ uses : actions/checkout@v4
27+
28+ - name : Install MCP Publisher
29+ run : |
30+ set -e
31+ OS=$(uname -s | tr '[:upper:]' '[:lower:]')
32+ ARCH=$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/')
33+ curl -L "https://github.com/modelcontextprotocol/registry/releases/download/v1.0.0/mcp-publisher_1.0.0_${OS}_${ARCH}.tar.gz" \
34+ | tar xz mcp-publisher
35+
36+ - name : Login to MCP Registry (OIDC)
37+ run : ./mcp-publisher login github-oidc
38+
39+ - name : Publish server.json to MCP Registry
40+ run : ./mcp-publisher publish
Original file line number Diff line number Diff line change 1+ name : Publish to PyPI Only
2+
3+ on :
4+ workflow_dispatch :
5+ push :
6+ tags :
7+ - " v*"
8+
9+ concurrency :
10+ group : publish-pypi-${{ github.ref }}
11+ cancel-in-progress : true
12+
13+ jobs :
14+ pypi :
15+ name : Publish to PyPI
16+ runs-on : ubuntu-latest
17+ permissions :
18+ contents : read
19+ id-token : write # REQUIRED for PyPI Trusted Publishing (OIDC)
20+ steps :
21+ - name : Checkout
22+ uses : actions/checkout@v4
23+
24+ - name : Set up Python
25+ uses : actions/setup-python@v5
26+ with :
27+ python-version : " 3.12"
28+
29+ - name : Install uv
30+ run : pipx install uv
31+
32+ # --- Optional checks (keep for now; can be moved to PR CI later) ---
33+ - name : Sync deps
34+ run : uv sync
35+
36+ - name : Ruff lint
37+ run : uvx ruff check .
38+
39+ - name : Ruff format check
40+ run : uvx ruff format --check .
41+
42+ - name : Run tests (if present)
43+ run : |
44+ if [ -d tests ]; then
45+ uv run pytest -q
46+ else
47+ echo "No tests/ directory; skipping."
48+ fi
49+
50+ # --- Build artifacts for PyPI ---
51+ - name : Build sdist & wheel
52+ run : uv build
53+
54+ # --- Publish using Trusted Publishing (no tokens) ---
55+ - name : Publish to PyPI
56+ uses : pypa/gh-action-pypi-publish@release/v1
57+ with :
58+ packages-dir : dist
59+ # For a dress rehearsal, you can set:
60+ # repository-url: https://test.pypi.org/legacy/
Original file line number Diff line number Diff line change 11{
2- "$schema" : " https://static.modelcontextprotocol.io/schemas/2025-07-09 /server.schema.json" ,
2+ "$schema" : " https://static.modelcontextprotocol.io/schemas/2025-09-29 /server.schema.json" ,
33 "name" : " io.github.robotmcp/ros-mcp-server" ,
44 "description" : " Connect AI models like Claude & ChatGPT with ROS robots using MCP" ,
5+ "repository" : {
6+ "url" : " https://github.com/robotmcp/ros-mcp-server" ,
7+ "source" : " github"
8+ },
59 "version" : " 2.1.5" ,
610 "packages" : [
711 {
8- "registry_type" : " pypi" ,
12+ "registryType" : " pypi" ,
13+ "registryBaseUrl" : " https://pypi.org" ,
914 "identifier" : " ros-mcp" ,
10- "version" : " 2.1.5"
15+ "version" : " 2.1.5" ,
16+ "transport" : {
17+ "type" : " stdio" ,
18+ "command" : " ros-mcp" ,
19+ "args" : []
20+ }
1121 }
12- ],
13- "transport" : {
14- "type" : " stdio" ,
15- "command" : " ros-mcp" ,
16- "args" : []
17- }
18- }
22+ ]
23+ }
You can’t perform that action at this time.
0 commit comments