generate-upload-dxt-cypher.yml•2.04 kB
name: MCP Neo4j Cypher Generate and Upload DXT File
on:
push:
tags:
- mcp-neo4j-cypher-v*
workflow_dispatch: # Allows manual triggering of the workflow
inputs:
release_tag:
description: 'Release tag to add .dxt file to (e.g., mcp-neo4j-cypher-v1.0.0)'
required: true
type: string
permissions:
contents: write
jobs:
generate-dxt:
runs-on: ubuntu-latest
steps:
- name: Determine tag name
id: tag
run: |
if [ "${{ github.event_name }}" = "push" ]; then
TAG_NAME="${{ github.ref_name }}"
echo "Tag from push event: $TAG_NAME"
else
TAG_NAME="${{ github.event.inputs.release_tag }}"
echo "Tag from manual input: $TAG_NAME"
fi
echo "tag_name=$TAG_NAME" >> $GITHUB_OUTPUT
- name: Checkout code at specific tag
uses: actions/checkout@v4
with:
ref: ${{ steps.tag.outputs.tag_name }}
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version-file: "servers/mcp-neo4j-cypher/pyproject.toml"
- name: Install uv
uses: astral-sh/setup-uv@v5
- name: Setup Node.js for dxt
uses: actions/setup-node@v4
with:
node-version: '18'
- name: Install Anthropic dxt
run: npm install -g @anthropic-ai/dxt@0.2.0
- name: Setup Python environment and dependencies with uv
run: |
cd servers/mcp-neo4j-cypher/
uv sync
# Install the package in development mode
uv pip install -e .
- name: Generate .dxt file
run: |
cd servers/mcp-neo4j-cypher/
echo "Running dxt pack with uv..."
uv run dxt pack .
- name: Upload .dxt file to release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh release upload "${{ steps.tag.outputs.tag_name }}" \
servers/mcp-neo4j-cypher/*.dxt \
--clobber