Skip to content

Commit a767133

Browse files
committed
use astral setup-uv instead, containers for 3.6 and 3.7
1 parent 06e2764 commit a767133

16 files changed

Lines changed: 195 additions & 85 deletions

.github/workflows/test-integrations-agents.yml

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,15 +34,22 @@ jobs:
3434
matrix:
3535
python-version: ["3.10","3.11","3.12","3.13","3.14","3.14t"]
3636
os: [ubuntu-22.04]
37+
env:
38+
# 3.6/3.7 run in the python:X.Y container; tell uv to use that system Python.
39+
UV_PYTHON_PREFERENCE: ${{ (matrix.python-version == '3.6' || matrix.python-version == '3.7') && 'only-system' || 'managed' }}
40+
container: ${{ (matrix.python-version == '3.6' || matrix.python-version == '3.7') && format('python:{0}', matrix.python-version) || null }}
3741
steps:
3842
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
39-
- name: Setup Python (host for tox + tox-uv)
40-
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
41-
with:
42-
python-version: "3.13"
43+
- name: Install uv
44+
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
4345
- name: Setup Test Env
46+
# Pin tox + coverage to uv-managed Python 3.13 even when the job sets
47+
# UV_PYTHON_PREFERENCE=only-system for 3.6/3.7 (which only applies to tox-uv at test time).
48+
env:
49+
UV_PYTHON_PREFERENCE: managed
4450
run: |
45-
python -m pip install "coverage[toml]" tox tox-uv
51+
uv tool install --python 3.13 --with tox-uv tox
52+
uv tool install --python 3.13 "coverage[toml]"
4653
- name: Erase coverage
4754
run: |
4855
coverage erase

.github/workflows/test-integrations-ai-workflow.yml

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,15 +34,22 @@ jobs:
3434
matrix:
3535
python-version: ["3.9","3.10","3.11","3.12","3.13","3.14"]
3636
os: [ubuntu-22.04]
37+
env:
38+
# 3.6/3.7 run in the python:X.Y container; tell uv to use that system Python.
39+
UV_PYTHON_PREFERENCE: ${{ (matrix.python-version == '3.6' || matrix.python-version == '3.7') && 'only-system' || 'managed' }}
40+
container: ${{ (matrix.python-version == '3.6' || matrix.python-version == '3.7') && format('python:{0}', matrix.python-version) || null }}
3741
steps:
3842
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
39-
- name: Setup Python (host for tox + tox-uv)
40-
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
41-
with:
42-
python-version: "3.13"
43+
- name: Install uv
44+
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
4345
- name: Setup Test Env
46+
# Pin tox + coverage to uv-managed Python 3.13 even when the job sets
47+
# UV_PYTHON_PREFERENCE=only-system for 3.6/3.7 (which only applies to tox-uv at test time).
48+
env:
49+
UV_PYTHON_PREFERENCE: managed
4450
run: |
45-
python -m pip install "coverage[toml]" tox tox-uv
51+
uv tool install --python 3.13 --with tox-uv tox
52+
uv tool install --python 3.13 "coverage[toml]"
4653
- name: Erase coverage
4754
run: |
4855
coverage erase

.github/workflows/test-integrations-ai.yml

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,15 +34,22 @@ jobs:
3434
matrix:
3535
python-version: ["3.8","3.9","3.10","3.11","3.12","3.13","3.14","3.14t"]
3636
os: [ubuntu-22.04]
37+
env:
38+
# 3.6/3.7 run in the python:X.Y container; tell uv to use that system Python.
39+
UV_PYTHON_PREFERENCE: ${{ (matrix.python-version == '3.6' || matrix.python-version == '3.7') && 'only-system' || 'managed' }}
40+
container: ${{ (matrix.python-version == '3.6' || matrix.python-version == '3.7') && format('python:{0}', matrix.python-version) || null }}
3741
steps:
3842
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
39-
- name: Setup Python (host for tox + tox-uv)
40-
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
41-
with:
42-
python-version: "3.13"
43+
- name: Install uv
44+
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
4345
- name: Setup Test Env
46+
# Pin tox + coverage to uv-managed Python 3.13 even when the job sets
47+
# UV_PYTHON_PREFERENCE=only-system for 3.6/3.7 (which only applies to tox-uv at test time).
48+
env:
49+
UV_PYTHON_PREFERENCE: managed
4450
run: |
45-
python -m pip install "coverage[toml]" tox tox-uv
51+
uv tool install --python 3.13 --with tox-uv tox
52+
uv tool install --python 3.13 "coverage[toml]"
4653
- name: Erase coverage
4754
run: |
4855
coverage erase

.github/workflows/test-integrations-cloud.yml

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,15 +38,22 @@ jobs:
3838
docker:
3939
image: docker:dind # Required for Docker network management
4040
options: --privileged # Required for Docker-in-Docker operations
41+
env:
42+
# 3.6/3.7 run in the python:X.Y container; tell uv to use that system Python.
43+
UV_PYTHON_PREFERENCE: ${{ (matrix.python-version == '3.6' || matrix.python-version == '3.7') && 'only-system' || 'managed' }}
44+
container: ${{ (matrix.python-version == '3.6' || matrix.python-version == '3.7') && format('python:{0}', matrix.python-version) || null }}
4145
steps:
4246
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
43-
- name: Setup Python (host for tox + tox-uv)
44-
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
45-
with:
46-
python-version: "3.13"
47+
- name: Install uv
48+
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
4749
- name: Setup Test Env
50+
# Pin tox + coverage to uv-managed Python 3.13 even when the job sets
51+
# UV_PYTHON_PREFERENCE=only-system for 3.6/3.7 (which only applies to tox-uv at test time).
52+
env:
53+
UV_PYTHON_PREFERENCE: managed
4854
run: |
49-
python -m pip install "coverage[toml]" tox tox-uv
55+
uv tool install --python 3.13 --with tox-uv tox
56+
uv tool install --python 3.13 "coverage[toml]"
5057
- name: Erase coverage
5158
run: |
5259
coverage erase

.github/workflows/test-integrations-common.yml

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,15 +34,22 @@ jobs:
3434
matrix:
3535
python-version: ["3.6","3.7","3.8","3.9","3.10","3.11","3.12","3.13","3.14","3.14t"]
3636
os: [ubuntu-22.04]
37+
env:
38+
# 3.6/3.7 run in the python:X.Y container; tell uv to use that system Python.
39+
UV_PYTHON_PREFERENCE: ${{ (matrix.python-version == '3.6' || matrix.python-version == '3.7') && 'only-system' || 'managed' }}
40+
container: ${{ (matrix.python-version == '3.6' || matrix.python-version == '3.7') && format('python:{0}', matrix.python-version) || null }}
3741
steps:
3842
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
39-
- name: Setup Python (host for tox + tox-uv)
40-
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
41-
with:
42-
python-version: "3.13"
43+
- name: Install uv
44+
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
4345
- name: Setup Test Env
46+
# Pin tox + coverage to uv-managed Python 3.13 even when the job sets
47+
# UV_PYTHON_PREFERENCE=only-system for 3.6/3.7 (which only applies to tox-uv at test time).
48+
env:
49+
UV_PYTHON_PREFERENCE: managed
4450
run: |
45-
python -m pip install "coverage[toml]" tox tox-uv
51+
uv tool install --python 3.13 --with tox-uv tox
52+
uv tool install --python 3.13 "coverage[toml]"
4653
- name: Erase coverage
4754
run: |
4855
coverage erase

.github/workflows/test-integrations-dbs.yml

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -49,20 +49,26 @@ jobs:
4949
ports:
5050
- 5432:5432
5151
env:
52-
SENTRY_PYTHON_TEST_POSTGRES_HOST: ${{ matrix.python-version == '3.6' && 'postgres' || 'localhost' }}
52+
# 3.6/3.7 run in the python:X.Y container; tell uv to use that system Python.
53+
UV_PYTHON_PREFERENCE: ${{ (matrix.python-version == '3.6' || matrix.python-version == '3.7') && 'only-system' || 'managed' }}
54+
SENTRY_PYTHON_TEST_POSTGRES_HOST: ${{ (matrix.python-version == '3.6' || matrix.python-version == '3.7') && 'postgres' || 'localhost' }}
5355
SENTRY_PYTHON_TEST_POSTGRES_USER: postgres
5456
SENTRY_PYTHON_TEST_POSTGRES_PASSWORD: sentry
57+
container: ${{ (matrix.python-version == '3.6' || matrix.python-version == '3.7') && format('python:{0}', matrix.python-version) || null }}
5558
steps:
5659
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
57-
- name: Setup Python (host for tox + tox-uv)
58-
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
59-
with:
60-
python-version: "3.13"
60+
- name: Install uv
61+
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
6162
- name: "Setup ClickHouse Server"
6263
uses: getsentry/action-clickhouse-in-ci@5dc8a6a50d689bd6051db0241f34849e5a36490b # v1.7
6364
- name: Setup Test Env
65+
# Pin tox + coverage to uv-managed Python 3.13 even when the job sets
66+
# UV_PYTHON_PREFERENCE=only-system for 3.6/3.7 (which only applies to tox-uv at test time).
67+
env:
68+
UV_PYTHON_PREFERENCE: managed
6469
run: |
65-
python -m pip install "coverage[toml]" tox tox-uv
70+
uv tool install --python 3.13 --with tox-uv tox
71+
uv tool install --python 3.13 "coverage[toml]"
6672
- name: Erase coverage
6773
run: |
6874
coverage erase

.github/workflows/test-integrations-flags.yml

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,15 +34,22 @@ jobs:
3434
matrix:
3535
python-version: ["3.7","3.8","3.10","3.12","3.13","3.14","3.14t"]
3636
os: [ubuntu-22.04]
37+
env:
38+
# 3.6/3.7 run in the python:X.Y container; tell uv to use that system Python.
39+
UV_PYTHON_PREFERENCE: ${{ (matrix.python-version == '3.6' || matrix.python-version == '3.7') && 'only-system' || 'managed' }}
40+
container: ${{ (matrix.python-version == '3.6' || matrix.python-version == '3.7') && format('python:{0}', matrix.python-version) || null }}
3741
steps:
3842
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
39-
- name: Setup Python (host for tox + tox-uv)
40-
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
41-
with:
42-
python-version: "3.13"
43+
- name: Install uv
44+
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
4345
- name: Setup Test Env
46+
# Pin tox + coverage to uv-managed Python 3.13 even when the job sets
47+
# UV_PYTHON_PREFERENCE=only-system for 3.6/3.7 (which only applies to tox-uv at test time).
48+
env:
49+
UV_PYTHON_PREFERENCE: managed
4450
run: |
45-
python -m pip install "coverage[toml]" tox tox-uv
51+
uv tool install --python 3.13 --with tox-uv tox
52+
uv tool install --python 3.13 "coverage[toml]"
4653
- name: Erase coverage
4754
run: |
4855
coverage erase

.github/workflows/test-integrations-gevent.yml

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,15 +34,22 @@ jobs:
3434
matrix:
3535
python-version: ["3.6","3.8","3.10","3.11","3.12"]
3636
os: [ubuntu-22.04]
37+
env:
38+
# 3.6/3.7 run in the python:X.Y container; tell uv to use that system Python.
39+
UV_PYTHON_PREFERENCE: ${{ (matrix.python-version == '3.6' || matrix.python-version == '3.7') && 'only-system' || 'managed' }}
40+
container: ${{ (matrix.python-version == '3.6' || matrix.python-version == '3.7') && format('python:{0}', matrix.python-version) || null }}
3741
steps:
3842
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
39-
- name: Setup Python (host for tox + tox-uv)
40-
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
41-
with:
42-
python-version: "3.13"
43+
- name: Install uv
44+
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
4345
- name: Setup Test Env
46+
# Pin tox + coverage to uv-managed Python 3.13 even when the job sets
47+
# UV_PYTHON_PREFERENCE=only-system for 3.6/3.7 (which only applies to tox-uv at test time).
48+
env:
49+
UV_PYTHON_PREFERENCE: managed
4450
run: |
45-
python -m pip install "coverage[toml]" tox tox-uv
51+
uv tool install --python 3.13 --with tox-uv tox
52+
uv tool install --python 3.13 "coverage[toml]"
4653
- name: Erase coverage
4754
run: |
4855
coverage erase

.github/workflows/test-integrations-graphql.yml

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,15 +34,22 @@ jobs:
3434
matrix:
3535
python-version: ["3.6","3.8","3.9","3.10","3.11","3.12","3.13","3.14","3.14t"]
3636
os: [ubuntu-22.04]
37+
env:
38+
# 3.6/3.7 run in the python:X.Y container; tell uv to use that system Python.
39+
UV_PYTHON_PREFERENCE: ${{ (matrix.python-version == '3.6' || matrix.python-version == '3.7') && 'only-system' || 'managed' }}
40+
container: ${{ (matrix.python-version == '3.6' || matrix.python-version == '3.7') && format('python:{0}', matrix.python-version) || null }}
3741
steps:
3842
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
39-
- name: Setup Python (host for tox + tox-uv)
40-
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
41-
with:
42-
python-version: "3.13"
43+
- name: Install uv
44+
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
4345
- name: Setup Test Env
46+
# Pin tox + coverage to uv-managed Python 3.13 even when the job sets
47+
# UV_PYTHON_PREFERENCE=only-system for 3.6/3.7 (which only applies to tox-uv at test time).
48+
env:
49+
UV_PYTHON_PREFERENCE: managed
4450
run: |
45-
python -m pip install "coverage[toml]" tox tox-uv
51+
uv tool install --python 3.13 --with tox-uv tox
52+
uv tool install --python 3.13 "coverage[toml]"
4653
- name: Erase coverage
4754
run: |
4855
coverage erase

.github/workflows/test-integrations-mcp.yml

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,15 +34,22 @@ jobs:
3434
matrix:
3535
python-version: ["3.10","3.12","3.13","3.14","3.14t"]
3636
os: [ubuntu-22.04]
37+
env:
38+
# 3.6/3.7 run in the python:X.Y container; tell uv to use that system Python.
39+
UV_PYTHON_PREFERENCE: ${{ (matrix.python-version == '3.6' || matrix.python-version == '3.7') && 'only-system' || 'managed' }}
40+
container: ${{ (matrix.python-version == '3.6' || matrix.python-version == '3.7') && format('python:{0}', matrix.python-version) || null }}
3741
steps:
3842
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
39-
- name: Setup Python (host for tox + tox-uv)
40-
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
41-
with:
42-
python-version: "3.13"
43+
- name: Install uv
44+
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
4345
- name: Setup Test Env
46+
# Pin tox + coverage to uv-managed Python 3.13 even when the job sets
47+
# UV_PYTHON_PREFERENCE=only-system for 3.6/3.7 (which only applies to tox-uv at test time).
48+
env:
49+
UV_PYTHON_PREFERENCE: managed
4450
run: |
45-
python -m pip install "coverage[toml]" tox tox-uv
51+
uv tool install --python 3.13 --with tox-uv tox
52+
uv tool install --python 3.13 "coverage[toml]"
4653
- name: Erase coverage
4754
run: |
4855
coverage erase

0 commit comments

Comments
 (0)