on: [push] jobs: lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 - run: pip install ruff - name: linters run: | ruff check mfa tests test: runs-on: ubuntu-latest strategy: matrix: include: - python: '3.10' django: '4.2' - python: '3.14' django: '5.2' - python: '3.14' django: '6.0rc1' steps: - uses: actions/checkout@v6 - uses: actions/setup-python@v6 with: python-version: ${{ matrix.python }} - run: pip install . coverage tomli "django==${{ matrix.django }}" - name: tests run: | coverage run -m django test --settings tests.settings coverage report publish: needs: [lint, test] if: startsWith(github.ref, 'refs/tags') runs-on: ubuntu-latest permissions: id-token: write steps: - uses: actions/checkout@v6 - uses: actions/setup-python@v6 - run: pip install build - name: build run: python3 -m build - name: publish uses: pypa/gh-action-pypi-publish@release/v1