name: CI on: push: branches: [main] pull_request: branches: [main] jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: python-version: '3.11' - name: Install dependencies run: | python -m pip install --upgrade pip pip install -r requirements.txt pip install pytest pytest-cov - name: Run tests run: | python -m pytest tests/ -v --tb=short - name: Run tests with coverage run: | python -m pytest tests/ --cov=shellgen --cov-report=term-missing --tb=short - name: Verify package imports run: | python -c "from shellgen import main; print('Package imports successfully')" - name: Verify CLI works run: | shellgen --help lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: python-version: '3.11' - name: Install lint tools run: | pip install ruff mypy - name: Run ruff run: | ruff check . - name: Run mypy run: | mypy shellgen/ --ignore-missing-imports