Fix CI/CD workflow and pyproject.toml configuration

This commit is contained in:
Developer
2026-03-22 16:12:35 +00:00
parent b705528b86
commit 71bae33ea9
2 changed files with 109 additions and 12 deletions

View File

@@ -1,12 +1,48 @@
name: CI name: CI
on: push
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs: jobs:
test: test:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Install - uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install dependencies
run: | run: |
pip3 install --no-cache-dir -e /app 2>&1 | tail -30 || echo "Exit code: $?" pip install -e ".[dev]"
- name: Run linting
run: ruff check src/
- name: Run tests - name: Run tests
run: | run: pytest tests/ -v
pytest /app/tests/ -v 2>&1 | tail -30 || echo "Exit code: $?"
build:
runs-on: ubuntu-latest
needs: test
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install dependencies
run: pip install -e .
- name: Verify import
run: python -c "import memory_manager; print(memory_manager.__version__)"
- name: Verify CLI
run: memory --version

View File

@@ -1,9 +1,70 @@
[build-system]
requires = ["setuptools>=61.0", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "memory-manager"
version = "0.1.0"
description = "A centralized memory store for AI coding agents"
readme = "README.md"
requires-python = ">=3.11"
license = {text = "MIT"}
authors = [
{name = "Agentic Team"}
]
keywords = ["ai", "coding", "memory", "agent", "codebase"]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
]
dependencies = [
"sqlalchemy>=2.0.25",
"click>=8.1.7",
"textual>=0.50.1",
"fastapi>=0.109.0",
"uvicorn>=0.27.0",
"aiosqlite>=0.19.0",
"pydantic>=2.5.3",
"httpx>=0.26.0",
"python-dotenv>=1.0.0",
"shellingham>=1.1.4",
]
[project.optional-dependencies]
dev = [
"pytest>=8.0.0",
"pytest-asyncio>=0.23.0",
"mypy>=1.8.0",
"ruff>=0.2.0",
]
[project.scripts]
memory = "memory_manager.cli.main:cli"
[tool.setuptools]
packages = ["memory_manager"]
package-dir = {"" = "src"}
[tool.pytest.ini_options]
testpaths = ["tests"]
asyncio_mode = "auto"
python_files = ["test_*.py"]
[tool.mypy]
python_version = "3.11"
warn_return_any = true
warn_unused_configs = true
ignore_missing_imports = true
[tool.ruff] [tool.ruff]
include = ["snip/**/*.py", "tests/**/*.py"] target-version = "py311"
line-length = 100
select = ["E", "F", "I", "N", "W", "UP"]
ignore = ["E501"]
[tool.ruff.lint] [tool.ruff.per-file-ignores]
select = ["F", "E", "W"] "__init__.py" = ["F401"]
ignore = []
[tool.ruff.lint.per-file-ignores]
"tests/*" = ["F401"]