chore(debug): add UXON_DEBUG channel and refresh-lifecycle taps #69
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| jobs: | |
| test: | |
| name: tests (py${{ matrix.python-version }}) | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ["3.11", "3.12", "3.13"] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install runtime + test deps | |
| run: python3 -m pip install -e ".[dev]" | |
| - name: Compile Python files | |
| run: python3 -m py_compile $(git ls-files '*.py') | |
| - name: Run unit tests | |
| run: pytest tests/ -n auto | |
| - name: Build sdist + wheel | |
| run: | | |
| python3 -m pip install build twine | |
| python3 -m build | |
| python3 -m twine check dist/* | |
| - name: Verify TUI laziness | |
| run: | | |
| python3 -c "import sys, uxon.cli; assert 'textual' not in sys.modules, sorted(m for m in sys.modules if 'textual' in m)" | |
| lint: | |
| name: ruff | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.11" | |
| - run: python3 -m pip install ruff | |
| - run: ruff check . | |
| - run: ruff format --check . | |
| typecheck: | |
| name: pyright | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.11" | |
| - run: python3 -m pip install pyright "textual>=0.80,<9" tomlkit | |
| - run: pyright | |
| secrets: | |
| name: gitleaks | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - uses: gitleaks/gitleaks-action@v2 | |
| env: | |
| GITLEAKS_LICENSE: "" |