diff --git a/.github/actions/setup-sentry/action.yml b/.github/actions/setup-sentry/action.yml index 6349bb2ae7f5b5..74923d5f5ea149 100644 --- a/.github/actions/setup-sentry/action.yml +++ b/.github/actions/setup-sentry/action.yml @@ -38,7 +38,7 @@ inputs: python-version: description: 'python version to install' required: false - default: '3.12.6' + default: '3.13.0' pg-version: description: 'PostgreSQL version to use' default: '14' diff --git a/.github/workflows/backend.yml b/.github/workflows/backend.yml index 51a754fc783ccd..798862b1fc592f 100644 --- a/.github/workflows/backend.yml +++ b/.github/workflows/backend.yml @@ -208,7 +208,7 @@ jobs: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - uses: getsentry/action-setup-venv@a133e6fd5fa6abd3f590a1c106abda344f5df69f # v2.1.0 with: - python-version: 3.12.6 + python-version: 3.13.0 cache-dependency-path: requirements-dev-frozen.txt install-cmd: pip install -q --constraint requirements-dev-frozen.txt pip-tools - name: check requirements @@ -301,7 +301,7 @@ jobs: - uses: getsentry/action-setup-venv@a133e6fd5fa6abd3f590a1c106abda344f5df69f # v2.1.0 with: - python-version: 3.12.6 + python-version: 3.13.0 cache-dependency-path: requirements-dev-frozen.txt install-cmd: pip install -r requirements-dev-frozen.txt diff --git a/.github/workflows/development-environment.yml b/.github/workflows/development-environment.yml index 60e431419786be..d4597270e73ab3 100644 --- a/.github/workflows/development-environment.yml +++ b/.github/workflows/development-environment.yml @@ -33,7 +33,7 @@ jobs: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - uses: getsentry/action-setup-venv@a133e6fd5fa6abd3f590a1c106abda344f5df69f # v2.1.0 with: - python-version: 3.12.6 + python-version: 3.13.0 cache-dependency-path: | requirements-dev.txt requirements-dev-frozen.txt @@ -52,7 +52,7 @@ jobs: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - uses: getsentry/action-setup-venv@a133e6fd5fa6abd3f590a1c106abda344f5df69f # v2.1.0 with: - python-version: 3.12.6 + python-version: 3.13.0 cache-dependency-path: | requirements-dev.txt requirements-dev-frozen.txt diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 8e90f1dc51ca76..54fa303033d82f 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -71,7 +71,7 @@ jobs: - uses: getsentry/action-setup-venv@a133e6fd5fa6abd3f590a1c106abda344f5df69f # v2.1.0 with: - python-version: 3.12.6 + python-version: 3.13.0 cache-dependency-path: | requirements-dev.txt requirements-dev-frozen.txt diff --git a/.github/workflows/react-to-product-owners-yml-changes.yml b/.github/workflows/react-to-product-owners-yml-changes.yml index ed86a93cefb0c6..396da2045b727e 100644 --- a/.github/workflows/react-to-product-owners-yml-changes.yml +++ b/.github/workflows/react-to-product-owners-yml-changes.yml @@ -13,7 +13,7 @@ jobs: - uses: getsentry/action-setup-venv@a133e6fd5fa6abd3f590a1c106abda344f5df69f # v2.1.0 with: - python-version: 3.12.6 + python-version: 3.13.0 - name: React to product-owners.yml changes shell: bash diff --git a/.github/workflows/self-hosted.yml b/.github/workflows/self-hosted.yml index 730796960b05a2..5b013f6d1ea5c0 100644 --- a/.github/workflows/self-hosted.yml +++ b/.github/workflows/self-hosted.yml @@ -31,7 +31,7 @@ jobs: - uses: getsentry/action-setup-venv@a133e6fd5fa6abd3f590a1c106abda344f5df69f # v2.1.0 with: - python-version: 3.12.6 + python-version: 3.13.0 cache-dependency-path: requirements-dev-frozen.txt install-cmd: echo diff --git a/.python-version b/.python-version index 35f236d6e56f79..4eba2a62eb7141 100644 --- a/.python-version +++ b/.python-version @@ -1 +1 @@ -3.12.6 +3.13.0 diff --git a/devenv/config.ini b/devenv/config.ini index d3cc6732aea05e..7a4a63f89afa2e 100644 --- a/devenv/config.ini +++ b/devenv/config.ini @@ -2,7 +2,7 @@ minimum_version = 1.13.0 [venv.sentry] -python = 3.12.6 +python = 3.13.0 path = .venv requirements = requirements-dev.txt editable = @@ -11,7 +11,7 @@ editable = # bins = [venv.getsentry] -python = 3.12.6 +python = 3.13.0 # technically these are conflicting paths but getsentry is special # and would rather keep devenv config symlinked path = .venv @@ -20,15 +20,15 @@ editable = . # but we'll just install it during sync as it's rarely populated requirements = sentry-requirements-dev-frozen.txt -[python3.12.6] -darwin_x86_64 = https://github.com/indygreg/python-build-standalone/releases/download/20240909/cpython-3.12.6+20240909-x86_64-apple-darwin-install_only.tar.gz -darwin_x86_64_sha256 = 8c56da91436bee158b0d592aed3393c1fe3da3694ca35950ee1c52935ba8bfd5 -darwin_arm64 = https://github.com/indygreg/python-build-standalone/releases/download/20240909/cpython-3.12.6+20240909-aarch64-apple-darwin-install_only.tar.gz -darwin_arm64_sha256 = 899f46eb592fcac4e834c064e4c901e8a4a6b5864e80b18efd2f0b7c3c050584 -linux_x86_64 = https://github.com/indygreg/python-build-standalone/releases/download/20240909/cpython-3.12.6+20240909-x86_64-unknown-linux-gnu-install_only.tar.gz -linux_x86_64_sha256 = 68ff386c923c59a33a272bd984b8a33fe8117c56ad7f7552e0c2b21937ee3c0b -linux_arm64 = https://github.com/indygreg/python-build-standalone/releases/download/20240909/cpython-3.12.6+20240909-aarch64-unknown-linux-gnu-install_only.tar.gz -linux_arm64_sha256 = caac1033f68f69d8978dc8c6b6964cfb9d8a111abc55c03403bd4ece63f331f3 +[python3.13.0] +darwin_x86_64 = https://github.com/indygreg/python-build-standalone/releases/download/20241016/cpython-3.13.0+20241016-x86_64-apple-darwin-install_only.tar.gz +darwin_x86_64_sha256 = cff1b7e7cd26f2d47acac1ad6590e27d29829776f77e8afa067e9419f2f6ce77 +darwin_arm64 = https://github.com/indygreg/python-build-standalone/releases/download/20241016/cpython-3.13.0+20241016-aarch64-apple-darwin-install_only.tar.gz +darwin_arm64_sha256 = 31397953849d275aa2506580f3fa1cb5a85b6a3d392e495f8030e8b6412f5556 +linux_x86_64 = https://github.com/indygreg/python-build-standalone/releases/download/20241016/cpython-3.13.0+20241016-x86_64-unknown-linux-gnu-install_only.tar.gz +linux_x86_64_sha256 = 2c8cb15c6a2caadaa98af51df6fe78a8155b8471cb3dd7b9836038e0d3657fb4 +linux_arm64 = https://github.com/indygreg/python-build-standalone/releases/download/20241016/cpython-3.13.0+20241016-aarch64-unknown-linux-gnu-install_only.tar.gz +linux_arm64_sha256 = e8378c0162b2e0e4cc1f62b29443a3305d116d09583304dbb0149fecaff6347b [node] # upstream (https://nodejs.org/dist/) is not reliable enough so we've mirrored it to GCS @@ -68,12 +68,12 @@ version = 0.23.2 # kept here only for compatibility with older `devenv` [python] -version = 3.12.6 -darwin_x86_64 = https://github.com/indygreg/python-build-standalone/releases/download/20240909/cpython-3.12.6+20240909-x86_64-apple-darwin-install_only.tar.gz -darwin_x86_64_sha256 = 8c56da91436bee158b0d592aed3393c1fe3da3694ca35950ee1c52935ba8bfd5 -darwin_arm64 = https://github.com/indygreg/python-build-standalone/releases/download/20240909/cpython-3.12.6+20240909-aarch64-apple-darwin-install_only.tar.gz -darwin_arm64_sha256 = 899f46eb592fcac4e834c064e4c901e8a4a6b5864e80b18efd2f0b7c3c050584 -linux_x86_64 = https://github.com/indygreg/python-build-standalone/releases/download/20240909/cpython-3.12.6+20240909-x86_64-unknown-linux-gnu-install_only.tar.gz -linux_x86_64_sha256 = 68ff386c923c59a33a272bd984b8a33fe8117c56ad7f7552e0c2b21937ee3c0b -linux_arm64 = https://github.com/indygreg/python-build-standalone/releases/download/20240909/cpython-3.12.6+20240909-aarch64-unknown-linux-gnu-install_only.tar.gz -linux_arm64_sha256 = caac1033f68f69d8978dc8c6b6964cfb9d8a111abc55c03403bd4ece63f331f3 +version = 3.13.0 +darwin_x86_64 = https://github.com/indygreg/python-build-standalone/releases/download/20241016/cpython-3.13.0+20241016-x86_64-apple-darwin-install_only.tar.gz +darwin_x86_64_sha256 = cff1b7e7cd26f2d47acac1ad6590e27d29829776f77e8afa067e9419f2f6ce77 +darwin_arm64 = https://github.com/indygreg/python-build-standalone/releases/download/20241016/cpython-3.13.0+20241016-aarch64-apple-darwin-install_only.tar.gz +darwin_arm64_sha256 = 31397953849d275aa2506580f3fa1cb5a85b6a3d392e495f8030e8b6412f5556 +linux_x86_64 = https://github.com/indygreg/python-build-standalone/releases/download/20241016/cpython-3.13.0+20241016-x86_64-unknown-linux-gnu-install_only.tar.gz +linux_x86_64_sha256 = 2c8cb15c6a2caadaa98af51df6fe78a8155b8471cb3dd7b9836038e0d3657fb4 +linux_arm64 = https://github.com/indygreg/python-build-standalone/releases/download/20241016/cpython-3.13.0+20241016-aarch64-unknown-linux-gnu-install_only.tar.gz +linux_arm64_sha256 = e8378c0162b2e0e4cc1f62b29443a3305d116d09583304dbb0149fecaff6347b diff --git a/requirements-base.txt b/requirements-base.txt index 374b05123139dd..bfe7d332e54808 100644 --- a/requirements-base.txt +++ b/requirements-base.txt @@ -97,7 +97,7 @@ cryptography>=38.0.3 # Note, grpcio>1.30.0 requires setting GRPC_POLL_STRATEGY=epoll1 # See https://github.com/grpc/grpc/issues/23796 and # https://github.com/grpc/grpc/blob/v1.35.x/doc/core/grpc-polling-engines.md#polling-engine-implementations-in-grpc -grpcio>=1.59.0 +grpcio>=1.67 # not directly used, but provides a speedup for redis hiredis>=2.3.2 diff --git a/requirements-dev-frozen.txt b/requirements-dev-frozen.txt index c6521f56c3f24a..47eaa7f9d4ddf0 100644 --- a/requirements-dev-frozen.txt +++ b/requirements-dev-frozen.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.12 +# This file is autogenerated by pip-compile with Python 3.13 # by the following command: # # make freeze-requirements @@ -70,7 +70,7 @@ google-resumable-media==2.7.0 googleapis-common-protos==1.63.2 grpc-google-iam-v1==0.13.1 grpc-stubs==1.53.0.5 -grpcio==1.60.1 +grpcio==1.67.0 grpcio-status==1.60.1 h11==0.13.0 h2==4.1.0 diff --git a/requirements-frozen.txt b/requirements-frozen.txt index aec7da7a9faae4..67eab6c19f0449 100644 --- a/requirements-frozen.txt +++ b/requirements-frozen.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.12 +# This file is autogenerated by pip-compile with Python 3.13 # by the following command: # # make freeze-requirements @@ -57,7 +57,7 @@ google-resumable-media==2.7.0 googleapis-common-protos==1.63.2 grpc-google-iam-v1==0.13.1 grpc-stubs==1.53.0.5 -grpcio==1.60.1 +grpcio==1.67.0 grpcio-status==1.60.1 h11==0.14.0 h2==4.1.0 diff --git a/scripts/lib.sh b/scripts/lib.sh index 21bca1cd7cc783..e180294c46c91c 100755 --- a/scripts/lib.sh +++ b/scripts/lib.sh @@ -57,11 +57,11 @@ EOF else minor=$(echo "${python_version}" | sed 's/[0-9]*\.\([0-9]*\)\.\([0-9]*\)/\1/') patch=$(echo "${python_version}" | sed 's/[0-9]*\.\([0-9]*\)\.\([0-9]*\)/\2/') - if [ "$minor" -ne 12 ] || [ "$patch" -lt 1 ]; then + if [ "$minor" -ne 13 ] || [ "$patch" -lt 0 ]; then cat <= 3.12.1, < 3.13. + We only support >= 3.13.0, < 3.14. Either run "rm -rf ${venv_name} && direnv allow" to OR set SENTRY_PYTHON_VERSION=${python_version} to an .env file to bypass this check." EOF diff --git a/self-hosted/Dockerfile b/self-hosted/Dockerfile index f05ae9147f3ba9..940b815ed64ead 100644 --- a/self-hosted/Dockerfile +++ b/self-hosted/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.12.6-slim-bookworm +FROM python:3.13.0-slim-bookworm LABEL maintainer="oss@sentry.io" LABEL org.opencontainers.image.title="Sentry" diff --git a/tests/sentry/management/commands/test_generate_controlsilo_urls.py b/tests/sentry/management/commands/test_generate_controlsilo_urls.py index b31972be65f942..4dd9cf6878aca6 100644 --- a/tests/sentry/management/commands/test_generate_controlsilo_urls.py +++ b/tests/sentry/management/commands/test_generate_controlsilo_urls.py @@ -11,7 +11,7 @@ class TestGenerateControlsiloUrls(TestCase): def call_command(self, *args, **kwargs): out = StringIO() - call_command("generate_controlsilo_urls", *args, stdout=out, stderr=StringIO, **kwargs) + call_command("generate_controlsilo_urls", *args, stdout=out, stderr=StringIO(), **kwargs) return out.getvalue() def test_skip_includes(self):