name: CI on: push: branches: [main, master] pull_request: branches: [main, master] 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: | pip install -e ".[dev]" - name: Run tests run: | python -m pytest tests/ -v --tb=short - name: Check coverage run: | python -m pytest tests/ --cov=src --cov-report=term-missing 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 linting tools run: | pip install ruff - name: Run linter run: | ruff check . build: runs-on: ubuntu-latest needs: [test, lint] steps: - uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: python-version: '3.11' - name: Install build dependencies run: | pip install build - name: Build package run: | python -m build - name: Verify build run: | pip install dist/*.whl llm-prompt --help