Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
786b779
build(tox): migrate from pip to uv via tox-uv
sentry-junior[bot] May 22, 2026
432f4eb
gen files
sl0thentr0py May 26, 2026
bc0b256
use 3.13 to run tox
sl0thentr0py May 26, 2026
7bbb51f
restore rest of tox.in
sl0thentr0py May 26, 2026
c991754
use astral setup-uv instead, containers for 3.6 and 3.7
sl0thentr0py May 26, 2026
2f6245b
fix usedevelop on 3.6/3.7
sl0thentr0py May 26, 2026
5fbc1db
ci: debug git inside 3.6/3.7 containers
sl0thentr0py May 26, 2026
e42a326
ci: mark workspace safe.directory for 3.6/3.7 containers
sl0thentr0py May 26, 2026
b286ef3
remove extras, move to installing all deps at once
sl0thentr0py May 26, 2026
a1784b0
bump boto3 min version to 1.17 due to unresolvable urllib3
sl0thentr0py May 26, 2026
95cb069
proper potel deps
sl0thentr0py May 26, 2026
b9a754a
fix makefile
sl0thentr0py May 26, 2026
f7cdbb3
gen files
sl0thentr0py May 26, 2026
64eb5bc
allow prerelease
sl0thentr0py May 26, 2026
1d341b9
fix prerelease resolution for transitive deps
sl0thentr0py May 26, 2026
f1061a8
pin pydantic-ai-slim prerelease for pydantic_ai 2.0.0b3 env
sl0thentr0py May 26, 2026
534ddf1
pin transitive prereleases and cap setuptools<81 for pkg_resources
sl0thentr0py May 26, 2026
4b1933a
comment
sl0thentr0py May 26, 2026
47d3c21
fix redis service
sl0thentr0py May 26, 2026
3242296
debug celery
sl0thentr0py May 26, 2026
4af51bd
fix(tests): make celery beat killer wait for pidfile
sl0thentr0py May 26, 2026
f6cf83a
test(celery): faulthandler dump child stacks on beat hang
sl0thentr0py May 26, 2026
a842c3a
test(celery): arm faulthandler at fixture scope, not in run_beat
sl0thentr0py May 26, 2026
1128f05
test(celery): diag — fail fast on broker connect
sl0thentr0py May 27, 2026
688731f
test(celery): skip beat-cron tests on py3.7, drop debug code
sl0thentr0py May 27, 2026
e06ef3b
test: pass SENTRY_PYTHON_TEST_REDIS_HOST through tox
sl0thentr0py May 27, 2026
4ac4428
move flask pins to normal config
sl0thentr0py May 27, 2026
92ffa80
let uv handle tox top level
sl0thentr0py May 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 24 additions & 22 deletions .github/workflows/test-integrations-agents.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,26 +33,32 @@ jobs:
fail-fast: false
matrix:
python-version: ["3.10","3.11","3.12","3.13","3.14","3.14t"]
# python3.6 reached EOL and is no longer being supported on
# new versions of hosted runners on Github Actions
# ubuntu-20.04 is the last version that supported python3.6
# see https://github.com/actions/setup-python/issues/544#issuecomment-1332535877
os: [ubuntu-22.04]
# Use Docker container only for Python 3.6
container: ${{ matrix.python-version == '3.6' && 'python:3.6' || null }}
env:
# 3.6/3.7 run in the python:X.Y container; tell uv to use that system Python.
UV_PYTHON_PREFERENCE: ${{ (matrix.python-version == '3.6' || matrix.python-version == '3.7') && 'only-system' || 'managed' }}
container: ${{ (matrix.python-version == '3.6' || matrix.python-version == '3.7') && format('python:{0}', matrix.python-version) || null }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
if: ${{ matrix.python-version != '3.6' }}
with:
python-version: ${{ matrix.python-version }}
allow-prereleases: true
- name: Install uv
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
- name: Mark workspace safe for git (3.6/3.7 container)
# needed to make git rev-parse work in the containers
# subprocesses (e.g. sentry_sdk.utils.get_git_revision) can run git.
if: ${{ matrix.python-version == '3.6' || matrix.python-version == '3.7' }}
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Setup Test Env
# The UV_PYTHON_PREFERENCE=only-system override for 3.6/3.7 only applies to
# tox-uv at test time, not to the workspace venv itself.
env:
UV_PYTHON_PREFERENCE: managed
run: |
pip install "coverage[toml]" tox
uv sync
- name: Erase coverage
env:
UV_PYTHON_PREFERENCE: managed
run: |
coverage erase
uv run coverage erase
- name: Test openai_agents
run: |
set -x # print commands that are executed
Expand All @@ -61,17 +67,13 @@ jobs:
run: |
set -x # print commands that are executed
./scripts/runtox.sh "py${{ matrix.python-version }}-pydantic_ai"
- name: Generate coverage XML (Python 3.6)
if: ${{ !cancelled() && matrix.python-version == '3.6' }}
run: |
export COVERAGE_RCFILE=.coveragerc36
coverage combine .coverage-sentry-*
coverage xml --ignore-errors
- name: Generate coverage XML
if: ${{ !cancelled() && matrix.python-version != '3.6' }}
if: ${{ !cancelled() }}
env:
UV_PYTHON_PREFERENCE: managed
run: |
coverage combine .coverage-sentry-*
coverage xml
uv run coverage combine .coverage-sentry-*
uv run coverage xml
- name: Parse and Upload Coverage
if: ${{ !cancelled() }}
uses: getsentry/codecov-action@d90e69cdf071dfbb0430159125321dc09c424d4c # main
Expand Down
46 changes: 24 additions & 22 deletions .github/workflows/test-integrations-ai-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,26 +33,32 @@ jobs:
fail-fast: false
matrix:
python-version: ["3.9","3.10","3.11","3.12","3.13","3.14"]
# python3.6 reached EOL and is no longer being supported on
# new versions of hosted runners on Github Actions
# ubuntu-20.04 is the last version that supported python3.6
# see https://github.com/actions/setup-python/issues/544#issuecomment-1332535877
os: [ubuntu-22.04]
# Use Docker container only for Python 3.6
container: ${{ matrix.python-version == '3.6' && 'python:3.6' || null }}
env:
# 3.6/3.7 run in the python:X.Y container; tell uv to use that system Python.
UV_PYTHON_PREFERENCE: ${{ (matrix.python-version == '3.6' || matrix.python-version == '3.7') && 'only-system' || 'managed' }}
container: ${{ (matrix.python-version == '3.6' || matrix.python-version == '3.7') && format('python:{0}', matrix.python-version) || null }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
if: ${{ matrix.python-version != '3.6' }}
with:
python-version: ${{ matrix.python-version }}
allow-prereleases: true
- name: Install uv
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
- name: Mark workspace safe for git (3.6/3.7 container)
# needed to make git rev-parse work in the containers
# subprocesses (e.g. sentry_sdk.utils.get_git_revision) can run git.
if: ${{ matrix.python-version == '3.6' || matrix.python-version == '3.7' }}
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Setup Test Env
# The UV_PYTHON_PREFERENCE=only-system override for 3.6/3.7 only applies to
# tox-uv at test time, not to the workspace venv itself.
env:
UV_PYTHON_PREFERENCE: managed
run: |
pip install "coverage[toml]" tox
uv sync
- name: Erase coverage
env:
UV_PYTHON_PREFERENCE: managed
run: |
coverage erase
uv run coverage erase
- name: Test langchain-base
run: |
set -x # print commands that are executed
Expand All @@ -65,17 +71,13 @@ jobs:
run: |
set -x # print commands that are executed
./scripts/runtox.sh "py${{ matrix.python-version }}-langgraph"
- name: Generate coverage XML (Python 3.6)
if: ${{ !cancelled() && matrix.python-version == '3.6' }}
run: |
export COVERAGE_RCFILE=.coveragerc36
coverage combine .coverage-sentry-*
coverage xml --ignore-errors
- name: Generate coverage XML
if: ${{ !cancelled() && matrix.python-version != '3.6' }}
if: ${{ !cancelled() }}
env:
UV_PYTHON_PREFERENCE: managed
run: |
coverage combine .coverage-sentry-*
coverage xml
uv run coverage combine .coverage-sentry-*
uv run coverage xml
- name: Parse and Upload Coverage
if: ${{ !cancelled() }}
uses: getsentry/codecov-action@d90e69cdf071dfbb0430159125321dc09c424d4c # main
Expand Down
46 changes: 24 additions & 22 deletions .github/workflows/test-integrations-ai.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,26 +33,32 @@ jobs:
fail-fast: false
matrix:
python-version: ["3.8","3.9","3.10","3.11","3.12","3.13","3.14","3.14t"]
# python3.6 reached EOL and is no longer being supported on
# new versions of hosted runners on Github Actions
# ubuntu-20.04 is the last version that supported python3.6
# see https://github.com/actions/setup-python/issues/544#issuecomment-1332535877
os: [ubuntu-22.04]
# Use Docker container only for Python 3.6
container: ${{ matrix.python-version == '3.6' && 'python:3.6' || null }}
env:
# 3.6/3.7 run in the python:X.Y container; tell uv to use that system Python.
UV_PYTHON_PREFERENCE: ${{ (matrix.python-version == '3.6' || matrix.python-version == '3.7') && 'only-system' || 'managed' }}
container: ${{ (matrix.python-version == '3.6' || matrix.python-version == '3.7') && format('python:{0}', matrix.python-version) || null }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
if: ${{ matrix.python-version != '3.6' }}
with:
python-version: ${{ matrix.python-version }}
allow-prereleases: true
- name: Install uv
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
- name: Mark workspace safe for git (3.6/3.7 container)
# needed to make git rev-parse work in the containers
# subprocesses (e.g. sentry_sdk.utils.get_git_revision) can run git.
if: ${{ matrix.python-version == '3.6' || matrix.python-version == '3.7' }}
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Setup Test Env
# The UV_PYTHON_PREFERENCE=only-system override for 3.6/3.7 only applies to
# tox-uv at test time, not to the workspace venv itself.
env:
UV_PYTHON_PREFERENCE: managed
run: |
pip install "coverage[toml]" tox
uv sync
- name: Erase coverage
env:
UV_PYTHON_PREFERENCE: managed
run: |
coverage erase
uv run coverage erase
- name: Test anthropic
run: |
set -x # print commands that are executed
Expand Down Expand Up @@ -81,17 +87,13 @@ jobs:
run: |
set -x # print commands that are executed
./scripts/runtox.sh "py${{ matrix.python-version }}-openai-notiktoken"
- name: Generate coverage XML (Python 3.6)
if: ${{ !cancelled() && matrix.python-version == '3.6' }}
run: |
export COVERAGE_RCFILE=.coveragerc36
coverage combine .coverage-sentry-*
coverage xml --ignore-errors
- name: Generate coverage XML
if: ${{ !cancelled() && matrix.python-version != '3.6' }}
if: ${{ !cancelled() }}
env:
UV_PYTHON_PREFERENCE: managed
run: |
coverage combine .coverage-sentry-*
coverage xml
uv run coverage combine .coverage-sentry-*
uv run coverage xml
- name: Parse and Upload Coverage
if: ${{ !cancelled() }}
uses: getsentry/codecov-action@d90e69cdf071dfbb0430159125321dc09c424d4c # main
Expand Down
46 changes: 24 additions & 22 deletions .github/workflows/test-integrations-cloud.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,30 +33,36 @@ jobs:
fail-fast: false
matrix:
python-version: ["3.6","3.7","3.8","3.9","3.10","3.11","3.12","3.13","3.14","3.14t"]
# python3.6 reached EOL and is no longer being supported on
# new versions of hosted runners on Github Actions
# ubuntu-20.04 is the last version that supported python3.6
# see https://github.com/actions/setup-python/issues/544#issuecomment-1332535877
os: [ubuntu-22.04]
services:
docker:
image: docker:dind # Required for Docker network management
options: --privileged # Required for Docker-in-Docker operations
# Use Docker container only for Python 3.6
container: ${{ matrix.python-version == '3.6' && 'python:3.6' || null }}
env:
# 3.6/3.7 run in the python:X.Y container; tell uv to use that system Python.
UV_PYTHON_PREFERENCE: ${{ (matrix.python-version == '3.6' || matrix.python-version == '3.7') && 'only-system' || 'managed' }}
container: ${{ (matrix.python-version == '3.6' || matrix.python-version == '3.7') && format('python:{0}', matrix.python-version) || null }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
if: ${{ matrix.python-version != '3.6' }}
with:
python-version: ${{ matrix.python-version }}
allow-prereleases: true
- name: Install uv
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
- name: Mark workspace safe for git (3.6/3.7 container)
# needed to make git rev-parse work in the containers
# subprocesses (e.g. sentry_sdk.utils.get_git_revision) can run git.
if: ${{ matrix.python-version == '3.6' || matrix.python-version == '3.7' }}
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Setup Test Env
# The UV_PYTHON_PREFERENCE=only-system override for 3.6/3.7 only applies to
# tox-uv at test time, not to the workspace venv itself.
env:
UV_PYTHON_PREFERENCE: managed
run: |
pip install "coverage[toml]" tox
uv sync
- name: Erase coverage
env:
UV_PYTHON_PREFERENCE: managed
run: |
coverage erase
uv run coverage erase
- name: Test aws_lambda
run: |
set -x # print commands that are executed
Expand All @@ -77,17 +83,13 @@ jobs:
run: |
set -x # print commands that are executed
./scripts/runtox.sh "py${{ matrix.python-version }}-gcp"
- name: Generate coverage XML (Python 3.6)
if: ${{ !cancelled() && matrix.python-version == '3.6' }}
run: |
export COVERAGE_RCFILE=.coveragerc36
coverage combine .coverage-sentry-*
coverage xml --ignore-errors
- name: Generate coverage XML
if: ${{ !cancelled() && matrix.python-version != '3.6' }}
if: ${{ !cancelled() }}
env:
UV_PYTHON_PREFERENCE: managed
run: |
coverage combine .coverage-sentry-*
coverage xml
uv run coverage combine .coverage-sentry-*
uv run coverage xml
- name: Parse and Upload Coverage
if: ${{ !cancelled() }}
uses: getsentry/codecov-action@d90e69cdf071dfbb0430159125321dc09c424d4c # main
Expand Down
46 changes: 24 additions & 22 deletions .github/workflows/test-integrations-common.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,44 +33,46 @@
fail-fast: false
matrix:
python-version: ["3.6","3.7","3.8","3.9","3.10","3.11","3.12","3.13","3.14","3.14t"]
Comment thread
sl0thentr0py marked this conversation as resolved.
# python3.6 reached EOL and is no longer being supported on
# new versions of hosted runners on Github Actions
# ubuntu-20.04 is the last version that supported python3.6
# see https://github.com/actions/setup-python/issues/544#issuecomment-1332535877
os: [ubuntu-22.04]
# Use Docker container only for Python 3.6
container: ${{ matrix.python-version == '3.6' && 'python:3.6' || null }}
env:
# 3.6/3.7 run in the python:X.Y container; tell uv to use that system Python.
UV_PYTHON_PREFERENCE: ${{ (matrix.python-version == '3.6' || matrix.python-version == '3.7') && 'only-system' || 'managed' }}
container: ${{ (matrix.python-version == '3.6' || matrix.python-version == '3.7') && format('python:{0}', matrix.python-version) || null }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
if: ${{ matrix.python-version != '3.6' }}
with:
python-version: ${{ matrix.python-version }}
allow-prereleases: true
- name: Install uv
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
- name: Mark workspace safe for git (3.6/3.7 container)
# needed to make git rev-parse work in the containers
# subprocesses (e.g. sentry_sdk.utils.get_git_revision) can run git.
if: ${{ matrix.python-version == '3.6' || matrix.python-version == '3.7' }}
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Setup Test Env
# The UV_PYTHON_PREFERENCE=only-system override for 3.6/3.7 only applies to
# tox-uv at test time, not to the workspace venv itself.
env:
UV_PYTHON_PREFERENCE: managed
run: |
pip install "coverage[toml]" tox
uv sync
- name: Erase coverage
env:
UV_PYTHON_PREFERENCE: managed
run: |
coverage erase
uv run coverage erase
- name: Test common
run: |
set -x # print commands that are executed
./scripts/runtox.sh "py${{ matrix.python-version }}-common"
- name: Generate coverage XML (Python 3.6)
if: ${{ !cancelled() && matrix.python-version == '3.6' }}
run: |
export COVERAGE_RCFILE=.coveragerc36
coverage combine .coverage-sentry-*
coverage xml --ignore-errors
- name: Generate coverage XML
if: ${{ !cancelled() && matrix.python-version != '3.6' }}
if: ${{ !cancelled() }}
env:
UV_PYTHON_PREFERENCE: managed
run: |
coverage combine .coverage-sentry-*
coverage xml
uv run coverage combine .coverage-sentry-*
uv run coverage xml
- name: Parse and Upload Coverage
if: ${{ !cancelled() }}
uses: getsentry/codecov-action@d90e69cdf071dfbb0430159125321dc09c424d4c # main

Check warning on line 75 in .github/workflows/test-integrations-common.yml

View check run for this annotation

@sentry/warden / warden: code-review

Python 3.6 coverage XML generation no longer uses `--ignore-errors`, risking step failure

The old workflow explicitly ran `coverage xml --ignore-errors` (with `COVERAGE_RCFILE=.coveragerc36`) for Python 3.6; the new unified step runs `uv run coverage xml` without `--ignore-errors` for all versions, which will fail if coverage.py encounters missing source files during Python 3.6 XML generation.
with:
token: ${{ secrets.GITHUB_TOKEN }}
files: coverage.xml
Expand Down
Loading
Loading