name: CI on: push: branches: ["v1", "v2", "v3", "v4", "v5", "main"] pull_request: branches: ["v1", "v2", "v3", "v4", "v5", "main"] workflow_dispatch: concurrency: group: ci-${{ github.ref }} cancel-in-progress: true permissions: contents: read jobs: test: runs-on: ubuntu-latest strategy: fail-fast: false matrix: python-version: ["3.10", "3.11", "3.12", "3.13"] steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} cache: 'pip' cache-dependency-path: 'pyproject.toml' - name: Install dependencies run: | pip install -e ".[all,test]" - name: Run tests run: | python -m pytest tests/ -q --tb=short - name: Verify install works end-to-end run: | graphify --help graphify install