Skip to content

feat: add initial VocaGateway MCP server #3

feat: add initial VocaGateway MCP server

feat: add initial VocaGateway MCP server #3

Workflow file for this run

name: Quality
on:
push:
branches: [main]
pull_request:
branches: [main]
types: [opened, synchronize, reopened, ready_for_review]
workflow_dispatch:
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
jobs:
quality:
if: github.event_name != 'pull_request' || !github.event.pull_request.draft
runs-on: ubuntu-24.04
timeout-minutes: 10
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0
with:
enable-cache: true
python-version: '3.12'
- run: uv sync --locked --all-groups
- run: uv run ruff check .
- run: uv run ruff format --check .
- run: uv run pytest
- name: Build and install wheel
run: |
uv build --wheel --out-dir dist
uv venv /tmp/vocagateway-mcp-wheel --python 3.12
uv pip install \
--python /tmp/vocagateway-mcp-wheel/bin/python \
dist/*.whl
- name: Smoke-test installed MCP server
run: >-
uv run python scripts/smoke_stdio.py
/tmp/vocagateway-mcp-wheel/bin/vocagateway-mcp
container:
if: github.event_name != 'pull_request' || !github.event.pull_request.draft
runs-on: ubuntu-24.04
timeout-minutes: 10
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- uses: docker/setup-buildx-action@bb05f3f5519dd87d3ba754cc423b652a5edd6d2c # v4.2.0
- name: Build MCP image
run: |
docker buildx build \
--tag vocagateway-mcp:test \
--cache-from type=gha,scope=vocagateway-mcp \
--cache-to type=gha,mode=max,scope=vocagateway-mcp \
--output type=cacheonly \
.