Skip to main content
Glama
publish.yml2.35 kB
name: Publish to PyPI on: push: branches: - main paths: - 'pyproject.toml' jobs: check-version: runs-on: ubuntu-latest outputs: should_publish: ${{ steps.check.outputs.should_publish }} version: ${{ steps.check.outputs.version }} steps: - uses: actions/checkout@v4 with: fetch-depth: 2 - name: Check if version changed id: check run: | # 获取当前版本 CURRENT_VERSION=$(grep -Po '(?<=^version = ")[^"]*' pyproject.toml) echo "Current version: $CURRENT_VERSION" # 获取上一个提交的版本 git show HEAD~1:pyproject.toml > /tmp/old_pyproject.toml 2>/dev/null || echo 'version = "0.0.0"' > /tmp/old_pyproject.toml OLD_VERSION=$(grep -Po '(?<=^version = ")[^"]*' /tmp/old_pyproject.toml || echo "0.0.0") echo "Previous version: $OLD_VERSION" # 比较版本 if [ "$CURRENT_VERSION" != "$OLD_VERSION" ]; then echo "Version changed from $OLD_VERSION to $CURRENT_VERSION" echo "should_publish=true" >> $GITHUB_OUTPUT echo "version=$CURRENT_VERSION" >> $GITHUB_OUTPUT else echo "Version unchanged, skipping publish" echo "should_publish=false" >> $GITHUB_OUTPUT fi publish: needs: check-version if: needs.check-version.outputs.should_publish == 'true' runs-on: ubuntu-latest environment: pypi permissions: id-token: write contents: write steps: - uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: python-version: '3.11' - name: Install uv uses: astral-sh/setup-uv@v4 - name: Install dependencies run: uv sync - name: Build package run: uv build - name: Publish to PyPI uses: pypa/gh-action-pypi-publish@release/v1 with: password: ${{ secrets.PYPI_API_TOKEN }} - name: Create GitHub Release uses: softprops/action-gh-release@v2 with: tag_name: v${{ needs.check-version.outputs.version }} name: Release v${{ needs.check-version.outputs.version }} generate_release_notes: true env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/zengwenliang416/banana-image-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server