name: Test # Fast gate on every push and PR: runs the unit tests + a compile check on a # single Ubuntu runner (the tests are pure Python — mocked transport, no Tk — so # no GUI deps and no OS matrix are needed). The expensive 4-platform PyInstaller # build stays in build.yml / release.yml, gated to tags/dispatch. on: push: branches: ["**"] pull_request: permissions: contents: read jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v7 - name: Set up Python uses: actions/setup-python@v6 with: python-version: "3.13" - name: Install (with dev deps) run: | python -m pip install --upgrade pip pip install ".[dev]" - name: Compile check run: python -m compileall -q src - name: Run tests run: pytest -q