From 7ecbd659277c64cc7e01c62a43c44e8ec325c8b1 Mon Sep 17 00:00:00 2001 From: omonbek22 Date: Mon, 30 Oct 2023 19:00:38 +0500 Subject: [PATCH] Use ubuntu-20.04 for older versions of python; use 'include' instead of 'exclude' to specify version combinations --- .github/workflows/tests.yaml | 150 +++++++++++++++-------------------- 1 file changed, 62 insertions(+), 88 deletions(-) diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 9e32a91..873fca7 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -57,97 +57,71 @@ jobs: tests: needs: lint - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: - python: [2.7, 3.5, 3.6, 3.7, 3.8, 3.9, "3.10", 3.11] - django: [1.8.*, 1.9.*, 1.10.*, 1.11.*, 2.0.*, 2.1.*, 2.2.*, 3.0.*, 3.1.*, 3.2.*, 4.0.*, 4.1.*, 4.2.*] - exclude: - - python: 2.7 - django: 2.0.* - - python: 2.7 - django: 2.1.* - - python: 2.7 - django: 2.2.* - - python: 2.7 - django: 3.0.* - - python: 2.7 - django: 3.1.* - - python: 2.7 - django: 3.2.* - - python: 2.7 - django: 4.0.* - - python: 2.7 - django: 4.1.* - - python: 2.7 - django: 4.2.* - - python: 3.5 - django: 3.0.* - - python: 3.5 - django: 3.1.* - - python: 3.5 - django: 3.2.* - - python: 3.5 - django: 4.0.* - - python: 3.5 - django: 4.1.* - - python: 3.5 - django: 4.2.* - - python: 3.6 - django: 4.0.* - - python: 3.6 - django: 4.1.* - - python: 3.6 - django: 4.2.* - - python: 3.7 - django: 1.11.* - - python: 3.7 - django: 4.0.* - - python: 3.7 - django: 4.1.* - - python: 3.7 - django: 4.2.* - - python: 3.8 - django: 1.9.* - - python: 3.8 - django: 1.10.* - - python: 3.9 - django: 1.9.* - - python: 3.9 - django: 1.10.* - - python: "3.10" - django: 1.8.* - - python: "3.10" - django: 1.9.* - - python: "3.10" - django: 1.10.* - - python: "3.10" - django: 1.11.* - - python: "3.10" - django: 2.0.* - - python: 3.11 - django: 1.8.* - - python: 3.11 - django: 1.9.* - - python: 3.11 - django: 1.10.* - - python: 3.11 - django: 1.11.* - - python: 3.11 - django: 2.0.* - - python: 3.11 - django: 2.1.* - - python: 3.11 - django: 2.2.* - - python: 3.11 - django: 3.0.* - - python: 3.11 - django: 3.1.* - - python: 3.11 - django: 3.2.* - - python: 3.11 - django: 4.0.* + include: + - {django: '==1.8.*', python: '2.7', os: 'ubuntu-20.04'} + - {django: '==1.8.*', python: '3.5', os: 'ubuntu-20.04'} + + - {django: '==1.9.*', python: '2.7', os: 'ubuntu-20.04'} + - {django: '==1.9.*', python: '3.5', os: 'ubuntu-20.04'} + + - {django: '==1.10.*', python: '2.7', os: 'ubuntu-20.04'} + - {django: '==1.10.*', python: '3.5', os: 'ubuntu-20.04'} + + - {django: '==1.11.*', python: '2.7', os: 'ubuntu-20.04'} + - {django: '==1.11.*', python: '3.5', os: 'ubuntu-20.04'} + - {django: '==1.11.*', python: '3.6', os: 'ubuntu-20.04'} + - {django: '~=1.11.17', python: '3.7', os: 'ubuntu-latest'} + + - {django: '==2.0.*', python: '3.5', os: 'ubuntu-20.04'} + - {django: '==2.0.*', python: '3.6', os: 'ubuntu-20.04'} + - {django: '==2.0.*', python: '3.7', os: 'ubuntu-latest'} + + - {django: '==2.1.*', python: '3.5', os: 'ubuntu-20.04'} + - {django: '==2.1.*', python: '3.6', os: 'ubuntu-20.04'} + - {django: '==2.1.*', python: '3.7', os: 'ubuntu-latest'} + + - {django: '==2.2.*', python: '3.5', os: 'ubuntu-20.04'} + - {django: '==2.2.*', python: '3.6', os: 'ubuntu-20.04'} + - {django: '==2.2.*', python: '3.7', os: 'ubuntu-latest'} + - {django: '~=2.2.8', python: '3.8', os: 'ubuntu-latest'} + - {django: '~=2.2.17', python: '3.9', os: 'ubuntu-latest'} + + - {django: '==3.0.*', python: '3.6', os: 'ubuntu-20.04'} + - {django: '==3.0.*', python: '3.7', os: 'ubuntu-latest'} + - {django: '==3.0.*', python: '3.8', os: 'ubuntu-latest'} + - {django: '~=3.0.11', python: '3.9', os: 'ubuntu-latest'} + + - {django: '==3.1.*', python: '3.6', os: 'ubuntu-20.04'} + - {django: '==3.1.*', python: '3.7', os: 'ubuntu-latest'} + - {django: '==3.1.*', python: '3.8', os: 'ubuntu-latest'} + - {django: '~=3.1.3', python: '3.9', os: 'ubuntu-latest'} + + - {django: '==3.2.*', python: '3.6', os: 'ubuntu-20.04'} + - {django: '==3.2.*', python: '3.7', os: 'ubuntu-latest'} + - {django: '==3.2.*', python: '3.8', os: 'ubuntu-latest'} + - {django: '==3.2.*', python: '3.9', os: 'ubuntu-latest'} + - {django: '~=3.2.9', python: '3.10', os: 'ubuntu-latest'} + + - {django: '==4.0.*', python: '3.8', os: 'ubuntu-latest'} + - {django: '==4.0.*', python: '3.9', os: 'ubuntu-latest'} + - {django: '==4.0.*', python: '3.10', os: 'ubuntu-latest'} + + - {django: '==4.1.*', python: '3.8', os: 'ubuntu-latest'} + - {django: '==4.1.*', python: '3.9', os: 'ubuntu-latest'} + - {django: '==4.1.*', python: '3.10', os: 'ubuntu-latest'} + - {django: '~=4.1.3', python: '3.11', os: 'ubuntu-latest'} + + - {django: '==4.2.*', python: '3.8', os: 'ubuntu-latest'} + - {django: '==4.2.*', python: '3.9', os: 'ubuntu-latest'} + - {django: '==4.2.*', python: '3.10', os: 'ubuntu-latest'} + - {django: '==4.2.*', python: '3.11', os: 'ubuntu-latest'} + + - {django: '==5.0.*', python: '3.12', os: 'ubuntu-latest'} + steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v2