Files
mux-py/.github/workflows/ci.yml
T
swaitsandClaude Opus 4.6 43f9115ca8 feat!: v0.2.0 — PyPI-ready, interception tests, strict linting
PyPI-ready metadata (donglora-mux), full classifiers, URLs.
Fixed dependency path to client-py. Added 11 interception tests
ported from the Rust mux (SetConfig locking, StartRx/StopRx
refcounting). GitHub Actions CI. Strict ruff linting.

Applied contextlib.suppress per SIM105, collapsed nested ifs per
SIM102.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-08 13:33:49 -06:00

43 lines
922 B
YAML

name: CI
on:
push:
branches: [main]
tags: ["v*"]
pull_request:
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v6
- run: uv run ruff check .
- run: uv run ruff format --check .
test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v6
with:
python-version: ${{ matrix.python-version }}
- run: uv sync
- run: uv run pytest -v
publish:
needs: [lint, test]
if: startsWith(github.ref, 'refs/tags/v')
runs-on: ubuntu-latest
environment: pypi
permissions:
id-token: write
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v6
- run: uv build
- uses: pypa/gh-action-pypi-publish@release/v1