mcp-perplexity
by daniel-lxs
Verified
- mcp-perplexity
- .github
- workflows
name: Release and Publish
on:
push:
branches:
- main
permissions:
contents: write
actions: write
id-token: write
jobs:
release:
runs-on: ubuntu-latest
outputs:
released: ${{ steps.release.outputs.released }}
version: ${{ steps.release.outputs.version }}
concurrency: release
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.x"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install build "python-semantic-release>=8.0.0,<9.0.0"
- name: Build package
run: python -m build
- name: Python Semantic Release
id: release
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
git config --global user.name "github-actions"
git config --global user.email "action@github.com"
semantic-release version
# Publish to GitHub with release notes
semantic-release publish
- name: Store the distribution packages
uses: actions/upload-artifact@v4
with:
name: python-package-distributions
path: dist/
retention-days: 5
if-no-files-found: error
publish:
needs: [release]
if: needs.release.outputs.released == 'true'
runs-on: ubuntu-latest
environment:
name: pypi
url: https://pypi.org/p/mcp-perplexity
permissions:
id-token: write
steps:
- name: Download built distributions
uses: actions/download-artifact@v4
with:
name: python-package-distributions
path: dist/
- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
packages-dir: dist/
verbose: true