mirror of
https://github.com/Strategic-Automation/violin.git
synced 2026-08-14 12:33:37 +02:00
- state.py: fcntl/msvcrt file locking, reservation+finalization, history verification, remove dead subprocess bridges (p1-lock) - hypotheses.py: enforce canonical status, phase/host/service/port match, reject unrelated hypotheses (p1-hyp) - tools.py/__init__.py: retain kwargs (task_id), lifecycle hooks wired (REGISTERED_TOOLS + no-op-then-active hooks) (p1-life) - Migrate tests from tests/*.py to tests/guard + tests/pentest_docs; align to actual API (handle_target returns ips[0], handle_exec_burst fail-closed, PTT self-certify uses real batch_id, post-exploitation requires hypothesis) - scoping.md: add checkpoint.json continuity-artifact drift note - pyproject.toml: v1.2.0, per-file-ignores for tests/scripts (E402/S101) - Add .pytest-tmp-plugin/ to .gitignore 64 passed; ruff clean.
35 lines
949 B
YAML
35 lines
949 B
YAML
name: Violin CI
|
|
|
|
on:
|
|
push:
|
|
pull_request:
|
|
|
|
jobs:
|
|
test:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ubuntu-latest, windows-latest]
|
|
python: ["3.11", "3.12", "3.13"]
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-python@v5
|
|
with:
|
|
python-version: ${{ matrix.python }}
|
|
- uses: astral-sh/setup-uv@v6
|
|
with:
|
|
enable-cache: true
|
|
- name: Install development dependencies
|
|
run: uv sync --dev
|
|
- name: Ruff lint
|
|
run: uv run ruff check .
|
|
- name: Ruff format
|
|
run: uv run ruff format --check .
|
|
- name: Run tests
|
|
run: uv run pytest -q -p no:cacheprovider
|
|
- name: Run guard plugin tests explicitly
|
|
run: uv run pytest -q tests/guard/test_plugin_guard.py -p no:cacheprovider
|
|
- name: Validate release
|
|
run: uv run python scripts/violin_guard.py check-release
|