Add MCP depth-axis and curve-fill editing tools #69
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| pull_request: | |
| push: | |
| permissions: | |
| contents: read | |
| jobs: | |
| quality: | |
| name: Quality | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.14" | |
| - name: Set up uv | |
| uses: astral-sh/setup-uv@v7 | |
| with: | |
| enable-cache: true | |
| cache-suffix: quality-py3.14 | |
| - name: Verify lockfile | |
| run: uv lock --check | |
| - name: Sync environment | |
| run: uv sync --locked | |
| - name: Run Ruff | |
| run: uv run ruff format --check . | |
| - name: Run Ruff lint | |
| run: uv run ruff check . | |
| tests: | |
| name: Tests (Python ${{ matrix.python-version }}) | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ["3.11", "3.12", "3.13", "3.14"] | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Set up uv | |
| uses: astral-sh/setup-uv@v7 | |
| with: | |
| enable-cache: true | |
| cache-suffix: tests-py${{ matrix.python-version }} | |
| - name: Sync environment | |
| run: uv sync --locked | |
| - name: Run unit tests | |
| run: uv run python -m unittest discover -s tests -v | |
| extras: | |
| name: Extras Smoke Test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.12" | |
| - name: Set up uv | |
| uses: astral-sh/setup-uv@v7 | |
| with: | |
| enable-cache: true | |
| cache-suffix: extras-py3.12 | |
| - name: Sync environment with all extras | |
| run: uv sync --locked --all-extras | |
| - name: Smoke test optional dependencies | |
| run: | | |
| uv run python - <<'PY' | |
| import dlisio | |
| import lasio | |
| import matplotlib | |
| import pint | |
| import plotly | |
| import welly | |
| from wellplot.io import load_dlis, load_las | |
| from wellplot.renderers import MatplotlibRenderer, PlotlyRenderer | |
| print("lasio", lasio.__version__) | |
| print("welly", welly.__version__) | |
| print("dlisio", getattr(dlisio, "__version__", "unknown")) | |
| print("matplotlib", matplotlib.__version__) | |
| print("plotly", plotly.__version__) | |
| print("pint", pint.__version__) | |
| print(load_las, load_dlis, MatplotlibRenderer, PlotlyRenderer) | |
| PY | |
| - name: Run MCP tests with optional dependencies | |
| run: uv run python -m unittest tests.test_mcp_service tests.test_mcp_server -v | |
| package: | |
| name: Package Build and Wheel Smoke Test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.11" | |
| - name: Set up uv | |
| uses: astral-sh/setup-uv@v7 | |
| with: | |
| enable-cache: true | |
| cache-suffix: package-py3.11 | |
| - name: Build distributions | |
| run: uv build | |
| - name: Create clean smoke-test environment | |
| run: python -m venv .smoke-venv | |
| - name: Install built wheel into clean environment | |
| run: | | |
| ./.smoke-venv/bin/pip install --upgrade pip | |
| ./.smoke-venv/bin/pip install dist/*.whl | |
| - name: Verify console entry point | |
| run: ./.smoke-venv/bin/wellplot --help | |
| - name: Run installed-wheel smoke test | |
| env: | |
| MPLBACKEND: Agg | |
| run: ./.smoke-venv/bin/python scripts/smoke_installed_wheel.py |