Skip to content

chore(deps): bump cryptography from 46.0.5 to 46.0.6 in the pip group across 1 directory #53

chore(deps): bump cryptography from 46.0.5 to 46.0.6 in the pip group across 1 directory

chore(deps): bump cryptography from 46.0.5 to 46.0.6 in the pip group across 1 directory #53

Workflow file for this run

name: CI
on:
push:
branches: [master]
pull_request:
branches: [master]
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- run: pip install -e ".[dev]"
- run: ruff check src/ tests/
test:
needs: lint
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10", "3.12"]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- run: pip install -e ".[dev,monitoring]"
- run: pytest tests/ -v --cov=matlab_mcp --cov-report=xml --cov-report=term-missing
- uses: codecov/codecov-action@v4
if: matrix.python-version == '3.12'
with:
files: coverage.xml
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: false
security:
needs: lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- run: pip install -e ".[dev,monitoring]"
- run: pip-audit
continue-on-error: true
build:
needs: test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- run: pip install build twine
- run: python -m build
- run: twine check dist/*
- uses: actions/upload-artifact@v4
with:
name: dist
path: dist/
test-windows:
needs: lint
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [windows-2022, windows-latest]
python-version: ["3.10", "3.12"]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Run install.bat
shell: cmd
run: |
call install.bat < nul
- name: Verify MCP server module loads
shell: cmd
run: |
call .venv\Scripts\activate.bat
python -c "from matlab_mcp.server import main; print('OK: server module loads')"
- name: Verify monitoring subpackage
shell: cmd
run: |
call .venv\Scripts\activate.bat
python -c "from matlab_mcp.monitoring.collector import MetricsCollector; print('OK: monitoring loads')"
- name: Run tests (no MATLAB engine)
shell: cmd
run: |
call .venv\Scripts\activate.bat
pip install pytest pytest-asyncio pytest-cov --quiet
pytest tests/ -v -k "not matlab" --ignore=tests/test_integration.py -W ignore::pytest.PytestUnraisableExceptionWarning
docker:
needs: lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: docker build -t matlab-mcp:test .
- name: Smoke-test container health endpoint
run: |
docker run -d --name mcp-test \
-e MATLAB_MCP_SERVER_TRANSPORT=sse \
-e MATLAB_MCP_MONITORING_ENABLED=true \
-p 8765:8765 \
matlab-mcp:test
# The server will crash on pool start (no MATLAB engine in CI).
# curl will fail; || true prevents the step from failing.
# Goal: verify the image builds and the ENTRYPOINT is valid.
sleep 5
curl --retry 5 --retry-delay 2 --retry-connrefused \
http://localhost:8765/health || true
docker logs mcp-test
docker stop mcp-test || true
docker rm mcp-test || true