Skip to content
CI/CD Inventory

galaxyproject/galaxy-mcp (opens in new tab)

3 workflows

Triggers

release workflow_dispatch

Jobs

Jobs for Release Python Package
Job Runs on Steps Actions used
tag-version ubuntu-latest 4
actions/checkout@v4
deploy ubuntu-latest 6
actions/checkout@v4 actions/setup-python@v5 astral-sh/setup-uv@v1
Raw YAML
name: Release Python Package

on:
  release:
    types: [published]
  workflow_dispatch:
    inputs:
      version:
        description: "Version to release (e.g., 0.2.0)"
        required: true
        type: string

defaults:
  run:
    working-directory: mcp-server-galaxy-py

jobs:
  tag-version:
    if: github.event_name == 'workflow_dispatch'
    runs-on: ubuntu-latest
    permissions:
      contents: write
    steps:
      - uses: actions/checkout@v4
        with:
          token: ${{ secrets.GITHUB_TOKEN }}

      - name: Configure Git
        run: |
          git config user.name github-actions
          git config user.email github-actions@github.com

      - name: Update version in pyproject.toml
        working-directory: mcp-server-galaxy-py
        run: |
          sed -i '/^\[project\]/,/^\[/ s/^version = "[^"]*"/version = "${{ inputs.version }}"/' pyproject.toml
          git add pyproject.toml
          git commit -m "Bump version to ${{ inputs.version }}"
          git push

      - name: Create tag
        run: |
          git tag -a v${{ inputs.version }} -m "Release v${{ inputs.version }}"
          git push origin v${{ inputs.version }}

  deploy:
    runs-on: ubuntu-latest
    needs: tag-version
    if: always() && (needs.tag-version.result == 'success' || github.event_name == 'release')

    steps:
      - uses: actions/checkout@v4
        with:
          ref: ${{ github.event_name == 'release' && github.event.release.tag_name || format('v{0}', inputs.version) }}

      - name: Set up Python
        uses: actions/setup-python@v5
        with:
          python-version: "3.12"

      - name: Install uv
        uses: astral-sh/setup-uv@v1

      - name: Install dependencies
        run: uv sync --all-extras

      - name: Build package
        run: uv run python -m build

      - name: Publish to PyPI
        env:
          TWINE_USERNAME: __token__
          TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
        run: |
          uv run twine upload dist/*

Last fetched:

Triggers

push pull_request workflow_dispatch

Jobs

Jobs for Python Tests
Job Runs on Steps Actions used
test ubuntu-latest 6
actions/checkout@v4 actions/setup-python@v5 astral-sh/setup-uv@v1
type-check ubuntu-latest 5
actions/checkout@v4 actions/setup-python@v5 astral-sh/setup-uv@v1
build ubuntu-latest 7
actions/checkout@v4 actions/setup-python@v5 astral-sh/setup-uv@v1 actions/upload-artifact@v4
Raw YAML
name: Python Tests

on:
  push:
    branches: [main]
    paths:
      - "mcp-server-galaxy-py/**"
      - ".github/workflows/python-tests.yml"
  pull_request:
    branches: [main]
    paths:
      - "mcp-server-galaxy-py/**"
      - ".github/workflows/python-tests.yml"
  workflow_dispatch:

defaults:
  run:
    working-directory: mcp-server-galaxy-py

jobs:
  test:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        python-version: ["3.10", "3.11", "3.12"]

    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 uv
        uses: astral-sh/setup-uv@v1

      - name: Install dependencies
        run: uv sync --all-extras

      - name: Lint with pre-commit
        run: uv run pre-commit run --all-files --show-diff-on-failure

      - name: Test with pytest
        run: |
          uv run pytest --cov=galaxy_mcp --cov-report=term-missing

  type-check:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v4

      - name: Set up Python 3.12
        uses: actions/setup-python@v5
        with:
          python-version: "3.12"

      - name: Install uv
        uses: astral-sh/setup-uv@v1

      - name: Install dependencies
        run: uv sync --all-extras

      - name: Type check with mypy
        run: uv run mypy src/galaxy_mcp

  build:
    runs-on: ubuntu-latest
    needs: [test, type-check]

    steps:
      - uses: actions/checkout@v4

      - name: Set up Python 3.12
        uses: actions/setup-python@v5
        with:
          python-version: "3.12"

      - name: Install uv
        uses: astral-sh/setup-uv@v1

      - name: Install dependencies
        run: uv sync --all-extras

      - name: Build package
        run: uv run python -m build

      - name: Check built packages
        run: |
          ls -la dist/
          uv run twine check dist/*

      - name: Upload artifacts
        uses: actions/upload-artifact@v4
        with:
          name: python-packages
          path: mcp-server-galaxy-py/dist/

Last fetched:

Triggers

push pull_request workflow_dispatch

Jobs

Jobs for Release Drafter
Job Runs on Steps Actions used
update_release_draft ubuntu-latest 1
release-drafter/release-drafter@v6
Raw YAML
name: Release Drafter

on:
  push:
    branches:
      - main
  pull_request:
    types: [opened, reopened, synchronize]
  workflow_dispatch:
    inputs:
      version:
        description: 'Override release version (e.g., v1.1.0)'
        required: false
        type: string

permissions:
  contents: read

jobs:
  update_release_draft:
    permissions:
      contents: write
      pull-requests: write
    runs-on: ubuntu-latest
    steps:
      - uses: release-drafter/release-drafter@v6
        with:
          version: ${{ inputs.version }}
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Last fetched: