@@ -23,89 +23,91 @@ concurrency:
23
23
permissions :
24
24
contents : read # to fetch code (actions/checkout)
25
25
26
- jobs :
26
+ env :
27
+ REDIS_STACK_IMAGE : redis/redis-stack-server:7.4.0-rc1
27
28
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.
38
40
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
52
54
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.8', '3.9', '3.10', '3.11', '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
83
85
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'
89
91
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
94
96
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'
107
109
108
- resp3_tests :
110
+ resp3_tests :
109
111
runs-on : ubuntu-latest
110
112
strategy :
111
113
fail-fast : false
@@ -115,7 +117,7 @@ jobs:
115
117
connection-type : ['hiredis', 'plain']
116
118
protocol : ['3']
117
119
env :
118
- ACTIONS_ALLOW_UNSECURE_COMMANDS : true
120
+ ACTIONS_ALLOW_UNSECURE_COMMANDS : true
119
121
name : RESP3 [${{ matrix.python-version }} ${{matrix.test-type}}-${{matrix.connection-type}}]
120
122
steps :
121
123
- uses : actions/checkout@v4
@@ -136,7 +138,7 @@ jobs:
136
138
invoke ${{matrix.test-type}}-tests
137
139
invoke ${{matrix.test-type}}-tests --uvloop
138
140
139
- build_and_test_package :
141
+ build_and_test_package :
140
142
name : Validate building and installing the package
141
143
runs-on : ubuntu-latest
142
144
needs : [run-tests]
@@ -153,7 +155,7 @@ jobs:
153
155
run : |
154
156
bash .github/workflows/install_and_test.sh ${{ matrix.extension }}
155
157
156
- install_package_from_commit :
158
+ install_package_from_commit :
157
159
name : Install package from commit hash
158
160
runs-on : ubuntu-latest
159
161
strategy :
0 commit comments