name: CI on: push: branches: [main, dev] pull_request: branches: [main, dev] permissions: contents: read env: FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true" jobs: lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 with: python-version: "3.13" - run: pip install ruff - run: ruff check src/ tests/ - run: ruff format --check src/ tests/ test: strategy: fail-fast: false matrix: python-version: ["3.10", "3.11", "3.12", "3.13"] runs-on: ubuntu-latest steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 with: python-version: ${{ matrix.python-version }} - run: | python -m pip install --upgrade pip pip install -e ".[dev]" - run: coverage run -m pytest -v --tb=short --rootdir=. standards: name: seedgo-audit runs-on: ubuntu-latest steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 with: python-version: "3.13" - run: | python -m pip install --upgrade pip pip install -e ".[dev]" - name: Run seedgo standards audit run: python .github/scripts/seedgo_audit.py coverage: name: coverage needs: [test] runs-on: ubuntu-latest steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 with: python-version: "3.13" - run: | python -m pip install --upgrade pip pip install -e ".[dev]" - run: coverage run -m pytest --rootdir=. - run: coverage xml - uses: codecov/codecov-action@e79a6962e0d4c0c17b229090214935d2e33f8354 # v6.0.1 with: files: ./coverage.xml fail_ci_if_error: false