name: CI on: push: branches: [ main ] jobs: test: runs-on: ubuntu-latest steps: - name: Install Python with timeout run: | timeout 120 apt-get update || echo "apt-get update timed out or failed" timeout 120 apt-get install -y python3 python3-pip || echo "apt-get install timed out or failed" - name: Verify Python run: | python3 --version pip3 --version - name: Install deps run: | pip3 install -e ".[dev]" - name: Lint run: | ruff check src/ - name: Type check run: | mypy src/ - name: Test run: | pytest tests/ -v