From 388e68e5731f3af248bfe015330feeea77fe81b6 Mon Sep 17 00:00:00 2001 From: Ivana Kellyer Date: Fri, 26 Jul 2024 15:16:22 +0200 Subject: [PATCH] Fix tests (#3341) --- .../test-integrations-aws-lambda.yml | 2 + .../test-integrations-cloud-computing.yml | 50 +------- .../workflows/test-integrations-common.yml | 2 + .../test-integrations-data-processing.yml | 58 +--------- .../workflows/test-integrations-databases.yml | 80 +------------ .../workflows/test-integrations-graphql.yml | 52 +-------- .../test-integrations-miscellaneous.yml | 50 +------- .../test-integrations-networking.yml | 50 +------- .../test-integrations-web-frameworks-1.yml | 71 +----------- .../test-integrations-web-frameworks-2.yml | 70 +----------- .../templates/test_group.jinja | 2 + tests/integrations/aiohttp/test_aiohttp.py | 2 +- tests/integrations/aws_lambda/test_aws.py | 4 +- tests/integrations/celery/test_celery.py | 23 +++- tests/integrations/stdlib/test_subprocess.py | 2 +- tests/integrations/trytond/test_trytond.py | 10 +- tests/test_utils.py | 3 +- tox.ini | 107 +++++------------- 18 files changed, 81 insertions(+), 557 deletions(-) diff --git a/.github/workflows/test-integrations-aws-lambda.yml b/.github/workflows/test-integrations-aws-lambda.yml index 622f220f3b..192f32e4c4 100644 --- a/.github/workflows/test-integrations-aws-lambda.yml +++ b/.github/workflows/test-integrations-aws-lambda.yml @@ -71,6 +71,8 @@ jobs: - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} + env: + PIP_TRUSTED_HOST: "pypi.python.org pypi.org files.pythonhosted.org" - name: Setup Test Env run: | pip install coverage "tox>=3,<4" diff --git a/.github/workflows/test-integrations-cloud-computing.yml b/.github/workflows/test-integrations-cloud-computing.yml index 63ab185dba..0efc4a6ffb 100644 --- a/.github/workflows/test-integrations-cloud-computing.yml +++ b/.github/workflows/test-integrations-cloud-computing.yml @@ -18,54 +18,6 @@ env: CACHED_BUILD_PATHS: | ${{ github.workspace }}/dist-serverless jobs: - test-cloud_computing-latest: - name: Cloud Computing (latest) - timeout-minutes: 30 - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.7","3.10","3.11","3.12"] - # 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-20.04] - steps: - - uses: actions/checkout@v4.1.1 - - uses: actions/setup-python@v5 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Erase coverage - run: | - coverage erase - - name: Test boto3 latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-boto3-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch - - name: Test chalice latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-chalice-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch - - name: Test cloud_resource_context latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-cloud_resource_context-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch - - name: Test gcp latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-gcp-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch - - name: Generate coverage XML - run: | - coverage combine .coverage* - coverage xml -i - - uses: codecov/codecov-action@v4 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml test-cloud_computing-pinned: name: Cloud Computing (pinned) timeout-minutes: 30 @@ -84,6 +36,8 @@ jobs: - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} + env: + PIP_TRUSTED_HOST: "pypi.python.org pypi.org files.pythonhosted.org" - name: Setup Test Env run: | pip install coverage "tox>=3,<4" diff --git a/.github/workflows/test-integrations-common.yml b/.github/workflows/test-integrations-common.yml index a1808e7320..a617bace48 100644 --- a/.github/workflows/test-integrations-common.yml +++ b/.github/workflows/test-integrations-common.yml @@ -36,6 +36,8 @@ jobs: - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} + env: + PIP_TRUSTED_HOST: "pypi.python.org pypi.org files.pythonhosted.org" - name: Setup Test Env run: | pip install coverage "tox>=3,<4" diff --git a/.github/workflows/test-integrations-data-processing.yml b/.github/workflows/test-integrations-data-processing.yml index cf4c1d2dd0..6e52aa1c6a 100644 --- a/.github/workflows/test-integrations-data-processing.yml +++ b/.github/workflows/test-integrations-data-processing.yml @@ -18,62 +18,6 @@ env: CACHED_BUILD_PATHS: | ${{ github.workspace }}/dist-serverless jobs: - test-data_processing-latest: - name: Data Processing (latest) - timeout-minutes: 30 - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.5","3.7","3.8","3.9","3.11","3.12"] - # 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-20.04] - steps: - - uses: actions/checkout@v4.1.1 - - uses: actions/setup-python@v5 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Erase coverage - run: | - coverage erase - - name: Test arq latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-arq-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch - - name: Test beam latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-beam-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch - - name: Test celery latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-celery-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch - - name: Test huey latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-huey-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch - - name: Test openai latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-openai-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch - - name: Test rq latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-rq-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch - - name: Generate coverage XML - run: | - coverage combine .coverage* - coverage xml -i - - uses: codecov/codecov-action@v4 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml test-data_processing-pinned: name: Data Processing (pinned) timeout-minutes: 30 @@ -92,6 +36,8 @@ jobs: - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} + env: + PIP_TRUSTED_HOST: "pypi.python.org pypi.org files.pythonhosted.org" - name: Setup Test Env run: | pip install coverage "tox>=3,<4" diff --git a/.github/workflows/test-integrations-databases.yml b/.github/workflows/test-integrations-databases.yml index 5f927233e3..1263955b0a 100644 --- a/.github/workflows/test-integrations-databases.yml +++ b/.github/workflows/test-integrations-databases.yml @@ -18,84 +18,6 @@ env: CACHED_BUILD_PATHS: | ${{ github.workspace }}/dist-serverless jobs: - test-databases-latest: - name: Databases (latest) - timeout-minutes: 30 - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.7","3.8","3.11","3.12"] - # 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-20.04] - services: - postgres: - image: postgres - env: - POSTGRES_PASSWORD: sentry - # Set health checks to wait until postgres has started - options: >- - --health-cmd pg_isready - --health-interval 10s - --health-timeout 5s - --health-retries 5 - # Maps tcp port 5432 on service container to the host - ports: - - 5432:5432 - env: - SENTRY_PYTHON_TEST_POSTGRES_USER: postgres - SENTRY_PYTHON_TEST_POSTGRES_PASSWORD: sentry - SENTRY_PYTHON_TEST_POSTGRES_NAME: ci_test - SENTRY_PYTHON_TEST_POSTGRES_HOST: localhost - steps: - - uses: actions/checkout@v4.1.1 - - uses: actions/setup-python@v5 - with: - python-version: ${{ matrix.python-version }} - - uses: getsentry/action-clickhouse-in-ci@v1 - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - psql postgresql://postgres:sentry@localhost:5432 -c "create database ${SENTRY_PYTHON_TEST_POSTGRES_NAME};" || true - psql postgresql://postgres:sentry@localhost:5432 -c "grant all privileges on database ${SENTRY_PYTHON_TEST_POSTGRES_NAME} to ${SENTRY_PYTHON_TEST_POSTGRES_USER};" || true - - name: Erase coverage - run: | - coverage erase - - name: Test asyncpg latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-asyncpg-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch - - name: Test clickhouse_driver latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-clickhouse_driver-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch - - name: Test pymongo latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-pymongo-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch - - name: Test redis latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-redis-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch - - name: Test rediscluster latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-rediscluster-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch - - name: Test sqlalchemy latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-sqlalchemy-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch - - name: Generate coverage XML - run: | - coverage combine .coverage* - coverage xml -i - - uses: codecov/codecov-action@v4 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml test-databases-pinned: name: Databases (pinned) timeout-minutes: 30 @@ -133,6 +55,8 @@ jobs: - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} + env: + PIP_TRUSTED_HOST: "pypi.python.org pypi.org files.pythonhosted.org" - uses: getsentry/action-clickhouse-in-ci@v1 - name: Setup Test Env run: | diff --git a/.github/workflows/test-integrations-graphql.yml b/.github/workflows/test-integrations-graphql.yml index a2744df286..1550187812 100644 --- a/.github/workflows/test-integrations-graphql.yml +++ b/.github/workflows/test-integrations-graphql.yml @@ -18,54 +18,6 @@ env: CACHED_BUILD_PATHS: | ${{ github.workspace }}/dist-serverless jobs: - test-graphql-latest: - name: GraphQL (latest) - timeout-minutes: 30 - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.7","3.8","3.11","3.12"] - # 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-20.04] - steps: - - uses: actions/checkout@v4.1.1 - - uses: actions/setup-python@v5 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Erase coverage - run: | - coverage erase - - name: Test ariadne latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-ariadne-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch - - name: Test gql latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-gql-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch - - name: Test graphene latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-graphene-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch - - name: Test strawberry latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-strawberry-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch - - name: Generate coverage XML - run: | - coverage combine .coverage* - coverage xml -i - - uses: codecov/codecov-action@v4 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml test-graphql-pinned: name: GraphQL (pinned) timeout-minutes: 30 @@ -73,7 +25,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.7","3.8","3.11"] + python-version: ["3.7","3.8","3.11","3.12"] # 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 @@ -84,6 +36,8 @@ jobs: - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} + env: + PIP_TRUSTED_HOST: "pypi.python.org pypi.org files.pythonhosted.org" - name: Setup Test Env run: | pip install coverage "tox>=3,<4" diff --git a/.github/workflows/test-integrations-miscellaneous.yml b/.github/workflows/test-integrations-miscellaneous.yml index a738814181..8472a17035 100644 --- a/.github/workflows/test-integrations-miscellaneous.yml +++ b/.github/workflows/test-integrations-miscellaneous.yml @@ -18,54 +18,6 @@ env: CACHED_BUILD_PATHS: | ${{ github.workspace }}/dist-serverless jobs: - test-miscellaneous-latest: - name: Miscellaneous (latest) - timeout-minutes: 30 - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.5","3.8","3.11","3.12"] - # 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-20.04] - steps: - - uses: actions/checkout@v4.1.1 - - uses: actions/setup-python@v5 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Erase coverage - run: | - coverage erase - - name: Test loguru latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-loguru-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch - - name: Test opentelemetry latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-opentelemetry-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch - - name: Test pure_eval latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-pure_eval-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch - - name: Test trytond latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-trytond-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch - - name: Generate coverage XML - run: | - coverage combine .coverage* - coverage xml -i - - uses: codecov/codecov-action@v4 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml test-miscellaneous-pinned: name: Miscellaneous (pinned) timeout-minutes: 30 @@ -84,6 +36,8 @@ jobs: - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} + env: + PIP_TRUSTED_HOST: "pypi.python.org pypi.org files.pythonhosted.org" - name: Setup Test Env run: | pip install coverage "tox>=3,<4" diff --git a/.github/workflows/test-integrations-networking.yml b/.github/workflows/test-integrations-networking.yml index baebda4022..2cabce57ad 100644 --- a/.github/workflows/test-integrations-networking.yml +++ b/.github/workflows/test-integrations-networking.yml @@ -18,54 +18,6 @@ env: CACHED_BUILD_PATHS: | ${{ github.workspace }}/dist-serverless jobs: - test-networking-latest: - name: Networking (latest) - timeout-minutes: 30 - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.8","3.9","3.11","3.12"] - # 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-20.04] - steps: - - uses: actions/checkout@v4.1.1 - - uses: actions/setup-python@v5 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Erase coverage - run: | - coverage erase - - name: Test gevent latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-gevent-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch - - name: Test grpc latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-grpc-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch - - name: Test httpx latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-httpx-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch - - name: Test requests latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-requests-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch - - name: Generate coverage XML - run: | - coverage combine .coverage* - coverage xml -i - - uses: codecov/codecov-action@v4 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml test-networking-pinned: name: Networking (pinned) timeout-minutes: 30 @@ -84,6 +36,8 @@ jobs: - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} + env: + PIP_TRUSTED_HOST: "pypi.python.org pypi.org files.pythonhosted.org" - name: Setup Test Env run: | pip install coverage "tox>=3,<4" diff --git a/.github/workflows/test-integrations-web-frameworks-1.yml b/.github/workflows/test-integrations-web-frameworks-1.yml index 5cdbea89e7..b9ba7f8bc8 100644 --- a/.github/workflows/test-integrations-web-frameworks-1.yml +++ b/.github/workflows/test-integrations-web-frameworks-1.yml @@ -18,75 +18,6 @@ env: CACHED_BUILD_PATHS: | ${{ github.workspace }}/dist-serverless jobs: - test-web_frameworks_1-latest: - name: Web Frameworks 1 (latest) - timeout-minutes: 30 - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.8","3.10","3.11","3.12"] - # 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-20.04] - services: - postgres: - image: postgres - env: - POSTGRES_PASSWORD: sentry - # Set health checks to wait until postgres has started - options: >- - --health-cmd pg_isready - --health-interval 10s - --health-timeout 5s - --health-retries 5 - # Maps tcp port 5432 on service container to the host - ports: - - 5432:5432 - env: - SENTRY_PYTHON_TEST_POSTGRES_USER: postgres - SENTRY_PYTHON_TEST_POSTGRES_PASSWORD: sentry - SENTRY_PYTHON_TEST_POSTGRES_NAME: ci_test - SENTRY_PYTHON_TEST_POSTGRES_HOST: localhost - steps: - - uses: actions/checkout@v4.1.1 - - uses: actions/setup-python@v5 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - psql postgresql://postgres:sentry@localhost:5432 -c "create database ${SENTRY_PYTHON_TEST_POSTGRES_NAME};" || true - psql postgresql://postgres:sentry@localhost:5432 -c "grant all privileges on database ${SENTRY_PYTHON_TEST_POSTGRES_NAME} to ${SENTRY_PYTHON_TEST_POSTGRES_USER};" || true - - name: Erase coverage - run: | - coverage erase - - name: Test django latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-django-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch - - name: Test fastapi latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-fastapi-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch - - name: Test flask latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-flask-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch - - name: Test starlette latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-starlette-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch - - name: Generate coverage XML - run: | - coverage combine .coverage* - coverage xml -i - - uses: codecov/codecov-action@v4 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml test-web_frameworks_1-pinned: name: Web Frameworks 1 (pinned) timeout-minutes: 30 @@ -124,6 +55,8 @@ jobs: - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} + env: + PIP_TRUSTED_HOST: "pypi.python.org pypi.org files.pythonhosted.org" - name: Setup Test Env run: | pip install coverage "tox>=3,<4" diff --git a/.github/workflows/test-integrations-web-frameworks-2.yml b/.github/workflows/test-integrations-web-frameworks-2.yml index 378ed94ba6..0bb4828d94 100644 --- a/.github/workflows/test-integrations-web-frameworks-2.yml +++ b/.github/workflows/test-integrations-web-frameworks-2.yml @@ -18,74 +18,6 @@ env: CACHED_BUILD_PATHS: | ${{ github.workspace }}/dist-serverless jobs: - test-web_frameworks_2-latest: - name: Web Frameworks 2 (latest) - timeout-minutes: 30 - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.5","3.6","3.7","3.8","3.11","3.12"] - # 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-20.04] - steps: - - uses: actions/checkout@v4.1.1 - - uses: actions/setup-python@v5 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Erase coverage - run: | - coverage erase - - name: Test aiohttp latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-aiohttp-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch - - name: Test asgi latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-asgi-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch - - name: Test bottle latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-bottle-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch - - name: Test falcon latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-falcon-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch - - name: Test pyramid latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-pyramid-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch - - name: Test quart latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-quart-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch - - name: Test sanic latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-sanic-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch - - name: Test starlite latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-starlite-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch - - name: Test tornado latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-tornado-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch - - name: Generate coverage XML - run: | - coverage combine .coverage* - coverage xml -i - - uses: codecov/codecov-action@v4 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml test-web_frameworks_2-pinned: name: Web Frameworks 2 (pinned) timeout-minutes: 30 @@ -104,6 +36,8 @@ jobs: - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} + env: + PIP_TRUSTED_HOST: "pypi.python.org pypi.org files.pythonhosted.org" - name: Setup Test Env run: | pip install coverage "tox>=3,<4" diff --git a/scripts/split-tox-gh-actions/templates/test_group.jinja b/scripts/split-tox-gh-actions/templates/test_group.jinja index 91a231cd98..20ef8e6fb5 100644 --- a/scripts/split-tox-gh-actions/templates/test_group.jinja +++ b/scripts/split-tox-gh-actions/templates/test_group.jinja @@ -56,6 +56,8 @@ - uses: actions/setup-python@v5 with: python-version: {% raw %}${{ matrix.python-version }}{% endraw %} + env: + PIP_TRUSTED_HOST: "pypi.python.org pypi.org files.pythonhosted.org" {% endif %} {% if needs_clickhouse %} - uses: getsentry/action-clickhouse-in-ci@v1 diff --git a/tests/integrations/aiohttp/test_aiohttp.py b/tests/integrations/aiohttp/test_aiohttp.py index 90ca466175..c9c7b67805 100644 --- a/tests/integrations/aiohttp/test_aiohttp.py +++ b/tests/integrations/aiohttp/test_aiohttp.py @@ -292,7 +292,7 @@ async def test_traces_sampler_gets_request_object_in_sampling_context( sentry_init, aiohttp_client, DictionaryContaining, # noqa:N803 - ObjectDescribedBy, + ObjectDescribedBy, # noqa:N803 ): traces_sampler = mock.Mock() sentry_init( diff --git a/tests/integrations/aws_lambda/test_aws.py b/tests/integrations/aws_lambda/test_aws.py index 5f2dba132d..d0879f7fca 100644 --- a/tests/integrations/aws_lambda/test_aws.py +++ b/tests/integrations/aws_lambda/test_aws.py @@ -563,8 +563,8 @@ def test_handler(event, context): def test_traces_sampler_gets_correct_values_in_sampling_context( run_lambda_function, DictionaryContaining, # noqa:N803 - ObjectDescribedBy, - StringContaining, + ObjectDescribedBy, # noqa:N803 + StringContaining, # noqa:N803 ): # TODO: This whole thing is a little hacky, specifically around the need to # get `conftest.py` code into the AWS runtime, which is why there's both diff --git a/tests/integrations/celery/test_celery.py b/tests/integrations/celery/test_celery.py index c6eb55536c..9ada8640ad 100644 --- a/tests/integrations/celery/test_celery.py +++ b/tests/integrations/celery/test_celery.py @@ -418,11 +418,24 @@ def dummy_task(self): @pytest.mark.parametrize("newrelic_order", ["sentry_first", "sentry_last"]) def test_newrelic_interference(init_celery, newrelic_order, celery_invocation): def instrument_newrelic(): - import celery.app.trace as celery_mod - from newrelic.hooks.application_celery import instrument_celery_execute_trace - - assert hasattr(celery_mod, "build_tracer") - instrument_celery_execute_trace(celery_mod) + try: + # older newrelic versions + from newrelic.hooks.application_celery import ( + instrument_celery_execute_trace, + ) + import celery.app.trace as celery_trace_module + + assert hasattr(celery_trace_module, "build_tracer") + instrument_celery_execute_trace(celery_trace_module) + + except ImportError: + # newer newrelic versions + from newrelic.hooks.application_celery import instrument_celery_app_base + import celery.app as celery_app_module + + assert hasattr(celery_app_module, "Celery") + assert hasattr(celery_app_module.Celery, "send_task") + instrument_celery_app_base(celery_app_module) if newrelic_order == "sentry_first": celery = init_celery() diff --git a/tests/integrations/stdlib/test_subprocess.py b/tests/integrations/stdlib/test_subprocess.py index d1684c356d..00f417c2f3 100644 --- a/tests/integrations/stdlib/test_subprocess.py +++ b/tests/integrations/stdlib/test_subprocess.py @@ -189,7 +189,7 @@ def test_subprocess_empty_env(sentry_init, monkeypatch): "-c", "import os; print(os.environ.get('TEST_MARKER', None))", ] - output = subprocess.check_output(args, env={}, text=True) + output = subprocess.check_output(args, env={}, universal_newlines=True) assert "should_not_be_seen" not in output diff --git a/tests/integrations/trytond/test_trytond.py b/tests/integrations/trytond/test_trytond.py index c4593c3060..30479ca14a 100644 --- a/tests/integrations/trytond/test_trytond.py +++ b/tests/integrations/trytond/test_trytond.py @@ -122,8 +122,14 @@ def _(app, request, e): ) (event,) = events - (content, status, headers) = response - data = json.loads(next(content)) + if hasattr(response, "status"): + status = response.status + data = json.loads(response.get_data()) + headers = response.headers + else: + (content, status, headers) = response + data = json.loads(next(content)) + assert status == "200 OK" assert headers.get("Content-Type") == "application/json" assert data == dict(id=42, error=["UserError", [event["event_id"], "foo", None]]) diff --git a/tests/test_utils.py b/tests/test_utils.py index 4b8e9087cc..812718599c 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -23,6 +23,7 @@ serialize_frame, is_sentry_url, _get_installed_modules, + _generate_installed_modules, ) import sentry_sdk @@ -538,7 +539,7 @@ def test_installed_modules(): installed_distributions = { _normalize_distribution_name(dist): version - for dist, version in _get_installed_modules().items() + for dist, version in _generate_installed_modules() } if importlib_available: diff --git a/tox.ini b/tox.ini index 1e7ba06a00..ac886e8cff 100644 --- a/tox.ini +++ b/tox.ini @@ -26,23 +26,22 @@ envlist = # AIOHTTP {py3.7}-aiohttp-v{3.4} - {py3.7,py3.9,py3.11}-aiohttp-v{3.8} - {py3.8,py3.11}-aiohttp-latest + {py3.7,py3.9,py3.11}-aiohttp-v{3.9} # Ariadne {py3.8,py3.11}-ariadne-v{0.20} - {py3.8,py3.11,py3.12}-ariadne-latest + {py3.8,py3.11,py3.12}-ariadne-v{0.23} # Arq {py3.7,py3.11}-arq-v{0.23} - {py3.7,py3.11,py3.12}-arq-latest + {py3.7,py3.11,py3.12}-arq-v{0.25} # Asgi {py3.7,py3.11,py3.12}-asgi # asyncpg {py3.7,py3.10}-asyncpg-v{0.23} - {py3.8,py3.11,py3.12}-asyncpg-latest + {py3.8,py3.11,py3.12}-asyncpg-v{0.29} # AWS Lambda # The aws_lambda tests deploy to the real AWS and have their own @@ -52,17 +51,15 @@ envlist = # Beam {py3.7}-beam-v{2.12} - {py3.8,py3.11}-beam-latest + {py3.8,py3.11}-beam-v{2.50} # Boto3 {py2.7,py3.6,py3.7}-boto3-v{1.12} {py3.7,py3.11,py3.12}-boto3-v{1.21} {py3.7,py3.11,py3.12}-boto3-v{1.29} - {py3.7,py3.11,py3.12}-boto3-latest # Bottle {py2.7,py3.5,py3.9}-bottle-v{0.12} - {py3.5,py3.11,py3.12}-bottle-latest # Celery {py2.7}-celery-v{3} @@ -70,15 +67,12 @@ envlist = {py3.6,py3.8}-celery-v{5.0} {py3.7,py3.10}-celery-v{5.1,5.2} {py3.8,py3.11}-celery-v{5.3} - {py3.8,py3.11}-celery-latest # Chalice {py3.6,py3.9}-chalice-v{1.16} - {py3.7,py3.10}-chalice-latest # Clickhouse Driver {py3.8,py3.11}-clickhouse_driver-v{0.2.0} - {py3.8,py3.11,py3.12}-clickhouse_driver-latest # Cloud Resource Context {py3.6,py3.11,py3.12}-cloud_resource_context @@ -97,58 +91,51 @@ envlist = {py3.8,py3.11,py3.12}-django-v{4.0,4.1,4.2} # - Django 5.x {py3.10,py3.11,py3.12}-django-v{5.0} - {py3.10,py3.11,py3.12}-django-latest # Falcon {py2.7,py3.5,py3.7}-falcon-v{1,1.4,2} {py3.5,py3.6,py3.11,py3.12}-falcon-v{3} - {py3.7,py3.11,py3.12}-falcon-latest # FastAPI {py3.7,py3.10}-fastapi-v{0.79} - {py3.8,py3.11,py3.12}-fastapi-latest + {py3.8,py3.11,py3.12}-fastapi-v{0.110} # Flask {py2.7,py3.5}-flask-v{0,0.11} {py2.7,py3.5,py3.8}-flask-v{1} {py3.8,py3.11,py3.12}-flask-v{2} {py3.10,py3.11,py3.12}-flask-v{3} - {py3.10,py3.11,py3.12}-flask-latest # GCP {py3.7}-gcp # GQL {py3.7,py3.11}-gql-v{3.4} - {py3.7,py3.11}-gql-latest + {py3.7,py3.11}-gql-v{3.5} # Graphene {py3.7,py3.11}-graphene-v{3.3} - {py3.7,py3.11,py3.12}-graphene-latest # gRPC {py3.7,py3.10}-grpc-v{1.21,1.30,1.40} {py3.7,py3.11}-grpc-v{1.50} - {py3.8,py3.11,py3.12}-grpc-latest # HTTPX {py3.6,py3.9}-httpx-v{0.16,0.18} {py3.6,py3.10}-httpx-v{0.20,0.22} {py3.7,py3.11,py3.12}-httpx-v{0.23,0.24} {py3.9,py3.11,py3.12}-httpx-v{0.25} - {py3.9,py3.11,py3.12}-httpx-latest # Huey {py2.7,py3.5,py3.11,py3.12}-huey-v{2.0} - {py3.5,py3.11,py3.12}-huey-latest + {py3.5,py3.11,py3.12}-huey-v{2.5} # Loguru {py3.5,py3.11,py3.12}-loguru-v{0.5} - {py3.5,py3.11,py3.12}-loguru-latest + {py3.5,py3.11,py3.12}-loguru-v{0.7} # OpenAI {py3.9,py3.11,py3.12}-openai-v1 - {py3.9,py3.11,py3.12}-openai-latest {py3.9,py3.11,py3.12}-openai-notiktoken # OpenTelemetry (OTel) @@ -162,28 +149,23 @@ envlist = {py2.7,py3.6,py3.9}-pymongo-v{3.12} {py3.6,py3.11}-pymongo-v{4.0} {py3.7,py3.11,py3.12}-pymongo-v{4.3,4.6} - {py3.7,py3.11,py3.12}-pymongo-latest # Pyramid {py2.7,py3.5,py3.11}-pyramid-v{1.6} {py2.7,py3.5,py3.11,py3.12}-pyramid-v{1.10} {py3.6,py3.11,py3.12}-pyramid-v{2.0} - {py3.6,py3.11,py3.12}-pyramid-latest # Quart {py3.7,py3.11}-quart-v{0.16} {py3.8,py3.11,py3.12}-quart-v{0.19} - {py3.8,py3.11,py3.12}-quart-latest # Redis {py2.7,py3.7,py3.8}-redis-v{3} {py3.7,py3.8,py3.11}-redis-v{4} {py3.7,py3.11,py3.12}-redis-v{5} - {py3.7,py3.11,py3.12}-redis-latest # Redis Cluster {py2.7,py3.7,py3.8}-rediscluster-v{1,2} - # no -latest, not developed anymore # Requests {py2.7,py3.8,py3.11,py3.12}-requests @@ -193,20 +175,17 @@ envlist = {py2.7,py3.5,py3.9}-rq-v{0.13,1.0} {py3.5,py3.11}-rq-v{1.5,1.10} {py3.7,py3.11,py3.12}-rq-v{1.15} - {py3.7,py3.11,py3.12}-rq-latest # Sanic {py3.5,py3.7}-sanic-v{0.8} {py3.6,py3.8}-sanic-v{20} {py3.7,py3.11}-sanic-v{22} {py3.7,py3.11}-sanic-v{23} - {py3.8,py3.11}-sanic-latest # Starlette {py3.7,py3.10}-starlette-v{0.19} {py3.7,py3.11}-starlette-v{0.20,0.24,0.28} {py3.8,py3.11,py3.12}-starlette-v{0.32} - {py3.8,py3.11,py3.12}-starlette-latest # Starlite {py3.8,py3.11}-starlite-v{1.48,1.51} @@ -215,23 +194,20 @@ envlist = # SQL Alchemy {py2.7,py3.7,py3.9}-sqlalchemy-v{1.2,1.4} {py3.7,py3.11}-sqlalchemy-v{2.0} - {py3.7,py3.11,py3.12}-sqlalchemy-latest # Strawberry {py3.8,py3.11}-strawberry-v{0.209} - {py3.8,py3.11,py3.12}-strawberry-latest + {py3.8,py3.11,py3.12}-strawberry-v{0.224} # Tornado {py3.7,py3.9}-tornado-v{5} {py3.8,py3.11,py3.12}-tornado-v{6} - {py3.8,py3.11,py3.12}-tornado-latest # Trytond {py3.5,py3.6}-trytond-v{4} {py3.6,py3.8}-trytond-v{5} {py3.6,py3.11}-trytond-v{6} {py3.8,py3.11,py3.12}-trytond-v{7} - {py3.8,py3.11,py3.12}-trytond-latest [testenv] deps = @@ -263,14 +239,13 @@ deps = # AIOHTTP aiohttp-v3.4: aiohttp~=3.4.0 aiohttp-v3.8: aiohttp~=3.8.0 - aiohttp-latest: aiohttp aiohttp: pytest-aiohttp aiohttp-v3.8: pytest-asyncio<=0.21.1 - aiohttp-latest: pytest-asyncio<=0.21.1 + aiohttp-v3.9: pytest-asyncio<=0.21.1 # Ariadne ariadne-v0.20: ariadne~=0.20.0 - ariadne-latest: ariadne + ariadne-v0.23: ariadne~=0.23.0 ariadne: fastapi ariadne: flask ariadne: httpx @@ -278,7 +253,8 @@ deps = # Arq arq-v0.23: arq~=0.23.0 arq-v0.23: pydantic<2 - arq-latest: arq + arq-v0.25: arq~=0.25.0 + arq-v0.25: pydantic<2 arq: fakeredis>=2.2.0,<2.8 arq: pytest-asyncio<=0.21.1 arq: async-timeout @@ -289,7 +265,7 @@ deps = # Asyncpg asyncpg-v0.23: asyncpg~=0.23.0 - asyncpg-latest: asyncpg + asyncpg-v0.29: asyncpg~=0.29.0 asyncpg: pytest-asyncio<=0.21.1 # AWS Lambda @@ -297,18 +273,16 @@ deps = # Beam beam-v2.12: apache-beam~=2.12.0 - beam-latest: apache-beam + beam-v2.50: apache-beam~=2.50.0 # Boto3 boto3-v1.12: boto3~=1.12.0 boto3-v1.21: boto3~=1.21.0 boto3-v1.29: boto3~=1.29.0 - boto3-latest: boto3 # Bottle bottle: Werkzeug<2.1.0 bottle-v0.12: bottle~=0.12.0 - bottle-latest: bottle # Celery celery: redis @@ -318,15 +292,12 @@ deps = celery-v5.1: Celery~=5.1.0 celery-v5.2: Celery~=5.2.0 celery-v5.3: Celery~=5.3.0 - celery-latest: Celery - {py3.5}-celery: newrelic<6.0.0 {py3.7}-celery: importlib-metadata<5.0 - {py2.7,py3.6,py3.7,py3.8,py3.9,py3.10,py3.11}-celery: newrelic + {py2.7,py3.5,py3.6,py3.7,py3.8,py3.9,py3.10,py3.11}-celery: newrelic # Chalice chalice-v1.16: chalice~=1.16.0 - chalice-latest: chalice chalice: pytest-chalice==0.0.5 {py3.7}-chalice: botocore~=1.31 @@ -334,7 +305,6 @@ deps = # Clickhouse Driver clickhouse_driver-v0.2.0: clickhouse_driver~=0.2.0 - clickhouse_driver-latest: clickhouse_driver # Django django: psycopg2-binary @@ -346,11 +316,6 @@ deps = django-v{4.0,4.1,4.2,5.0}: djangorestframework django-v{4.0,4.1,4.2,5.0}: pytest-asyncio<=0.21.1 django-v{4.0,4.1,4.2,5.0}: Werkzeug - django-latest: djangorestframework - django-latest: pytest-asyncio<=0.21.1 - django-latest: pytest-django - django-latest: Werkzeug - django-latest: channels[daphne] django-v1.8: Django~=1.8.0 django-v1.11: Django~=1.11.0 @@ -362,14 +327,12 @@ deps = django-v4.1: Django~=4.1.0 django-v4.2: Django~=4.2.0 django-v5.0: Django~=5.0.0 - django-latest: Django # Falcon falcon-v1.4: falcon~=1.4.0 falcon-v1: falcon~=1.0 falcon-v2: falcon~=2.0 falcon-v3: falcon~=3.0 - falcon-latest: falcon # FastAPI fastapi: httpx @@ -379,7 +342,7 @@ deps = fastapi: python-multipart fastapi: requests fastapi-v{0.79}: fastapi~=0.79.0 - fastapi-latest: fastapi + fastapi-v{0.110}: fastapi~=0.110.0 # Flask flask: flask-login @@ -391,11 +354,10 @@ deps = flask-v1: Flask~=1.0 flask-v2: Flask~=2.0 flask-v3: Flask~=3.0 - flask-latest: Flask # GQL gql-v{3.4}: gql[all]~=3.4.0 - gql-latest: gql[all] + gql-v{3.5}: gql[all]~=3.5.0 # Graphene graphene: blinker @@ -403,7 +365,6 @@ deps = graphene: flask graphene: httpx graphene-v{3.3}: graphene~=3.3.0 - graphene-latest: graphene # gRPC grpc: protobuf @@ -414,14 +375,13 @@ deps = grpc-v1.30: grpcio-tools~=1.30.0 grpc-v1.40: grpcio-tools~=1.40.0 grpc-v1.50: grpcio-tools~=1.50.0 - grpc-latest: grpcio-tools # HTTPX httpx-v0.16: pytest-httpx==0.10.0 httpx-v0.18: pytest-httpx==0.12.0 httpx-v0.20: pytest-httpx==0.14.0 httpx-v0.22: pytest-httpx==0.19.0 - httpx-v0.23: pytest-httpx==0.21.0 + httpx-v0.23: pytest-httpx~=0.21.0 httpx-v0.24: pytest-httpx==0.22.0 httpx-v0.25: pytest-httpx==0.25.0 httpx: pytest-httpx @@ -434,21 +394,18 @@ deps = httpx-v0.23: httpx~=0.23.0 httpx-v0.24: httpx~=0.24.0 httpx-v0.25: httpx~=0.25.0 - httpx-latest: httpx # Huey huey-v2.0: huey~=2.0.0 - huey-latest: huey + huey-v2.5: huey~=2.5.0 # Loguru loguru-v0.5: loguru~=0.5.0 - loguru-latest: loguru + loguru-v0.7: loguru~=0.7.0 # OpenAI - openai-v1: openai~=1.0.0 + openai-v1: openai==1.16.2 openai-v1: tiktoken~=0.6.0 - openai-latest: openai - openai-latest: tiktoken~=0.6.0 openai-notiktoken: openai # OpenTelemetry (OTel) @@ -464,14 +421,12 @@ deps = pymongo-v4.0: pymongo~=4.0.0 pymongo-v4.3: pymongo~=4.3.0 pymongo-v4.6: pymongo~=4.6.0 - pymongo-latest: pymongo # Pyramid pyramid: Werkzeug<2.1.0 pyramid-v1.6: pyramid~=1.6.0 pyramid-v1.10: pyramid~=1.10.0 pyramid-v2.0: pyramid~=2.0.0 - pyramid-latest: pyramid # Quart quart: quart-auth @@ -483,7 +438,6 @@ deps = quart-v0.16: quart~=0.16.0 quart-v0.19: Werkzeug>=3.0.0 quart-v0.19: quart~=0.19.0 - quart-latest: quart # Redis redis: fakeredis!=1.7.4 @@ -491,7 +445,6 @@ deps = redis-v3: redis~=3.0 redis-v4: redis~=4.0 redis-v5: redis~=5.0 - redis-latest: redis # Redis Cluster rediscluster-v1: redis-py-cluster~=1.0 @@ -506,27 +459,23 @@ deps = rq-v{0.6}: redis<3.2.2 rq-v{0.13,1.0,1.5,1.10}: fakeredis>=1.0,<1.7.4 rq-v{1.15}: fakeredis - rq-latest: fakeredis rq-v0.6: rq~=0.6.0 rq-v0.13: rq~=0.13.0 rq-v1.0: rq~=1.0.0 rq-v1.5: rq~=1.5.0 rq-v1.10: rq~=1.10.0 rq-v1.15: rq~=1.15.0 - rq-latest: rq # Sanic sanic: websockets<11.0 sanic: aiohttp sanic-v{22,23}: sanic_testing - sanic-latest: sanic_testing {py3.5,py3.6}-sanic: aiocontextvars==0.2.1 {py3.5}-sanic: ujson<4 sanic-v0.8: sanic~=0.8.0 sanic-v20: sanic~=20.0 sanic-v22: sanic~=22.0 sanic-v23: sanic~=23.0 - sanic-latest: sanic # Starlette starlette: pytest-asyncio<=0.21.1 @@ -541,7 +490,6 @@ deps = starlette-v0.24: starlette~=0.24.0 starlette-v0.28: starlette~=0.28.0 starlette-v0.32: starlette~=0.32.0 - starlette-latest: starlette # Starlite starlite: pytest-asyncio<=0.21.1 @@ -556,30 +504,26 @@ deps = sqlalchemy-v1.2: sqlalchemy~=1.2.0 sqlalchemy-v1.4: sqlalchemy~=1.4.0 sqlalchemy-v2.0: sqlalchemy~=2.0.0 - sqlalchemy-latest: sqlalchemy # Strawberry strawberry: fastapi strawberry: flask strawberry: httpx strawberry-v0.209: strawberry-graphql[fastapi,flask]~=0.209.0 - strawberry-latest: strawberry-graphql[fastapi,flask] + strawberry-v0.224: strawberry-graphql[fastapi,flask]~=0.224.0 # Tornado tornado-v5: tornado~=5.0 tornado-v6: tornado~=6.0 - tornado-latest: tornado # Trytond trytond-v4: trytond~=4.0 trytond-v5: trytond~=5.0 trytond-v6: trytond~=6.0 trytond-v7: trytond~=7.0 - trytond-latest: trytond trytond-v{4}: werkzeug<1.0 - trytond-v{5,6,7}: werkzeug<2.0 - trytond-latest: werkzeug<2.0 + trytond-v{5,6,7}: werkzeug<3.0 setenv = PYTHONDONTWRITEBYTECODE=1 @@ -596,6 +540,7 @@ setenv = boto3: TESTPATH=tests/integrations/boto3 bottle: TESTPATH=tests/integrations/bottle celery: TESTPATH=tests/integrations/celery + py{3.8,3.10}-celery: VIRTUALENV_PIP=23.3.2 chalice: TESTPATH=tests/integrations/chalice clickhouse_driver: TESTPATH=tests/integrations/clickhouse_driver cloud_resource_context: TESTPATH=tests/integrations/cloud_resource_context