name: test on: push: branches: - master pull_request: workflow_dispatch: jobs: lint: runs-on: ubuntu-latest strategy: matrix: python-version: ['3.9'] steps: - uses: actions/checkout@v3 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | pip install -U pip setuptools wheel pip install -r ./requirements.txt - name: Run pre-commit run: pre-commit install && pre-commit run --all-files mypy-self-check: runs-on: ubuntu-latest strategy: matrix: python-version: ['3.7', '3.8', '3.9', '3.10'] steps: - uses: actions/checkout@v3 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | pip install -U pip setuptools wheel pip install -r ./requirements.txt - name: Run mypy on plugin code run: mypy --strict mypy_django_plugin - name: Run mypy on ext code run: mypy --strict django_stubs_ext - name: Run mypy on scripts and utils run: mypy --strict scripts - name: Run mypy on stubs run: mypy --cache-dir=/dev/null --no-incremental django-stubs test: runs-on: ubuntu-latest strategy: matrix: python-version: ['3.9'] steps: - uses: actions/checkout@v3 - name: Setup system dependencies run: sudo apt-get install binutils libproj-dev gdal-bin - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | pip install -U pip setuptools wheel pip install -r ./requirements.txt - name: Run tests run: PYTHONPATH='.' pytest typecheck: runs-on: ubuntu-latest strategy: matrix: python-version: ['3.8', '3.9', '3.10'] django-version: ['3.2', '4.0'] include: - python-version: '3.7' django-version: '2.2' steps: - uses: actions/checkout@v3 - name: Setup system dependencies run: sudo apt-get install binutils libproj-dev gdal-bin - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | pip install -U pip setuptools wheel pip install -r ./requirements.txt - name: Run tests run: python ./scripts/typecheck_tests.py --django_version="${{ matrix.django-version }}"