Skip to content

Marketplace plugin with 47 skills + MCP connector, bump to v0.3.0-beta.8 #12

Marketplace plugin with 47 skills + MCP connector, bump to v0.3.0-beta.8

Marketplace plugin with 47 skills + MCP connector, bump to v0.3.0-beta.8 #12

Workflow file for this run

name: Release
on:
push:
tags:
- "v*"
permissions:
contents: write
id-token: write
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.13"
- name: Install build tools
run: pip install build twine
- name: Build package
run: python -m build
- name: Verify package
run: twine check dist/*
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: dist
path: dist/
test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install and test
run: |
pip install -e ".[dev]"
pytest tests/ -v --tb=short
github-release:
needs: [build, test]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Download artifacts
uses: actions/download-artifact@v4
with:
name: dist
path: dist/
- name: Determine if prerelease
id: check
run: |
TAG_NAME="${GITHUB_REF#refs/tags/}"
if echo "$TAG_NAME" | grep -qE 'beta|rc|alpha'; then
echo "prerelease=true" >> "$GITHUB_OUTPUT"
else
echo "prerelease=false" >> "$GITHUB_OUTPUT"
fi
env:
GITHUB_REF: ${{ github.ref }}
- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
generate_release_notes: true
files: dist/*
prerelease: ${{ steps.check.outputs.prerelease == 'true' }}
pypi-publish:
needs: [build, test]
runs-on: ubuntu-latest
environment: release
permissions:
id-token: write
steps:
- name: Download artifacts
uses: actions/download-artifact@v4
with:
name: dist
path: dist/
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
npm-publish:
needs: [build, test]
runs-on: ubuntu-latest
environment: release
steps:
- uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
registry-url: "https://registry.npmjs.org"
- name: Determine npm tag
id: npm-tag
run: |
TAG_NAME="${GITHUB_REF#refs/tags/}"
if echo "$TAG_NAME" | grep -qE 'beta|rc|alpha'; then
echo "tag=beta" >> "$GITHUB_OUTPUT"
else
echo "tag=latest" >> "$GITHUB_OUTPUT"
fi
env:
GITHUB_REF: ${{ github.ref }}
- name: Publish to npm
run: npm publish --access public --tag ${{ steps.npm-tag.outputs.tag }}
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}