Skip to content

chore(debug): add UXON_DEBUG channel and refresh-lifecycle taps #69

chore(debug): add UXON_DEBUG channel and refresh-lifecycle taps

chore(debug): add UXON_DEBUG channel and refresh-lifecycle taps #69

Workflow file for this run

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: ""