This is an automated email from the ASF dual-hosted git repository. cgivre pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/drill-mcp.git
commit dcae48eb06651f937e1997c6e2d869e32d91b95d Author: cgivre <[email protected]> AuthorDate: Wed Aug 12 16:44:15 2026 -0400 Add GitHub Actions CI workflow Run pytest on Python 3.11/3.12/3.13 (no jdbc/kerberos extras, proving the suite needs no JVM) and ruff check/format on pull requests and pushes to main. Add a CI status badge to the README. --- .github/workflows/ci.yml | 73 ++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 6 ++-- 2 files changed, 77 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..29df814 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,73 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, +# either express or implied. See the License for the specific +# language governing permissions and limitations under the +# License. +# + +name: CI + +on: + pull_request: + push: + branches: [main] + +permissions: + contents: read + +jobs: + tests: + name: tests (py${{ matrix.python-version }}) + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + python-version: ["3.11", "3.12", "3.13"] + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + cache: pip + + # Deliberately no jdbc/kerberos extras: the suite needs no JVM and no + # Drill cluster, and installing them here would hide a regression + # where a test accidentally started depending on one. + - name: Install + run: pip install -e ".[dev]" + + - name: Test + run: pytest + + lint: + name: lint + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-python@v5 + with: + python-version: "3.11" + cache: pip + + - name: Install + run: pip install -e ".[dev]" + + - name: Ruff check + run: ruff check . + + - name: Ruff format check + run: ruff format --check . diff --git a/README.md b/README.md index 24f4615..f312dfb 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ -# drill-mcp +# Drill-MCP Server -An [MCP](https://modelcontextprotocol.io/) server for [Apache Drill](https://drill.apache.org/). +[](https://github.com/apache/drill-mcp/actions/workflows/ci.yml) + +The official [MCP](https://modelcontextprotocol.io/) server for [Apache Drill](https://drill.apache.org/). It lets an MCP client run read-only (and narrowly, explicitly allow-listed write) SQL against a Drill cluster, and inspect schemas, storage plugins, and cluster/query state. It does not implement Drill administration
