name: main on: push: branches: [ master ] pull_request: branches: [ master ] jobs: test-uv-pip-install: runs-on: ubuntu-latest strategy: matrix: python-version: ['3.9', '3.10', '3.11', '3.12', '3.13', '3.14'] continue-on-error: true steps: - uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v3 with: python-version: ${{ matrix.python-version }} - name: Install uv run: | pip install uv - name: Create virtual environment run: | uv venv - name: Install dependencies with uv run: | uv pip install ."[tests]" - name: Run tests run: | uv run pytest test-pip-install: runs-on: ubuntu-latest strategy: matrix: python-version: ['3.9', '3.14'] steps: - uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v3 with: python-version: ${{ matrix.python-version }} - name: Install dependencies with pip run: | pip install ."[tests]" - name: Run tests run: | pytest build-docs: if: github.event_name == 'push' && github.ref == 'refs/heads/master' runs-on: ubuntu-latest permissions: contents: read pages: write id-token: write concurrency: group: "pages" cancel-in-progress: false steps: - name: Checkout uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v4 with: python-version: '3.9' - name: Install uv run: | pip install uv - name: Create virtual environment run: | uv venv - name: Install dependencies with uv run: | uv pip install ."[docs]" - name: Build docs run: | uv run python -m sphinx -b html docs/source docs/build/html - name: List files in docs/build/html run: | ls -la docs/build/html - name: Upload artifact uses: actions/upload-pages-artifact@v3 with: path: 'docs/build/html' name: github-pages - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v4 with: token: ${{ secrets.GITHUB_TOKEN }} timeout: 600000 error_count: 10 reporting_interval: 5000 artifact_name: github-pages preview: false