Skip to content

Fix function calling in get_shift_handoff_report #69

Fix function calling in get_shift_handoff_report

Fix function calling in get_shift_handoff_report #69

Workflow file for this run

name: Tests
on: [push, pull_request]
jobs:
local-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v3
- run: uv python install 3.12 && uv sync --dev
# Fast local validation
- name: Code quality checks
run: |
uv run ruff check .
uv run pyright
- name: Unit tests
run: uv run pytest tests/unit/ --cov=src/rootly_mcp_server --cov-report=xml
- name: Local integration tests
env:
ROOTLY_API_TOKEN: ${{ secrets.ROOTLY_API_TOKEN }}
run: uv run pytest tests/integration/local/ -x
- name: Upload coverage
uses: codecov/codecov-action@v4
with:
file: ./coverage.xml
container-tests:
runs-on: ubuntu-latest
needs: local-tests
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v3
- run: uv python install 3.12 && uv sync --dev
# Build and run the Docker container
- name: Build Docker image
run: docker build -t rootly-mcp-server .
- name: Start MCP server container
env:
ROOTLY_API_TOKEN: ${{ secrets.ROOTLY_API_TOKEN }}
run: |
docker run -d \
--name rootly-mcp-server \
-p 8000:8000 \
-e ROOTLY_API_TOKEN="${ROOTLY_API_TOKEN}" \
rootly-mcp-server
# Wait for container to be ready
- name: Wait for container startup
run: |
echo "⏳ Waiting for container to start..."
timeout 30s bash -c 'until curl -f http://localhost:8000/health || curl -f http://localhost:8000/; do sleep 2; done'
echo "✅ Container is ready!"
# Test the containerized server
- name: Test containerized MCP server
env:
ROOTLY_API_TOKEN: ${{ secrets.ROOTLY_API_TOKEN }}
MCP_SERVER_URL: "http://localhost:8000"
run: uv run pytest tests/integration/remote/test_essential.py -v --timeout=60
# Cleanup
- name: Stop container
if: always()
run: docker stop rootly-mcp-server && docker rm rootly-mcp-server