@@ -23,99 +23,101 @@ concurrency:
2323permissions :
2424 contents : read # to fetch code (actions/checkout)
2525
26- jobs :
26+ env :
27+ REDIS_STACK_IMAGE : redis/redis-stack-server:7.4.0-rc1
2728
28- dependency-audit :
29- name : Dependency audit
30- runs-on : ubuntu-latest
31- steps :
32- - uses : actions/checkout@v4
33- 34- with :
35- inputs : requirements.txt dev_requirements.txt
36- ignore-vulns : |
37- GHSA-w596-4wvx-j9j6 # subversion related git pull, dependency for pytest. There is no impact here.
29+ jobs :
30+ dependency-audit :
31+ name : Dependency audit
32+ runs-on : ubuntu-latest
33+ steps :
34+ - uses : actions/checkout@v4
35+ 36+ with :
37+ inputs : requirements.txt dev_requirements.txt
38+ ignore-vulns : |
39+ GHSA-w596-4wvx-j9j6 # subversion related git pull, dependency for pytest. There is no impact here.
3840
39- lint :
40- name : Code linters
41- runs-on : ubuntu-latest
42- steps :
43- - uses : actions/checkout@v4
44- - uses : actions/setup-python@v5
45- with :
46- python-version : 3.9
47- cache : ' pip'
48- - name : run code linters
49- run : |
50- pip install -r dev_requirements.txt
51- invoke linters
41+ lint :
42+ name : Code linters
43+ runs-on : ubuntu-latest
44+ steps :
45+ - uses : actions/checkout@v4
46+ - uses : actions/setup-python@v5
47+ with :
48+ python-version : 3.9
49+ cache : ' pip'
50+ - name : run code linters
51+ run : |
52+ pip install -r dev_requirements.txt
53+ invoke linters
5254
53- run-tests :
54- runs-on : ubuntu-latest
55- timeout-minutes : 60
56- strategy :
57- max-parallel : 15
58- fail-fast : false
59- matrix :
60- python-version : ['3.7', '3. 8', '3.9', '3.10', '3.11', 'pypy-3.7 ', 'pypy-3.8', 'pypy-3.9']
61- test-type : ['standalone', 'cluster']
62- connection-type : ['hiredis', 'plain']
63- env :
64- ACTIONS_ALLOW_UNSECURE_COMMANDS : true
65- name : Python ${{ matrix.python-version }} ${{matrix.test-type}}-${{matrix.connection-type}} tests
66- steps :
67- - uses : actions/checkout@v4
68- - uses : actions/setup-python@v5
69- with :
70- python-version : ${{ matrix.python-version }}
71- cache : ' pip'
72- - name : run tests
73- run : |
74- pip install -U setuptools wheel
75- pip install -r requirements.txt
76- pip install -r dev_requirements.txt
77- if [ "${{matrix.connection-type}}" == "hiredis" ]; then
78- pip install hiredis
79- fi
80- invoke devenv
81- sleep 10 # time to settle
82- invoke ${{matrix.test-type}}-tests
55+ run-tests :
56+ runs-on : ubuntu-latest
57+ timeout-minutes : 60
58+ strategy :
59+ max-parallel : 15
60+ fail-fast : false
61+ matrix :
62+ python-version : ['3.8', '3.9', '3.10', '3.11', 'pypy-3.8', 'pypy-3.9']
63+ test-type : ['standalone', 'cluster']
64+ connection-type : ['hiredis', 'plain']
65+ env :
66+ ACTIONS_ALLOW_UNSECURE_COMMANDS : true
67+ name : Python ${{ matrix.python-version }} ${{matrix.test-type}}-${{matrix.connection-type}} tests
68+ steps :
69+ - uses : actions/checkout@v4
70+ - uses : actions/setup-python@v5
71+ with :
72+ python-version : ${{ matrix.python-version }}
73+ cache : ' pip'
74+ - name : run tests
75+ run : |
76+ pip install -U setuptools wheel
77+ pip install -r requirements.txt
78+ pip install -r dev_requirements.txt
79+ if [ "${{matrix.connection-type}}" == "hiredis" ]; then
80+ pip install hiredis
81+ fi
82+ invoke devenv
83+ sleep 10 # time to settle
84+ invoke ${{matrix.test-type}}-tests
8385
84- - uses : actions/upload-artifact@v4
85- if : success() || failure()
86- with :
87- name : pytest-results-${{matrix.test-type}}-${{matrix.connection-type}}-${{matrix.python-version}}
88- path : ' ${{matrix.test-type}}*results.xml'
86+ - uses : actions/upload-artifact@v4
87+ if : success() || failure()
88+ with :
89+ name : pytest-results-${{matrix.test-type}}-${{matrix.connection-type}}-${{matrix.python-version}}
90+ path : ' ${{matrix.test-type}}*results.xml'
8991
90- - name : Upload codecov coverage
91- uses : codecov/codecov-action@v4
92- with :
93- fail_ci_if_error : false
92+ - name : Upload codecov coverage
93+ uses : codecov/codecov-action@v4
94+ with :
95+ fail_ci_if_error : false
9496
95- - name : View Test Results
96- uses : dorny/test-reporter@v1
97- if : success() || failure()
98- continue-on-error : true
99- with :
100- name : Test Results ${{matrix.python-version}} ${{matrix.test-type}}-${{matrix.connection-type}}
101- path : ' *.xml'
102- reporter : java-junit
103- list-suites : all
104- list-tests : all
105- max-annotations : 10
106- fail-on-error : ' false'
97+ - name : View Test Results
98+ uses : dorny/test-reporter@v1
99+ if : success() || failure()
100+ continue-on-error : true
101+ with :
102+ name : Test Results ${{matrix.python-version}} ${{matrix.test-type}}-${{matrix.connection-type}}
103+ path : ' *.xml'
104+ reporter : java-junit
105+ list-suites : all
106+ list-tests : all
107+ max-annotations : 10
108+ fail-on-error : ' false'
107109
108- resp3_tests :
110+ resp3_tests :
109111 runs-on : ubuntu-latest
110112 strategy :
111113 fail-fast : false
112114 matrix :
113- python-version : ['3.7 ', '3.11']
115+ python-version : ['3.8 ', '3.11']
114116 test-type : ['standalone', 'cluster']
115117 connection-type : ['hiredis', 'plain']
116118 protocol : ['3']
117119 env :
118- ACTIONS_ALLOW_UNSECURE_COMMANDS : true
120+ ACTIONS_ALLOW_UNSECURE_COMMANDS : true
119121 name : RESP3 [${{ matrix.python-version }} ${{matrix.test-type}}-${{matrix.connection-type}}]
120122 steps :
121123 - uses : actions/checkout@v4
@@ -136,7 +138,7 @@ jobs:
136138 invoke ${{matrix.test-type}}-tests
137139 invoke ${{matrix.test-type}}-tests --uvloop
138140
139- build_and_test_package :
141+ build_and_test_package :
140142 name : Validate building and installing the package
141143 runs-on : ubuntu-latest
142144 needs : [run-tests]
@@ -153,13 +155,13 @@ jobs:
153155 run : |
154156 bash .github/workflows/install_and_test.sh ${{ matrix.extension }}
155157
156- install_package_from_commit :
158+ install_package_from_commit :
157159 name : Install package from commit hash
158160 runs-on : ubuntu-latest
159161 strategy :
160162 fail-fast : false
161163 matrix :
162- python-version : ['3.7', '3. 8', '3.9', '3.10', '3.11', 'pypy-3.7 ', 'pypy-3.8', 'pypy-3.9']
164+ python-version : ['3.8', '3.9', '3.10', '3.11', 'pypy-3.8', 'pypy-3.9']
163165 steps :
164166 - uses : actions/checkout@v4
165167 - uses : actions/setup-python@v5
0 commit comments