Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
f523384
feat: Update submodule head
r-spiewak Apr 6, 2026
d50c440
feat: Add CI/CD
r-spiewak Apr 6, 2026
4a7c084
Merge branch 'main' of github.com:FrontierDevelopmentLab/eve-mcp
r-spiewak Apr 6, 2026
ceb26ea
Merge branch 'main' into clean/cicd
r-spiewak Apr 6, 2026
84e5e13
feat: Update docstring in init, add if name main to main, update pyli…
r-spiewak Apr 7, 2026
3e905b6
test: Add tests for main
r-spiewak Apr 7, 2026
e367822
test: Add tests for init, add import to init
r-spiewak Apr 7, 2026
c268e93
teat: Add tests for app.py
r-spiewak Apr 7, 2026
8ca9bd3
feat: Mark async test in init as asyncio
r-spiewak Apr 7, 2026
75401d5
test: Add tests for tool query
r-spiewak Apr 7, 2026
3fa01dc
feat: Split tools_query tests into classes per function
r-spiewak Apr 7, 2026
ba4d64c
test: Add tests for tools_collections
r-spiewak Apr 7, 2026
92956c9
ci: add Python 3.12/3.13/3.14 matrix and Poetry dep caching
will-fawcett Apr 27, 2026
c672e83
ci: raise coverage threshold from 5% to 50%
will-fawcett Apr 27, 2026
22c757b
chore(pyproject): align [tool.*] config with eve-api
will-fawcett Apr 27, 2026
1492dba
ci: lower Python floor to 3.11 and add 3.11 to CI matrix
will-fawcett Apr 27, 2026
8243d55
chore(black): target both py311 and py312
will-fawcett Apr 27, 2026
49997fa
fix(helpers): close <PYTHON_CODE> tag with matching underscore
will-fawcett Apr 27, 2026
70c926f
chore(deps): drop unused types-requests and types-toml stubs
will-fawcett Apr 27, 2026
ffccae4
chore(pylint): remove dead per-file-ignores referencing stars paths
will-fawcett Apr 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
on: push
jobs:
test:
strategy:
matrix:
python-version: ['3.11', '3.12', '3.13', '3.14']
defaults:
run:
shell: bash
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Initialise submodules
run: |
git config --global url."https://x-access-token:${{ secrets.ORG_PAT }}@github.com/".insteadOf "https://github.com/"
git submodule update --init --recursive
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install Poetry
uses: snok/install-poetry@v1
with:
virtualenvs-create: true
virtualenvs-in-project: true
installer-parallel: true
- name: Cache Poetry dependencies
uses: actions/cache@v4
with:
path: .venv
key: venv-${{ runner.os }}-${{ matrix.python-version }}-${{ hashFiles('poetry.lock') }}
restore-keys: |
venv-${{ runner.os }}-${{ matrix.python-version }}-
- name: Install dependencies
run: |
poetry install --no-interaction
- name: Running pre-commit
uses: pre-commit/action@v3.0.1
79 changes: 79 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
exclude: |
(?x)^(
lib/eve-api/
)
repos:
- repo: local
hooks:
- id: detect-secrets
name: Detect secrets
language: system
entry: poetry run detect-secrets-hook
args: ['--baseline', '.secrets.baseline']
exclude: '\.ipynb$'
- id: autoflake
name: autoflake
language: system
"types": [python]
require_serial: true
entry: poetry run autoflake
args:
- "--in-place"
- "--remove-unused-variables"
- "--recursive"
- id: black
name: black
entry: poetry run black .
language: system
types: [python]
- id: isort
name: isort
entry: poetry run isort .
language: system
exclude: |
(?x)^(
.+\.js$|
.+\.jsx$|
.+\.css$|
.+\.html$|
.+\.json$|
.+\.md$
)$
- id: mypy
name: mypy
entry: poetry run mypy src tests
pass_filenames: false
language: system
args:
- "--ignore-missing-imports"
- "--warn-unused-ignores"
- id: pylint
name: pylint
entry: poetry run pylint src tests
pass_filenames: false
language: system
args:
- "--enable-useless-suppression"
- id: pytest-with-coverage
name: Run pytest with coverage
entry: poetry run coverage run -m pytest --testdox tests
language: system
pass_filenames: false
always_run: true
- id: coverage-report
name: Coverage report
entry: poetry run coverage report
language: system
pass_filenames: false
verbose: true
args:
- "--fail-under=50"
- "--skip-empty"
- "--skip-covered"
- "--show-missing"
- id: sphinx-docs
name: Build Sphinx docs
entry: bash -c 'command -v sphinx-build >/dev/null 2>&1 && poetry run sphinx-build -b html src/eve_mcp/docs _build/html/eve_mcp || echo "sphinx-build not found, skipping"'
language: system
pass_filenames: false
always_run: true
Loading
Loading