@@ -31,175 +31,7 @@ jobs:
3131 matrix :
3232 python-version : ["3.7","3.8","3.11","3.12","3.13"]
3333 os : [ubuntu-22.04]
34- services :
35- postgres :
36- image : postgres
37- env :
38- POSTGRES_PASSWORD : sentry
39- # Set health checks to wait until postgres has started
40- options : >-
41- --health-cmd pg_isready
42- --health-interval 10s
43- --health-timeout 5s
44- --health-retries 5
45- # Maps tcp port 5432 on service container to the host
46- ports :
47- - 5432:5432
48- env :
49- SENTRY_PYTHON_TEST_POSTGRES_HOST : localhost
50- SENTRY_PYTHON_TEST_POSTGRES_USER : postgres
51- SENTRY_PYTHON_TEST_POSTGRES_PASSWORD : sentry
52- steps :
53- 54- - uses : actions/setup-python@v5
55- with :
56- python-version : ${{ matrix.python-version }}
57- allow-prereleases : true
58- - name : " Setup ClickHouse Server"
59- 60- - name : Setup Test Env
61- run : |
62- pip install "coverage[toml]" tox
63- - name : Erase coverage
64- run : |
65- coverage erase
66- - name : Test asyncpg latest
67- run : |
68- set -x # print commands that are executed
69- ./scripts/runtox.sh "py${{ matrix.python-version }}-asyncpg-latest"
70- - name : Test clickhouse_driver latest
71- run : |
72- set -x # print commands that are executed
73- ./scripts/runtox.sh "py${{ matrix.python-version }}-clickhouse_driver-latest"
74- - name : Test pymongo latest
75- run : |
76- set -x # print commands that are executed
77- ./scripts/runtox.sh "py${{ matrix.python-version }}-pymongo-latest"
78- - name : Test redis latest
79- run : |
80- set -x # print commands that are executed
81- ./scripts/runtox.sh "py${{ matrix.python-version }}-redis-latest"
82- - name : Test redis_py_cluster_legacy latest
83- run : |
84- set -x # print commands that are executed
85- ./scripts/runtox.sh "py${{ matrix.python-version }}-redis_py_cluster_legacy-latest"
86- - name : Test sqlalchemy latest
87- run : |
88- set -x # print commands that are executed
89- ./scripts/runtox.sh "py${{ matrix.python-version }}-sqlalchemy-latest"
90- - name : Generate coverage XML
91- if : ${{ !cancelled() }}
92- run : |
93- coverage combine .coverage-sentry-*
94- coverage xml
95- - name : Upload coverage to Codecov
96- if : ${{ !cancelled() }}
97- 98- with :
99- token : ${{ secrets.CODECOV_TOKEN }}
100- files : coverage.xml
101- # make sure no plugins alter our coverage reports
102- plugin : noop
103- verbose : true
104- - name : Upload test results to Codecov
105- if : ${{ !cancelled() }}
106- uses : codecov/test-results-action@v1
107- with :
108- token : ${{ secrets.CODECOV_TOKEN }}
109- files : .junitxml
110- verbose : true
111- test-dbs-pinned :
112- name : DBs (pinned)
113- timeout-minutes : 30
114- runs-on : ${{ matrix.os }}
115- strategy :
116- fail-fast : false
117- matrix :
118- python-version : ["3.7","3.8","3.9","3.10","3.11","3.12","3.13"]
119- os : [ubuntu-22.04]
120- services :
121- postgres :
122- image : postgres
123- env :
124- POSTGRES_PASSWORD : sentry
125- # Set health checks to wait until postgres has started
126- options : >-
127- --health-cmd pg_isready
128- --health-interval 10s
129- --health-timeout 5s
130- --health-retries 5
131- # Maps tcp port 5432 on service container to the host
132- ports :
133- - 5432:5432
134- env :
135- SENTRY_PYTHON_TEST_POSTGRES_HOST : localhost
136- SENTRY_PYTHON_TEST_POSTGRES_USER : postgres
137- SENTRY_PYTHON_TEST_POSTGRES_PASSWORD : sentry
138- steps :
139- 140- - uses : actions/setup-python@v5
141- with :
142- python-version : ${{ matrix.python-version }}
143- allow-prereleases : true
144- - name : " Setup ClickHouse Server"
145- 146- - name : Setup Test Env
147- run : |
148- pip install "coverage[toml]" tox
149- - name : Erase coverage
150- run : |
151- coverage erase
152- - name : Test asyncpg pinned
153- run : |
154- set -x # print commands that are executed
155- ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-asyncpg"
156- - name : Test clickhouse_driver pinned
157- run : |
158- set -x # print commands that are executed
159- ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-clickhouse_driver"
160- - name : Test pymongo pinned
161- run : |
162- set -x # print commands that are executed
163- ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-pymongo"
164- - name : Test redis pinned
165- run : |
166- set -x # print commands that are executed
167- ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-redis"
168- - name : Test redis_py_cluster_legacy pinned
169- run : |
170- set -x # print commands that are executed
171- ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-redis_py_cluster_legacy"
172- - name : Test sqlalchemy pinned
173- run : |
174- set -x # print commands that are executed
175- ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-sqlalchemy"
176- - name : Generate coverage XML
177- if : ${{ !cancelled() }}
178- run : |
179- coverage combine .coverage-sentry-*
180- coverage xml
181- - name : Upload coverage to Codecov
182- if : ${{ !cancelled() }}
183- 184- with :
185- token : ${{ secrets.CODECOV_TOKEN }}
186- files : coverage.xml
187- # make sure no plugins alter our coverage reports
188- plugin : noop
189- verbose : true
190- - name : Upload test results to Codecov
191- if : ${{ !cancelled() }}
192- uses : codecov/test-results-action@v1
193- with :
194- token : ${{ secrets.CODECOV_TOKEN }}
195- files : .junitxml
196- verbose : true
197- check_required_tests :
198- name : All pinned DBs tests passed
199- needs : test-dbs-pinned
200- # Always run this, even if a dependent job failed
201- if : always()
202- runs-on : ubuntu-20.04
34+ container : ${{ (matrix.python-version == '3.6' || matrix.python-version == '3.7') && 'python:${{ matrix.python-version }}' || null }}
20335 steps :
20436 - name : Check for failures
20537 if : contains(needs.test-dbs-pinned.result, 'failure') || contains(needs.test-dbs-pinned.result, 'skipped')
0 commit comments