mirror of
https://github.com/aljazceru/mcp-python-sdk.git
synced 2025-12-19 14:54:24 +01:00
PyPI release workflow
This commit is contained in:
29
.github/workflows/check-format.yml
vendored
29
.github/workflows/check-format.yml
vendored
@@ -1,29 +0,0 @@
|
|||||||
name: ruff
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches: [main]
|
|
||||||
pull_request:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
format:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Install uv
|
|
||||||
uses: astral-sh/setup-uv@v3
|
|
||||||
with:
|
|
||||||
enable-cache: true
|
|
||||||
|
|
||||||
- name: "Set up Python"
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
with:
|
|
||||||
python-version-file: ".python-version"
|
|
||||||
|
|
||||||
- name: Install the project
|
|
||||||
run: uv sync --frozen --all-extras --dev
|
|
||||||
|
|
||||||
- name: Run ruff format check
|
|
||||||
run: uv run --frozen ruff check .
|
|
||||||
29
.github/workflows/check-types.yml
vendored
29
.github/workflows/check-types.yml
vendored
@@ -1,29 +0,0 @@
|
|||||||
name: typecheck
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches: [main]
|
|
||||||
pull_request:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
typecheck:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Install uv
|
|
||||||
uses: astral-sh/setup-uv@v3
|
|
||||||
with:
|
|
||||||
enable-cache: true
|
|
||||||
|
|
||||||
- name: "Set up Python"
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
with:
|
|
||||||
python-version-file: ".python-version"
|
|
||||||
|
|
||||||
- name: Install the project
|
|
||||||
run: uv sync --frozen --all-extras --dev
|
|
||||||
|
|
||||||
- name: Run pyright
|
|
||||||
run: uv run --frozen pyright
|
|
||||||
9
.github/workflows/main-checks.yml
vendored
Normal file
9
.github/workflows/main-checks.yml
vendored
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
name: Main branch checks
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [main]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
checks:
|
||||||
|
uses: ./.github/workflows/shared.yml
|
||||||
29
.github/workflows/main.yml
vendored
29
.github/workflows/main.yml
vendored
@@ -1,29 +0,0 @@
|
|||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
|
|
||||||
pull_request:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Install uv
|
|
||||||
uses: astral-sh/setup-uv@v3
|
|
||||||
with:
|
|
||||||
enable-cache: true
|
|
||||||
|
|
||||||
- name: "Set up Python"
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
with:
|
|
||||||
python-version-file: ".python-version"
|
|
||||||
|
|
||||||
- name: Install the project
|
|
||||||
run: uv sync --frozen --all-extras --dev
|
|
||||||
|
|
||||||
- name: Run pytest
|
|
||||||
run: uv run --frozen pytest
|
|
||||||
55
.github/workflows/publish-pypi.yml
vendored
Normal file
55
.github/workflows/publish-pypi.yml
vendored
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
name: Publishing
|
||||||
|
|
||||||
|
on:
|
||||||
|
release:
|
||||||
|
types: [published]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
release-build:
|
||||||
|
name: Build distribution
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: [checks]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Install uv
|
||||||
|
uses: astral-sh/setup-uv@v3
|
||||||
|
|
||||||
|
- name: "Set up Python"
|
||||||
|
uses: actions/setup-python@v5
|
||||||
|
with:
|
||||||
|
python-version-file: ".python-version"
|
||||||
|
|
||||||
|
- name: Install the project
|
||||||
|
run: uv sync --frozen --all-extras --dev
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: uv build
|
||||||
|
|
||||||
|
- name: Upload artifacts
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: release-dists
|
||||||
|
path: dist/
|
||||||
|
|
||||||
|
checks:
|
||||||
|
uses: ./.github/workflows/shared.yml
|
||||||
|
|
||||||
|
pypi-publish:
|
||||||
|
name: Upload release to PyPI
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
environment: release
|
||||||
|
needs:
|
||||||
|
- release-build
|
||||||
|
permissions:
|
||||||
|
id-token: write # IMPORTANT: this permission is mandatory for trusted publishing
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Retrieve release distributions
|
||||||
|
uses: actions/download-artifact@v4
|
||||||
|
with:
|
||||||
|
name: release-dists
|
||||||
|
path: dist/
|
||||||
|
|
||||||
|
- name: Publish package distributions to PyPI
|
||||||
|
uses: pypa/gh-action-pypi-publish@release/v1
|
||||||
8
.github/workflows/pull-request-checks.yml
vendored
Normal file
8
.github/workflows/pull-request-checks.yml
vendored
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
name: Pull request checks
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
checks:
|
||||||
|
uses: ./.github/workflows/shared.yml
|
||||||
69
.github/workflows/shared.yml
vendored
Normal file
69
.github/workflows/shared.yml
vendored
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
name: Shared Checks
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_call:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
format:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Install uv
|
||||||
|
uses: astral-sh/setup-uv@v3
|
||||||
|
with:
|
||||||
|
enable-cache: true
|
||||||
|
|
||||||
|
- name: "Set up Python"
|
||||||
|
uses: actions/setup-python@v5
|
||||||
|
with:
|
||||||
|
python-version-file: ".python-version"
|
||||||
|
|
||||||
|
- name: Install the project
|
||||||
|
run: uv sync --frozen --all-extras --dev
|
||||||
|
|
||||||
|
- name: Run ruff format check
|
||||||
|
run: uv run --frozen ruff check .
|
||||||
|
|
||||||
|
typecheck:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Install uv
|
||||||
|
uses: astral-sh/setup-uv@v3
|
||||||
|
with:
|
||||||
|
enable-cache: true
|
||||||
|
|
||||||
|
- name: "Set up Python"
|
||||||
|
uses: actions/setup-python@v5
|
||||||
|
with:
|
||||||
|
python-version-file: ".python-version"
|
||||||
|
|
||||||
|
- name: Install the project
|
||||||
|
run: uv sync --frozen --all-extras --dev
|
||||||
|
|
||||||
|
- name: Run pyright
|
||||||
|
run: uv run --frozen pyright
|
||||||
|
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Install uv
|
||||||
|
uses: astral-sh/setup-uv@v3
|
||||||
|
with:
|
||||||
|
enable-cache: true
|
||||||
|
|
||||||
|
- name: "Set up Python"
|
||||||
|
uses: actions/setup-python@v5
|
||||||
|
with:
|
||||||
|
python-version-file: ".python-version"
|
||||||
|
|
||||||
|
- name: Install the project
|
||||||
|
run: uv sync --frozen --all-extras --dev
|
||||||
|
|
||||||
|
- name: Run pytest
|
||||||
|
run: uv run --frozen pytest
|
||||||
Reference in New Issue
Block a user