OpenPyXL MCP Server

by jonemo
Verified
name: Release New Version on: workflow_dispatch: inputs: version: description: "Version number (e.g. 1.2.3)" required: true type: string permissions: contents: write # required for creating releases jobs: build: runs-on: ${{ matrix.os }} strategy: matrix: os: [windows-latest, macos-latest] include: - os: windows-latest artifact_name: openpyxl_mcp_server.exe - os: macos-latest artifact_name: openpyxl_mcp_server steps: - uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: python-version: "3.13" - name: Install dependencies run: | python -m pip install --upgrade pip pip install -r requirements.txt pip install -r requirements-dev.txt - name: Build executable run: | pyinstaller openpyxl_mcp_server.spec - name: Sign macOS executable if: matrix.os == 'macos-latest' run: | codesign --force --deep --sign - dist/openpyxl_mcp_server - name: Upload artifact uses: actions/upload-artifact@v4 with: name: ${{ matrix.artifact_name }} path: ./dist/${{ matrix.artifact_name }} release: needs: build runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 # Because the gh tool requires a repo. gh used here because the official action/create-release is deprecated since 2021. - name: Download Windows artifact uses: actions/download-artifact@v4 with: name: openpyxl_mcp_server.exe path: ./dist - name: Download macOS artifact uses: actions/download-artifact@v4 with: name: openpyxl_mcp_server path: ./dist - name: Create Release and Upload Assets env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | gh release create v${{ inputs.version }} \ --title "v${{ inputs.version }}" \ --notes "Release v${{ inputs.version }}" \ ./dist/openpyxl_mcp_server.exe \ ./dist/openpyxl_mcp_server