diff --git a/.github/workflows/test-integration-aiohttp.yml b/.github/workflows/test-integration-aiohttp.yml deleted file mode 100644 index b6aeb55e6e..0000000000 --- a/.github/workflows/test-integration-aiohttp.yml +++ /dev/null @@ -1,108 +0,0 @@ -name: Test aiohttp -on: - push: - branches: - - master - - release/** - pull_request: -# Cancel in progress workflows on pull_requests. -# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true -permissions: - contents: read -env: - BUILD_CACHE_KEY: ${{ github.sha }} - CACHED_BUILD_PATHS: | - ${{ github.workspace }}/dist-serverless -jobs: - test-pinned: - timeout-minutes: 30 - name: aiohttp pinned, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.7","3.8","3.9","3.10","3.11"] - # 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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test aiohttp - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-aiohttp" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-latest: - timeout-minutes: 30 - name: aiohttp latest, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.8","3.9","3.10","3.11"] - # 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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test aiohttp - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh "py${{ matrix.python-version }}-aiohttp-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - check_required_tests: - name: All aiohttp tests passed or skipped - needs: test-pinned - # Always run this, even if a dependent job failed - if: always() - runs-on: ubuntu-20.04 - steps: - - name: Check for failures - if: contains(needs.test-pinned.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integration-ariadne.yml b/.github/workflows/test-integration-ariadne.yml deleted file mode 100644 index 191dcd3301..0000000000 --- a/.github/workflows/test-integration-ariadne.yml +++ /dev/null @@ -1,108 +0,0 @@ -name: Test ariadne -on: - push: - branches: - - master - - release/** - pull_request: -# Cancel in progress workflows on pull_requests. -# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true -permissions: - contents: read -env: - BUILD_CACHE_KEY: ${{ github.sha }} - CACHED_BUILD_PATHS: | - ${{ github.workspace }}/dist-serverless -jobs: - test-pinned: - timeout-minutes: 30 - name: ariadne pinned, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.8","3.9","3.10","3.11"] - # 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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test ariadne - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-ariadne" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-latest: - timeout-minutes: 30 - name: ariadne latest, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.8","3.9","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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test ariadne - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh "py${{ matrix.python-version }}-ariadne-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - check_required_tests: - name: All ariadne tests passed or skipped - needs: test-pinned - # Always run this, even if a dependent job failed - if: always() - runs-on: ubuntu-20.04 - steps: - - name: Check for failures - if: contains(needs.test-pinned.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integration-arq.yml b/.github/workflows/test-integration-arq.yml deleted file mode 100644 index 276b69ddaa..0000000000 --- a/.github/workflows/test-integration-arq.yml +++ /dev/null @@ -1,108 +0,0 @@ -name: Test arq -on: - push: - branches: - - master - - release/** - pull_request: -# Cancel in progress workflows on pull_requests. -# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true -permissions: - contents: read -env: - BUILD_CACHE_KEY: ${{ github.sha }} - CACHED_BUILD_PATHS: | - ${{ github.workspace }}/dist-serverless -jobs: - test-pinned: - timeout-minutes: 30 - name: arq pinned, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.7","3.8","3.9","3.10","3.11"] - # 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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test arq - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-arq" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-latest: - timeout-minutes: 30 - name: arq latest, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.7","3.8","3.9","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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test arq - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh "py${{ matrix.python-version }}-arq-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - check_required_tests: - name: All arq tests passed or skipped - needs: test-pinned - # Always run this, even if a dependent job failed - if: always() - runs-on: ubuntu-20.04 - steps: - - name: Check for failures - if: contains(needs.test-pinned.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integration-asgi.yml b/.github/workflows/test-integration-asgi.yml deleted file mode 100644 index 940d01f43f..0000000000 --- a/.github/workflows/test-integration-asgi.yml +++ /dev/null @@ -1,69 +0,0 @@ -name: Test asgi -on: - push: - branches: - - master - - release/** - pull_request: -# Cancel in progress workflows on pull_requests. -# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true -permissions: - contents: read -env: - BUILD_CACHE_KEY: ${{ github.sha }} - CACHED_BUILD_PATHS: | - ${{ github.workspace }}/dist-serverless -jobs: - test-pinned: - timeout-minutes: 30 - name: asgi pinned, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.7","3.8","3.9","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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test asgi - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-asgi" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - check_required_tests: - name: All asgi tests passed or skipped - needs: test-pinned - # Always run this, even if a dependent job failed - if: always() - runs-on: ubuntu-20.04 - steps: - - name: Check for failures - if: contains(needs.test-pinned.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integration-asyncpg.yml b/.github/workflows/test-integration-asyncpg.yml deleted file mode 100644 index 66c112ad47..0000000000 --- a/.github/workflows/test-integration-asyncpg.yml +++ /dev/null @@ -1,150 +0,0 @@ -name: Test asyncpg -on: - push: - branches: - - master - - release/** - pull_request: -# Cancel in progress workflows on pull_requests. -# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true -permissions: - contents: read -env: - BUILD_CACHE_KEY: ${{ github.sha }} - CACHED_BUILD_PATHS: | - ${{ github.workspace }}/dist-serverless -jobs: - test-pinned: - timeout-minutes: 30 - name: asyncpg pinned, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.7","3.8","3.9","3.10"] - # 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 - - uses: actions/setup-python@v4 - 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: Test asyncpg - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-asyncpg" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-latest: - timeout-minutes: 30 - name: asyncpg latest, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.8","3.9","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 - - uses: actions/setup-python@v4 - 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: Test asyncpg - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh "py${{ matrix.python-version }}-asyncpg-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - check_required_tests: - name: All asyncpg tests passed or skipped - needs: test-pinned - # Always run this, even if a dependent job failed - if: always() - runs-on: ubuntu-20.04 - steps: - - name: Check for failures - if: contains(needs.test-pinned.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integration-beam.yml b/.github/workflows/test-integration-beam.yml deleted file mode 100644 index 41322686c4..0000000000 --- a/.github/workflows/test-integration-beam.yml +++ /dev/null @@ -1,108 +0,0 @@ -name: Test beam -on: - push: - branches: - - master - - release/** - pull_request: -# Cancel in progress workflows on pull_requests. -# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true -permissions: - contents: read -env: - BUILD_CACHE_KEY: ${{ github.sha }} - CACHED_BUILD_PATHS: | - ${{ github.workspace }}/dist-serverless -jobs: - test-pinned: - timeout-minutes: 30 - name: beam pinned, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.7"] - # 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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test beam - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-beam" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-latest: - timeout-minutes: 30 - name: beam latest, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.8","3.9","3.10","3.11"] - # 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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test beam - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh "py${{ matrix.python-version }}-beam-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - check_required_tests: - name: All beam tests passed or skipped - needs: test-pinned - # Always run this, even if a dependent job failed - if: always() - runs-on: ubuntu-20.04 - steps: - - name: Check for failures - if: contains(needs.test-pinned.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integration-boto3.yml b/.github/workflows/test-integration-boto3.yml deleted file mode 100644 index 34da054d64..0000000000 --- a/.github/workflows/test-integration-boto3.yml +++ /dev/null @@ -1,140 +0,0 @@ -name: Test boto3 -on: - push: - branches: - - master - - release/** - pull_request: -# Cancel in progress workflows on pull_requests. -# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true -permissions: - contents: read -env: - BUILD_CACHE_KEY: ${{ github.sha }} - CACHED_BUILD_PATHS: | - ${{ github.workspace }}/dist-serverless -jobs: - test-pinned: - timeout-minutes: 30 - name: boto3 pinned, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.6","3.7","3.8","3.9","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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test boto3 - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-boto3" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-py27: - timeout-minutes: 30 - name: boto3 py27, python 2.7 - runs-on: ubuntu-20.04 - container: python:2.7 - steps: - - uses: actions/checkout@v4 - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test boto3 - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py2.7-boto3" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-latest: - timeout-minutes: 30 - name: boto3 latest, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.7","3.8","3.9","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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test boto3 - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh "py${{ matrix.python-version }}-boto3-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - check_required_tests: - name: All boto3 tests passed or skipped - needs: [test-pinned, test-py27] - # Always run this, even if a dependent job failed - if: always() - runs-on: ubuntu-20.04 - steps: - - name: Check for failures - if: contains(needs.test-pinned.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 - - name: Check for 2.7 failures - if: contains(needs.test-py27.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integration-bottle.yml b/.github/workflows/test-integration-bottle.yml deleted file mode 100644 index e178400779..0000000000 --- a/.github/workflows/test-integration-bottle.yml +++ /dev/null @@ -1,140 +0,0 @@ -name: Test bottle -on: - push: - branches: - - master - - release/** - pull_request: -# Cancel in progress workflows on pull_requests. -# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true -permissions: - contents: read -env: - BUILD_CACHE_KEY: ${{ github.sha }} - CACHED_BUILD_PATHS: | - ${{ github.workspace }}/dist-serverless -jobs: - test-pinned: - timeout-minutes: 30 - name: bottle pinned, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.5","3.6","3.7","3.8","3.9"] - # 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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test bottle - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-bottle" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-py27: - timeout-minutes: 30 - name: bottle py27, python 2.7 - runs-on: ubuntu-20.04 - container: python:2.7 - steps: - - uses: actions/checkout@v4 - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test bottle - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py2.7-bottle" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-latest: - timeout-minutes: 30 - name: bottle latest, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.5","3.6","3.7","3.8","3.9","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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test bottle - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh "py${{ matrix.python-version }}-bottle-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - check_required_tests: - name: All bottle tests passed or skipped - needs: [test-pinned, test-py27] - # Always run this, even if a dependent job failed - if: always() - runs-on: ubuntu-20.04 - steps: - - name: Check for failures - if: contains(needs.test-pinned.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 - - name: Check for 2.7 failures - if: contains(needs.test-py27.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integration-celery.yml b/.github/workflows/test-integration-celery.yml deleted file mode 100644 index 27597859e3..0000000000 --- a/.github/workflows/test-integration-celery.yml +++ /dev/null @@ -1,140 +0,0 @@ -name: Test celery -on: - push: - branches: - - master - - release/** - pull_request: -# Cancel in progress workflows on pull_requests. -# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true -permissions: - contents: read -env: - BUILD_CACHE_KEY: ${{ github.sha }} - CACHED_BUILD_PATHS: | - ${{ github.workspace }}/dist-serverless -jobs: - test-pinned: - timeout-minutes: 30 - name: celery pinned, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.5","3.6","3.7","3.8","3.9","3.10","3.11"] - # 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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test celery - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-celery" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-py27: - timeout-minutes: 30 - name: celery py27, python 2.7 - runs-on: ubuntu-20.04 - container: python:2.7 - steps: - - uses: actions/checkout@v4 - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test celery - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py2.7-celery" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-latest: - timeout-minutes: 30 - name: celery latest, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.8","3.9","3.10","3.11"] - # 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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test celery - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh "py${{ matrix.python-version }}-celery-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - check_required_tests: - name: All celery tests passed or skipped - needs: [test-pinned, test-py27] - # Always run this, even if a dependent job failed - if: always() - runs-on: ubuntu-20.04 - steps: - - name: Check for failures - if: contains(needs.test-pinned.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 - - name: Check for 2.7 failures - if: contains(needs.test-py27.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integration-chalice.yml b/.github/workflows/test-integration-chalice.yml deleted file mode 100644 index b5181ca3e0..0000000000 --- a/.github/workflows/test-integration-chalice.yml +++ /dev/null @@ -1,108 +0,0 @@ -name: Test chalice -on: - push: - branches: - - master - - release/** - pull_request: -# Cancel in progress workflows on pull_requests. -# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true -permissions: - contents: read -env: - BUILD_CACHE_KEY: ${{ github.sha }} - CACHED_BUILD_PATHS: | - ${{ github.workspace }}/dist-serverless -jobs: - test-pinned: - timeout-minutes: 30 - name: chalice pinned, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.6","3.7","3.8","3.9"] - # 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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test chalice - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-chalice" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-latest: - timeout-minutes: 30 - name: chalice latest, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.7","3.8","3.9","3.10"] - # 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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test chalice - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh "py${{ matrix.python-version }}-chalice-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - check_required_tests: - name: All chalice tests passed or skipped - needs: test-pinned - # Always run this, even if a dependent job failed - if: always() - runs-on: ubuntu-20.04 - steps: - - name: Check for failures - if: contains(needs.test-pinned.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integration-clickhouse_driver.yml b/.github/workflows/test-integration-clickhouse_driver.yml deleted file mode 100644 index be976fb77f..0000000000 --- a/.github/workflows/test-integration-clickhouse_driver.yml +++ /dev/null @@ -1,110 +0,0 @@ -name: Test clickhouse_driver -on: - push: - branches: - - master - - release/** - pull_request: -# Cancel in progress workflows on pull_requests. -# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true -permissions: - contents: read -env: - BUILD_CACHE_KEY: ${{ github.sha }} - CACHED_BUILD_PATHS: | - ${{ github.workspace }}/dist-serverless -jobs: - test-pinned: - timeout-minutes: 30 - name: clickhouse_driver pinned, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.8","3.9","3.10","3.11"] - # 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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - uses: getsentry/action-clickhouse-in-ci@v1 - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test clickhouse_driver - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-clickhouse_driver" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-latest: - timeout-minutes: 30 - name: clickhouse_driver latest, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.8","3.9","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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - uses: getsentry/action-clickhouse-in-ci@v1 - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test clickhouse_driver - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh "py${{ matrix.python-version }}-clickhouse_driver-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - check_required_tests: - name: All clickhouse_driver tests passed or skipped - needs: test-pinned - # Always run this, even if a dependent job failed - if: always() - runs-on: ubuntu-20.04 - steps: - - name: Check for failures - if: contains(needs.test-pinned.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integration-cloud_resource_context.yml b/.github/workflows/test-integration-cloud_resource_context.yml deleted file mode 100644 index b10c16b843..0000000000 --- a/.github/workflows/test-integration-cloud_resource_context.yml +++ /dev/null @@ -1,69 +0,0 @@ -name: Test cloud_resource_context -on: - push: - branches: - - master - - release/** - pull_request: -# Cancel in progress workflows on pull_requests. -# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true -permissions: - contents: read -env: - BUILD_CACHE_KEY: ${{ github.sha }} - CACHED_BUILD_PATHS: | - ${{ github.workspace }}/dist-serverless -jobs: - test-pinned: - timeout-minutes: 30 - name: cloud_resource_context pinned, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.6","3.7","3.8","3.9","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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test cloud_resource_context - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-cloud_resource_context" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - check_required_tests: - name: All cloud_resource_context tests passed or skipped - needs: test-pinned - # Always run this, even if a dependent job failed - if: always() - runs-on: ubuntu-20.04 - steps: - - name: Check for failures - if: contains(needs.test-pinned.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integration-falcon.yml b/.github/workflows/test-integration-falcon.yml deleted file mode 100644 index a562c0b34f..0000000000 --- a/.github/workflows/test-integration-falcon.yml +++ /dev/null @@ -1,140 +0,0 @@ -name: Test falcon -on: - push: - branches: - - master - - release/** - pull_request: -# Cancel in progress workflows on pull_requests. -# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true -permissions: - contents: read -env: - BUILD_CACHE_KEY: ${{ github.sha }} - CACHED_BUILD_PATHS: | - ${{ github.workspace }}/dist-serverless -jobs: - test-pinned: - timeout-minutes: 30 - name: falcon pinned, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.5","3.6","3.7","3.8","3.9","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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test falcon - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-falcon" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-py27: - timeout-minutes: 30 - name: falcon py27, python 2.7 - runs-on: ubuntu-20.04 - container: python:2.7 - steps: - - uses: actions/checkout@v4 - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test falcon - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py2.7-falcon" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-latest: - timeout-minutes: 30 - name: falcon latest, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.7","3.8","3.9","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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test falcon - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh "py${{ matrix.python-version }}-falcon-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - check_required_tests: - name: All falcon tests passed or skipped - needs: [test-pinned, test-py27] - # Always run this, even if a dependent job failed - if: always() - runs-on: ubuntu-20.04 - steps: - - name: Check for failures - if: contains(needs.test-pinned.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 - - name: Check for 2.7 failures - if: contains(needs.test-py27.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integration-fastapi.yml b/.github/workflows/test-integration-fastapi.yml deleted file mode 100644 index 8aff5bc0b5..0000000000 --- a/.github/workflows/test-integration-fastapi.yml +++ /dev/null @@ -1,108 +0,0 @@ -name: Test fastapi -on: - push: - branches: - - master - - release/** - pull_request: -# Cancel in progress workflows on pull_requests. -# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true -permissions: - contents: read -env: - BUILD_CACHE_KEY: ${{ github.sha }} - CACHED_BUILD_PATHS: | - ${{ github.workspace }}/dist-serverless -jobs: - test-pinned: - timeout-minutes: 30 - name: fastapi pinned, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.7","3.8","3.9","3.10"] - # 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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test fastapi - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-fastapi" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-latest: - timeout-minutes: 30 - name: fastapi latest, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.8","3.9","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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test fastapi - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh "py${{ matrix.python-version }}-fastapi-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - check_required_tests: - name: All fastapi tests passed or skipped - needs: test-pinned - # Always run this, even if a dependent job failed - if: always() - runs-on: ubuntu-20.04 - steps: - - name: Check for failures - if: contains(needs.test-pinned.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integration-flask.yml b/.github/workflows/test-integration-flask.yml deleted file mode 100644 index f598af0b1c..0000000000 --- a/.github/workflows/test-integration-flask.yml +++ /dev/null @@ -1,140 +0,0 @@ -name: Test flask -on: - push: - branches: - - master - - release/** - pull_request: -# Cancel in progress workflows on pull_requests. -# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true -permissions: - contents: read -env: - BUILD_CACHE_KEY: ${{ github.sha }} - CACHED_BUILD_PATHS: | - ${{ github.workspace }}/dist-serverless -jobs: - test-pinned: - timeout-minutes: 30 - name: flask pinned, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.5","3.6","3.7","3.8","3.9","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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test flask - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-flask" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-py27: - timeout-minutes: 30 - name: flask py27, python 2.7 - runs-on: ubuntu-20.04 - container: python:2.7 - steps: - - uses: actions/checkout@v4 - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test flask - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py2.7-flask" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-latest: - timeout-minutes: 30 - name: flask latest, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test flask - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh "py${{ matrix.python-version }}-flask-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - check_required_tests: - name: All flask tests passed or skipped - needs: [test-pinned, test-py27] - # Always run this, even if a dependent job failed - if: always() - runs-on: ubuntu-20.04 - steps: - - name: Check for failures - if: contains(needs.test-pinned.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 - - name: Check for 2.7 failures - if: contains(needs.test-py27.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integration-gcp.yml b/.github/workflows/test-integration-gcp.yml deleted file mode 100644 index 560089b5c3..0000000000 --- a/.github/workflows/test-integration-gcp.yml +++ /dev/null @@ -1,69 +0,0 @@ -name: Test gcp -on: - push: - branches: - - master - - release/** - pull_request: -# Cancel in progress workflows on pull_requests. -# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true -permissions: - contents: read -env: - BUILD_CACHE_KEY: ${{ github.sha }} - CACHED_BUILD_PATHS: | - ${{ github.workspace }}/dist-serverless -jobs: - test-pinned: - timeout-minutes: 30 - name: gcp pinned, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.7"] - # 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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test gcp - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-gcp" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - check_required_tests: - name: All gcp tests passed or skipped - needs: test-pinned - # Always run this, even if a dependent job failed - if: always() - runs-on: ubuntu-20.04 - steps: - - name: Check for failures - if: contains(needs.test-pinned.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integration-gevent.yml b/.github/workflows/test-integration-gevent.yml deleted file mode 100644 index 81edfe772e..0000000000 --- a/.github/workflows/test-integration-gevent.yml +++ /dev/null @@ -1,101 +0,0 @@ -name: Test gevent -on: - push: - branches: - - master - - release/** - pull_request: -# Cancel in progress workflows on pull_requests. -# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true -permissions: - contents: read -env: - BUILD_CACHE_KEY: ${{ github.sha }} - CACHED_BUILD_PATHS: | - ${{ github.workspace }}/dist-serverless -jobs: - test-pinned: - timeout-minutes: 30 - name: gevent pinned, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.6","3.7","3.8","3.9","3.10","3.11"] - # 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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test gevent - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-gevent" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-py27: - timeout-minutes: 30 - name: gevent py27, python 2.7 - runs-on: ubuntu-20.04 - container: python:2.7 - steps: - - uses: actions/checkout@v4 - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test gevent - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py2.7-gevent" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - check_required_tests: - name: All gevent tests passed or skipped - needs: [test-pinned, test-py27] - # Always run this, even if a dependent job failed - if: always() - runs-on: ubuntu-20.04 - steps: - - name: Check for failures - if: contains(needs.test-pinned.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 - - name: Check for 2.7 failures - if: contains(needs.test-py27.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integration-gql.yml b/.github/workflows/test-integration-gql.yml deleted file mode 100644 index 7726d0cab9..0000000000 --- a/.github/workflows/test-integration-gql.yml +++ /dev/null @@ -1,108 +0,0 @@ -name: Test gql -on: - push: - branches: - - master - - release/** - pull_request: -# Cancel in progress workflows on pull_requests. -# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true -permissions: - contents: read -env: - BUILD_CACHE_KEY: ${{ github.sha }} - CACHED_BUILD_PATHS: | - ${{ github.workspace }}/dist-serverless -jobs: - test-pinned: - timeout-minutes: 30 - name: gql pinned, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.7","3.8","3.9","3.10","3.11"] - # 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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test gql - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-gql" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-latest: - timeout-minutes: 30 - name: gql latest, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.7","3.8","3.9","3.10","3.11"] - # 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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test gql - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh "py${{ matrix.python-version }}-gql-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - check_required_tests: - name: All gql tests passed or skipped - needs: test-pinned - # Always run this, even if a dependent job failed - if: always() - runs-on: ubuntu-20.04 - steps: - - name: Check for failures - if: contains(needs.test-pinned.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integration-graphene.yml b/.github/workflows/test-integration-graphene.yml deleted file mode 100644 index 32d75edbdf..0000000000 --- a/.github/workflows/test-integration-graphene.yml +++ /dev/null @@ -1,108 +0,0 @@ -name: Test graphene -on: - push: - branches: - - master - - release/** - pull_request: -# Cancel in progress workflows on pull_requests. -# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true -permissions: - contents: read -env: - BUILD_CACHE_KEY: ${{ github.sha }} - CACHED_BUILD_PATHS: | - ${{ github.workspace }}/dist-serverless -jobs: - test-pinned: - timeout-minutes: 30 - name: graphene pinned, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.7","3.8","3.9","3.10","3.11"] - # 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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test graphene - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-graphene" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-latest: - timeout-minutes: 30 - name: graphene latest, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.7","3.8","3.9","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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test graphene - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh "py${{ matrix.python-version }}-graphene-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - check_required_tests: - name: All graphene tests passed or skipped - needs: test-pinned - # Always run this, even if a dependent job failed - if: always() - runs-on: ubuntu-20.04 - steps: - - name: Check for failures - if: contains(needs.test-pinned.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integration-grpc.yml b/.github/workflows/test-integration-grpc.yml deleted file mode 100644 index 30034591d7..0000000000 --- a/.github/workflows/test-integration-grpc.yml +++ /dev/null @@ -1,108 +0,0 @@ -name: Test grpc -on: - push: - branches: - - master - - release/** - pull_request: -# Cancel in progress workflows on pull_requests. -# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true -permissions: - contents: read -env: - BUILD_CACHE_KEY: ${{ github.sha }} - CACHED_BUILD_PATHS: | - ${{ github.workspace }}/dist-serverless -jobs: - test-pinned: - timeout-minutes: 30 - name: grpc pinned, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.7","3.8","3.9","3.10","3.11"] - # 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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test grpc - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-grpc" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-latest: - timeout-minutes: 30 - name: grpc latest, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.8","3.9","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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test grpc - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh "py${{ matrix.python-version }}-grpc-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - check_required_tests: - name: All grpc tests passed or skipped - needs: test-pinned - # Always run this, even if a dependent job failed - if: always() - runs-on: ubuntu-20.04 - steps: - - name: Check for failures - if: contains(needs.test-pinned.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integration-httpx.yml b/.github/workflows/test-integration-httpx.yml deleted file mode 100644 index 835f24b3ab..0000000000 --- a/.github/workflows/test-integration-httpx.yml +++ /dev/null @@ -1,108 +0,0 @@ -name: Test httpx -on: - push: - branches: - - master - - release/** - pull_request: -# Cancel in progress workflows on pull_requests. -# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true -permissions: - contents: read -env: - BUILD_CACHE_KEY: ${{ github.sha }} - CACHED_BUILD_PATHS: | - ${{ github.workspace }}/dist-serverless -jobs: - test-pinned: - timeout-minutes: 30 - name: httpx pinned, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.6","3.7","3.8","3.9","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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test httpx - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-httpx" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-latest: - timeout-minutes: 30 - name: httpx latest, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.9","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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test httpx - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh "py${{ matrix.python-version }}-httpx-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - check_required_tests: - name: All httpx tests passed or skipped - needs: test-pinned - # Always run this, even if a dependent job failed - if: always() - runs-on: ubuntu-20.04 - steps: - - name: Check for failures - if: contains(needs.test-pinned.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integration-huey.yml b/.github/workflows/test-integration-huey.yml deleted file mode 100644 index 1477111ecc..0000000000 --- a/.github/workflows/test-integration-huey.yml +++ /dev/null @@ -1,140 +0,0 @@ -name: Test huey -on: - push: - branches: - - master - - release/** - pull_request: -# Cancel in progress workflows on pull_requests. -# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true -permissions: - contents: read -env: - BUILD_CACHE_KEY: ${{ github.sha }} - CACHED_BUILD_PATHS: | - ${{ github.workspace }}/dist-serverless -jobs: - test-pinned: - timeout-minutes: 30 - name: huey pinned, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.5","3.6","3.7","3.8","3.9","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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test huey - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-huey" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-py27: - timeout-minutes: 30 - name: huey py27, python 2.7 - runs-on: ubuntu-20.04 - container: python:2.7 - steps: - - uses: actions/checkout@v4 - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test huey - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py2.7-huey" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-latest: - timeout-minutes: 30 - name: huey latest, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.5","3.6","3.7","3.8","3.9","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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test huey - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh "py${{ matrix.python-version }}-huey-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - check_required_tests: - name: All huey tests passed or skipped - needs: [test-pinned, test-py27] - # Always run this, even if a dependent job failed - if: always() - runs-on: ubuntu-20.04 - steps: - - name: Check for failures - if: contains(needs.test-pinned.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 - - name: Check for 2.7 failures - if: contains(needs.test-py27.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integration-loguru.yml b/.github/workflows/test-integration-loguru.yml deleted file mode 100644 index 1916f69b5a..0000000000 --- a/.github/workflows/test-integration-loguru.yml +++ /dev/null @@ -1,108 +0,0 @@ -name: Test loguru -on: - push: - branches: - - master - - release/** - pull_request: -# Cancel in progress workflows on pull_requests. -# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true -permissions: - contents: read -env: - BUILD_CACHE_KEY: ${{ github.sha }} - CACHED_BUILD_PATHS: | - ${{ github.workspace }}/dist-serverless -jobs: - test-pinned: - timeout-minutes: 30 - name: loguru pinned, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.5","3.6","3.7","3.8","3.9","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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test loguru - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-loguru" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-latest: - timeout-minutes: 30 - name: loguru latest, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.5","3.6","3.7","3.8","3.9","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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test loguru - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh "py${{ matrix.python-version }}-loguru-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - check_required_tests: - name: All loguru tests passed or skipped - needs: test-pinned - # Always run this, even if a dependent job failed - if: always() - runs-on: ubuntu-20.04 - steps: - - name: Check for failures - if: contains(needs.test-pinned.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integration-opentelemetry.yml b/.github/workflows/test-integration-opentelemetry.yml deleted file mode 100644 index e90015f9df..0000000000 --- a/.github/workflows/test-integration-opentelemetry.yml +++ /dev/null @@ -1,69 +0,0 @@ -name: Test opentelemetry -on: - push: - branches: - - master - - release/** - pull_request: -# Cancel in progress workflows on pull_requests. -# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true -permissions: - contents: read -env: - BUILD_CACHE_KEY: ${{ github.sha }} - CACHED_BUILD_PATHS: | - ${{ github.workspace }}/dist-serverless -jobs: - test-pinned: - timeout-minutes: 30 - name: opentelemetry pinned, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.7","3.8","3.9","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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test opentelemetry - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-opentelemetry" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - check_required_tests: - name: All opentelemetry tests passed or skipped - needs: test-pinned - # Always run this, even if a dependent job failed - if: always() - runs-on: ubuntu-20.04 - steps: - - name: Check for failures - if: contains(needs.test-pinned.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integration-pure_eval.yml b/.github/workflows/test-integration-pure_eval.yml deleted file mode 100644 index 7b025fe403..0000000000 --- a/.github/workflows/test-integration-pure_eval.yml +++ /dev/null @@ -1,69 +0,0 @@ -name: Test pure_eval -on: - push: - branches: - - master - - release/** - pull_request: -# Cancel in progress workflows on pull_requests. -# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true -permissions: - contents: read -env: - BUILD_CACHE_KEY: ${{ github.sha }} - CACHED_BUILD_PATHS: | - ${{ github.workspace }}/dist-serverless -jobs: - test-pinned: - timeout-minutes: 30 - name: pure_eval pinned, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.5","3.6","3.7","3.8","3.9","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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test pure_eval - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-pure_eval" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - check_required_tests: - name: All pure_eval tests passed or skipped - needs: test-pinned - # Always run this, even if a dependent job failed - if: always() - runs-on: ubuntu-20.04 - steps: - - name: Check for failures - if: contains(needs.test-pinned.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integration-pymongo.yml b/.github/workflows/test-integration-pymongo.yml deleted file mode 100644 index 4de6c3adfc..0000000000 --- a/.github/workflows/test-integration-pymongo.yml +++ /dev/null @@ -1,140 +0,0 @@ -name: Test pymongo -on: - push: - branches: - - master - - release/** - pull_request: -# Cancel in progress workflows on pull_requests. -# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true -permissions: - contents: read -env: - BUILD_CACHE_KEY: ${{ github.sha }} - CACHED_BUILD_PATHS: | - ${{ github.workspace }}/dist-serverless -jobs: - test-pinned: - timeout-minutes: 30 - name: pymongo pinned, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.6","3.7","3.8","3.9","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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test pymongo - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-pymongo" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-py27: - timeout-minutes: 30 - name: pymongo py27, python 2.7 - runs-on: ubuntu-20.04 - container: python:2.7 - steps: - - uses: actions/checkout@v4 - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test pymongo - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py2.7-pymongo" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-latest: - timeout-minutes: 30 - name: pymongo latest, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.7","3.8","3.9","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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test pymongo - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh "py${{ matrix.python-version }}-pymongo-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - check_required_tests: - name: All pymongo tests passed or skipped - needs: [test-pinned, test-py27] - # Always run this, even if a dependent job failed - if: always() - runs-on: ubuntu-20.04 - steps: - - name: Check for failures - if: contains(needs.test-pinned.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 - - name: Check for 2.7 failures - if: contains(needs.test-py27.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integration-pyramid.yml b/.github/workflows/test-integration-pyramid.yml deleted file mode 100644 index efa204ca9b..0000000000 --- a/.github/workflows/test-integration-pyramid.yml +++ /dev/null @@ -1,140 +0,0 @@ -name: Test pyramid -on: - push: - branches: - - master - - release/** - pull_request: -# Cancel in progress workflows on pull_requests. -# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true -permissions: - contents: read -env: - BUILD_CACHE_KEY: ${{ github.sha }} - CACHED_BUILD_PATHS: | - ${{ github.workspace }}/dist-serverless -jobs: - test-pinned: - timeout-minutes: 30 - name: pyramid pinned, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.5","3.6","3.7","3.8","3.9","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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test pyramid - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-pyramid" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-py27: - timeout-minutes: 30 - name: pyramid py27, python 2.7 - runs-on: ubuntu-20.04 - container: python:2.7 - steps: - - uses: actions/checkout@v4 - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test pyramid - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py2.7-pyramid" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-latest: - timeout-minutes: 30 - name: pyramid latest, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.6","3.7","3.8","3.9","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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test pyramid - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh "py${{ matrix.python-version }}-pyramid-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - check_required_tests: - name: All pyramid tests passed or skipped - needs: [test-pinned, test-py27] - # Always run this, even if a dependent job failed - if: always() - runs-on: ubuntu-20.04 - steps: - - name: Check for failures - if: contains(needs.test-pinned.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 - - name: Check for 2.7 failures - if: contains(needs.test-py27.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integration-quart.yml b/.github/workflows/test-integration-quart.yml deleted file mode 100644 index 14a8dff00f..0000000000 --- a/.github/workflows/test-integration-quart.yml +++ /dev/null @@ -1,108 +0,0 @@ -name: Test quart -on: - push: - branches: - - master - - release/** - pull_request: -# Cancel in progress workflows on pull_requests. -# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true -permissions: - contents: read -env: - BUILD_CACHE_KEY: ${{ github.sha }} - CACHED_BUILD_PATHS: | - ${{ github.workspace }}/dist-serverless -jobs: - test-pinned: - timeout-minutes: 30 - name: quart pinned, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.7","3.8","3.9","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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test quart - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-quart" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-latest: - timeout-minutes: 30 - name: quart latest, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.8","3.9","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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test quart - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh "py${{ matrix.python-version }}-quart-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - check_required_tests: - name: All quart tests passed or skipped - needs: test-pinned - # Always run this, even if a dependent job failed - if: always() - runs-on: ubuntu-20.04 - steps: - - name: Check for failures - if: contains(needs.test-pinned.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integration-redis.yml b/.github/workflows/test-integration-redis.yml deleted file mode 100644 index 1579299fec..0000000000 --- a/.github/workflows/test-integration-redis.yml +++ /dev/null @@ -1,140 +0,0 @@ -name: Test redis -on: - push: - branches: - - master - - release/** - pull_request: -# Cancel in progress workflows on pull_requests. -# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true -permissions: - contents: read -env: - BUILD_CACHE_KEY: ${{ github.sha }} - CACHED_BUILD_PATHS: | - ${{ github.workspace }}/dist-serverless -jobs: - test-pinned: - timeout-minutes: 30 - name: redis pinned, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.7","3.8","3.9","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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test redis - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-redis" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-py27: - timeout-minutes: 30 - name: redis py27, python 2.7 - runs-on: ubuntu-20.04 - container: python:2.7 - steps: - - uses: actions/checkout@v4 - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test redis - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py2.7-redis" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-latest: - timeout-minutes: 30 - name: redis latest, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.7","3.8","3.9","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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test redis - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh "py${{ matrix.python-version }}-redis-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - check_required_tests: - name: All redis tests passed or skipped - needs: [test-pinned, test-py27] - # Always run this, even if a dependent job failed - if: always() - runs-on: ubuntu-20.04 - steps: - - name: Check for failures - if: contains(needs.test-pinned.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 - - name: Check for 2.7 failures - if: contains(needs.test-py27.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integration-rediscluster.yml b/.github/workflows/test-integration-rediscluster.yml deleted file mode 100644 index e235e277ad..0000000000 --- a/.github/workflows/test-integration-rediscluster.yml +++ /dev/null @@ -1,101 +0,0 @@ -name: Test rediscluster -on: - push: - branches: - - master - - release/** - pull_request: -# Cancel in progress workflows on pull_requests. -# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true -permissions: - contents: read -env: - BUILD_CACHE_KEY: ${{ github.sha }} - CACHED_BUILD_PATHS: | - ${{ github.workspace }}/dist-serverless -jobs: - test-pinned: - timeout-minutes: 30 - name: rediscluster pinned, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.7","3.8"] - # 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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test rediscluster - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-rediscluster" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-py27: - timeout-minutes: 30 - name: rediscluster py27, python 2.7 - runs-on: ubuntu-20.04 - container: python:2.7 - steps: - - uses: actions/checkout@v4 - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test rediscluster - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py2.7-rediscluster" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - check_required_tests: - name: All rediscluster tests passed or skipped - needs: [test-pinned, test-py27] - # Always run this, even if a dependent job failed - if: always() - runs-on: ubuntu-20.04 - steps: - - name: Check for failures - if: contains(needs.test-pinned.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 - - name: Check for 2.7 failures - if: contains(needs.test-py27.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integration-requests.yml b/.github/workflows/test-integration-requests.yml deleted file mode 100644 index dd08b2c669..0000000000 --- a/.github/workflows/test-integration-requests.yml +++ /dev/null @@ -1,101 +0,0 @@ -name: Test requests -on: - push: - branches: - - master - - release/** - pull_request: -# Cancel in progress workflows on pull_requests. -# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true -permissions: - contents: read -env: - BUILD_CACHE_KEY: ${{ github.sha }} - CACHED_BUILD_PATHS: | - ${{ github.workspace }}/dist-serverless -jobs: - test-pinned: - timeout-minutes: 30 - name: requests pinned, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.8","3.9","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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test requests - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-requests" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-py27: - timeout-minutes: 30 - name: requests py27, python 2.7 - runs-on: ubuntu-20.04 - container: python:2.7 - steps: - - uses: actions/checkout@v4 - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test requests - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py2.7-requests" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - check_required_tests: - name: All requests tests passed or skipped - needs: [test-pinned, test-py27] - # Always run this, even if a dependent job failed - if: always() - runs-on: ubuntu-20.04 - steps: - - name: Check for failures - if: contains(needs.test-pinned.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 - - name: Check for 2.7 failures - if: contains(needs.test-py27.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integration-rq.yml b/.github/workflows/test-integration-rq.yml deleted file mode 100644 index 32f24ce305..0000000000 --- a/.github/workflows/test-integration-rq.yml +++ /dev/null @@ -1,140 +0,0 @@ -name: Test rq -on: - push: - branches: - - master - - release/** - pull_request: -# Cancel in progress workflows on pull_requests. -# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true -permissions: - contents: read -env: - BUILD_CACHE_KEY: ${{ github.sha }} - CACHED_BUILD_PATHS: | - ${{ github.workspace }}/dist-serverless -jobs: - test-pinned: - timeout-minutes: 30 - name: rq pinned, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.5","3.6","3.7","3.8","3.9","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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test rq - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-rq" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-py27: - timeout-minutes: 30 - name: rq py27, python 2.7 - runs-on: ubuntu-20.04 - container: python:2.7 - steps: - - uses: actions/checkout@v4 - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test rq - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py2.7-rq" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-latest: - timeout-minutes: 30 - name: rq latest, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.7","3.8","3.9","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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test rq - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh "py${{ matrix.python-version }}-rq-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - check_required_tests: - name: All rq tests passed or skipped - needs: [test-pinned, test-py27] - # Always run this, even if a dependent job failed - if: always() - runs-on: ubuntu-20.04 - steps: - - name: Check for failures - if: contains(needs.test-pinned.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 - - name: Check for 2.7 failures - if: contains(needs.test-py27.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integration-sanic.yml b/.github/workflows/test-integration-sanic.yml deleted file mode 100644 index c359c3b4fa..0000000000 --- a/.github/workflows/test-integration-sanic.yml +++ /dev/null @@ -1,108 +0,0 @@ -name: Test sanic -on: - push: - branches: - - master - - release/** - pull_request: -# Cancel in progress workflows on pull_requests. -# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true -permissions: - contents: read -env: - BUILD_CACHE_KEY: ${{ github.sha }} - CACHED_BUILD_PATHS: | - ${{ github.workspace }}/dist-serverless -jobs: - test-pinned: - timeout-minutes: 30 - name: sanic pinned, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.5","3.6","3.7","3.8","3.9","3.10","3.11"] - # 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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test sanic - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-sanic" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-latest: - timeout-minutes: 30 - name: sanic latest, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.8","3.9","3.10","3.11"] - # 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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test sanic - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh "py${{ matrix.python-version }}-sanic-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - check_required_tests: - name: All sanic tests passed or skipped - needs: test-pinned - # Always run this, even if a dependent job failed - if: always() - runs-on: ubuntu-20.04 - steps: - - name: Check for failures - if: contains(needs.test-pinned.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integration-sqlalchemy.yml b/.github/workflows/test-integration-sqlalchemy.yml deleted file mode 100644 index ea94aaa977..0000000000 --- a/.github/workflows/test-integration-sqlalchemy.yml +++ /dev/null @@ -1,140 +0,0 @@ -name: Test sqlalchemy -on: - push: - branches: - - master - - release/** - pull_request: -# Cancel in progress workflows on pull_requests. -# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true -permissions: - contents: read -env: - BUILD_CACHE_KEY: ${{ github.sha }} - CACHED_BUILD_PATHS: | - ${{ github.workspace }}/dist-serverless -jobs: - test-pinned: - timeout-minutes: 30 - name: sqlalchemy pinned, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.7","3.8","3.9","3.10","3.11"] - # 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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test sqlalchemy - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-sqlalchemy" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-py27: - timeout-minutes: 30 - name: sqlalchemy py27, python 2.7 - runs-on: ubuntu-20.04 - container: python:2.7 - steps: - - uses: actions/checkout@v4 - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test sqlalchemy - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py2.7-sqlalchemy" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-latest: - timeout-minutes: 30 - name: sqlalchemy latest, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.7","3.8","3.9","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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test sqlalchemy - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh "py${{ matrix.python-version }}-sqlalchemy-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - check_required_tests: - name: All sqlalchemy tests passed or skipped - needs: [test-pinned, test-py27] - # Always run this, even if a dependent job failed - if: always() - runs-on: ubuntu-20.04 - steps: - - name: Check for failures - if: contains(needs.test-pinned.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 - - name: Check for 2.7 failures - if: contains(needs.test-py27.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integration-starlette.yml b/.github/workflows/test-integration-starlette.yml deleted file mode 100644 index e1de19e038..0000000000 --- a/.github/workflows/test-integration-starlette.yml +++ /dev/null @@ -1,108 +0,0 @@ -name: Test starlette -on: - push: - branches: - - master - - release/** - pull_request: -# Cancel in progress workflows on pull_requests. -# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true -permissions: - contents: read -env: - BUILD_CACHE_KEY: ${{ github.sha }} - CACHED_BUILD_PATHS: | - ${{ github.workspace }}/dist-serverless -jobs: - test-pinned: - timeout-minutes: 30 - name: starlette pinned, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.7","3.8","3.9","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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test starlette - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-starlette" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-latest: - timeout-minutes: 30 - name: starlette latest, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.8","3.9","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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test starlette - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh "py${{ matrix.python-version }}-starlette-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - check_required_tests: - name: All starlette tests passed or skipped - needs: test-pinned - # Always run this, even if a dependent job failed - if: always() - runs-on: ubuntu-20.04 - steps: - - name: Check for failures - if: contains(needs.test-pinned.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integration-starlite.yml b/.github/workflows/test-integration-starlite.yml deleted file mode 100644 index 276693feeb..0000000000 --- a/.github/workflows/test-integration-starlite.yml +++ /dev/null @@ -1,69 +0,0 @@ -name: Test starlite -on: - push: - branches: - - master - - release/** - pull_request: -# Cancel in progress workflows on pull_requests. -# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true -permissions: - contents: read -env: - BUILD_CACHE_KEY: ${{ github.sha }} - CACHED_BUILD_PATHS: | - ${{ github.workspace }}/dist-serverless -jobs: - test-pinned: - timeout-minutes: 30 - name: starlite pinned, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.8","3.9","3.10","3.11"] - # 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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test starlite - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-starlite" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - check_required_tests: - name: All starlite tests passed or skipped - needs: test-pinned - # Always run this, even if a dependent job failed - if: always() - runs-on: ubuntu-20.04 - steps: - - name: Check for failures - if: contains(needs.test-pinned.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integration-strawberry.yml b/.github/workflows/test-integration-strawberry.yml deleted file mode 100644 index 555ee2450a..0000000000 --- a/.github/workflows/test-integration-strawberry.yml +++ /dev/null @@ -1,108 +0,0 @@ -name: Test strawberry -on: - push: - branches: - - master - - release/** - pull_request: -# Cancel in progress workflows on pull_requests. -# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true -permissions: - contents: read -env: - BUILD_CACHE_KEY: ${{ github.sha }} - CACHED_BUILD_PATHS: | - ${{ github.workspace }}/dist-serverless -jobs: - test-pinned: - timeout-minutes: 30 - name: strawberry pinned, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.8","3.9","3.10","3.11"] - # 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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test strawberry - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-strawberry" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-latest: - timeout-minutes: 30 - name: strawberry latest, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.8","3.9","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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test strawberry - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh "py${{ matrix.python-version }}-strawberry-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - check_required_tests: - name: All strawberry tests passed or skipped - needs: test-pinned - # Always run this, even if a dependent job failed - if: always() - runs-on: ubuntu-20.04 - steps: - - name: Check for failures - if: contains(needs.test-pinned.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integration-tornado.yml b/.github/workflows/test-integration-tornado.yml deleted file mode 100644 index cb8eca56c1..0000000000 --- a/.github/workflows/test-integration-tornado.yml +++ /dev/null @@ -1,108 +0,0 @@ -name: Test tornado -on: - push: - branches: - - master - - release/** - pull_request: -# Cancel in progress workflows on pull_requests. -# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true -permissions: - contents: read -env: - BUILD_CACHE_KEY: ${{ github.sha }} - CACHED_BUILD_PATHS: | - ${{ github.workspace }}/dist-serverless -jobs: - test-pinned: - timeout-minutes: 30 - name: tornado pinned, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.7","3.8","3.9","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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test tornado - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-tornado" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-latest: - timeout-minutes: 30 - name: tornado latest, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.8","3.9","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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test tornado - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh "py${{ matrix.python-version }}-tornado-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - check_required_tests: - name: All tornado tests passed or skipped - needs: test-pinned - # Always run this, even if a dependent job failed - if: always() - runs-on: ubuntu-20.04 - steps: - - name: Check for failures - if: contains(needs.test-pinned.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integration-trytond.yml b/.github/workflows/test-integration-trytond.yml deleted file mode 100644 index 11b94031b6..0000000000 --- a/.github/workflows/test-integration-trytond.yml +++ /dev/null @@ -1,108 +0,0 @@ -name: Test trytond -on: - push: - branches: - - master - - release/** - pull_request: -# Cancel in progress workflows on pull_requests. -# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true -permissions: - contents: read -env: - BUILD_CACHE_KEY: ${{ github.sha }} - CACHED_BUILD_PATHS: | - ${{ github.workspace }}/dist-serverless -jobs: - test-pinned: - timeout-minutes: 30 - name: trytond pinned, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.5","3.6","3.7","3.8","3.9","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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test trytond - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-trytond" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - test-latest: - timeout-minutes: 30 - name: trytond latest, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.8","3.9","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 - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Setup Test Env - run: | - pip install coverage "tox>=3,<4" - - name: Test trytond - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh "py${{ matrix.python-version }}-trytond-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - check_required_tests: - name: All trytond tests passed or skipped - needs: test-pinned - # Always run this, even if a dependent job failed - if: always() - runs-on: ubuntu-20.04 - steps: - - name: Check for failures - if: contains(needs.test-pinned.result, 'failure') - run: | - echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integration-aws_lambda.yml b/.github/workflows/test-integrations-aws-lambda.yml similarity index 80% rename from .github/workflows/test-integration-aws_lambda.yml rename to .github/workflows/test-integrations-aws-lambda.yml index 33c3e3277a..1b3a064541 100644 --- a/.github/workflows/test-integration-aws_lambda.yml +++ b/.github/workflows/test-integrations-aws-lambda.yml @@ -1,4 +1,4 @@ -name: Test aws_lambda +name: Test AWS Lambda on: push: branches: @@ -49,10 +49,10 @@ jobs: - name: Check permissions on repo branch if: github.event_name == 'push' run: true - test-pinned: - needs: check-permissions + test-aws_lambda-pinned: + name: AWS Lambda (pinned) timeout-minutes: 30 - name: aws_lambda pinned, python ${{ matrix.python-version }}, ${{ matrix.os }} + needs: check-permissions runs-on: ${{ matrix.os }} strategy: fail-fast: false @@ -73,32 +73,29 @@ jobs: - name: Setup Test Env run: | pip install coverage "tox>=3,<4" - - name: Test aws_lambda - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-aws_lambda" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i + - name: Erase coverage + run: | + coverage erase + - name: Test aws_lambda pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-aws_lambda" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Generate coverage XML + run: | + coverage combine .coverage* + coverage xml -i - uses: codecov/codecov-action@v3 with: token: ${{ secrets.CODECOV_TOKEN }} files: coverage.xml check_required_tests: - name: All aws_lambda tests passed or skipped - needs: test-pinned + name: All AWS Lambda tests passed + needs: test-aws_lambda-pinned # Always run this, even if a dependent job failed if: always() runs-on: ubuntu-20.04 steps: - name: Check for failures - if: contains(needs.test-pinned.result, 'failure') + if: contains(needs.test-aws_lambda-pinned.result, 'failure') || contains(needs.test-aws_lambda-pinned.result, 'skipped') run: | echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integrations-cloud-computing.yml b/.github/workflows/test-integrations-cloud-computing.yml new file mode 100644 index 0000000000..2f4950c4ff --- /dev/null +++ b/.github/workflows/test-integrations-cloud-computing.yml @@ -0,0 +1,167 @@ +name: Test Cloud Computing +on: + push: + branches: + - master + - release/** + pull_request: +# Cancel in progress workflows on pull_requests. +# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true +permissions: + contents: read +env: + BUILD_CACHE_KEY: ${{ github.sha }} + 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 + - uses: actions/setup-python@v4 + 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@v3 + with: + token: ${{ secrets.CODECOV_TOKEN }} + files: coverage.xml + test-cloud_computing-pinned: + name: Cloud Computing (pinned) + timeout-minutes: 30 + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + python-version: ["3.6","3.7","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 + - uses: actions/setup-python@v4 + 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 pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-boto3" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test chalice pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-chalice" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test cloud_resource_context pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-cloud_resource_context" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test gcp pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-gcp" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Generate coverage XML + run: | + coverage combine .coverage* + coverage xml -i + - uses: codecov/codecov-action@v3 + with: + token: ${{ secrets.CODECOV_TOKEN }} + files: coverage.xml + test-cloud_computing-py27: + name: Cloud Computing (py27) + timeout-minutes: 30 + runs-on: ubuntu-20.04 + container: python:2.7 + steps: + - uses: actions/checkout@v4 + - name: Setup Test Env + run: | + pip install coverage "tox>=3,<4" + - name: Erase coverage + run: | + coverage erase + - name: Test boto3 py27 + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py2.7-boto3" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test chalice py27 + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py2.7-chalice" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test cloud_resource_context py27 + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py2.7-cloud_resource_context" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test gcp py27 + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py2.7-gcp" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Generate coverage XML + run: | + coverage combine .coverage* + coverage xml -i + - uses: codecov/codecov-action@v3 + with: + token: ${{ secrets.CODECOV_TOKEN }} + files: coverage.xml + check_required_tests: + name: All Cloud Computing tests passed + needs: [test-cloud_computing-pinned, test-cloud_computing-py27] + # Always run this, even if a dependent job failed + if: always() + runs-on: ubuntu-20.04 + steps: + - name: Check for failures + if: contains(needs.test-cloud_computing-pinned.result, 'failure') || contains(needs.test-cloud_computing-pinned.result, 'skipped') + run: | + echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 + - name: Check for 2.7 failures + if: contains(needs.test-cloud_computing-py27.result, 'failure') || contains(needs.test-cloud_computing-py27.result, 'skipped') + run: | + echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-common.yml b/.github/workflows/test-integrations-common.yml similarity index 60% rename from .github/workflows/test-common.yml rename to .github/workflows/test-integrations-common.yml index 74d66bc8f6..c72e0e9e28 100644 --- a/.github/workflows/test-common.yml +++ b/.github/workflows/test-integrations-common.yml @@ -1,4 +1,4 @@ -name: Test common +name: Test Common on: push: branches: @@ -17,9 +17,9 @@ env: CACHED_BUILD_PATHS: | ${{ github.workspace }}/dist-serverless jobs: - test-pinned: + test-common-pinned: + name: Common (pinned) timeout-minutes: 30 - name: common pinned, python ${{ matrix.python-version }}, ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: fail-fast: false @@ -38,27 +38,24 @@ jobs: - name: Setup Test Env run: | pip install coverage "tox>=3,<4" - - name: Test common - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-common" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i + - name: Erase coverage + run: | + coverage erase + - name: Test common pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-common" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Generate coverage XML + run: | + coverage combine .coverage* + coverage xml -i - uses: codecov/codecov-action@v3 with: token: ${{ secrets.CODECOV_TOKEN }} files: coverage.xml - test-py27: + test-common-py27: + name: Common (py27) timeout-minutes: 30 - name: common py27, python 2.7 runs-on: ubuntu-20.04 container: python:2.7 steps: @@ -66,36 +63,33 @@ jobs: - name: Setup Test Env run: | pip install coverage "tox>=3,<4" - - name: Test common - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py2.7-common" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i + - name: Erase coverage + run: | + coverage erase + - name: Test common py27 + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py2.7-common" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Generate coverage XML + run: | + coverage combine .coverage* + coverage xml -i - uses: codecov/codecov-action@v3 with: token: ${{ secrets.CODECOV_TOKEN }} files: coverage.xml check_required_tests: - name: All common tests passed or skipped - needs: [test-pinned, test-py27] + name: All Common tests passed + needs: [test-common-pinned, test-common-py27] # Always run this, even if a dependent job failed if: always() runs-on: ubuntu-20.04 steps: - name: Check for failures - if: contains(needs.test-pinned.result, 'failure') + if: contains(needs.test-common-pinned.result, 'failure') || contains(needs.test-common-pinned.result, 'skipped') run: | echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 - name: Check for 2.7 failures - if: contains(needs.test-py27.result, 'failure') + if: contains(needs.test-common-py27.result, 'failure') || contains(needs.test-common-py27.result, 'skipped') run: | echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integrations-data-processing.yml b/.github/workflows/test-integrations-data-processing.yml new file mode 100644 index 0000000000..0b19c3b4d2 --- /dev/null +++ b/.github/workflows/test-integrations-data-processing.yml @@ -0,0 +1,179 @@ +name: Test Data Processing +on: + push: + branches: + - master + - release/** + pull_request: +# Cancel in progress workflows on pull_requests. +# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true +permissions: + contents: read +env: + BUILD_CACHE_KEY: ${{ github.sha }} + 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.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 + - uses: actions/setup-python@v4 + 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 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@v3 + with: + token: ${{ secrets.CODECOV_TOKEN }} + files: coverage.xml + test-data_processing-pinned: + name: Data Processing (pinned) + timeout-minutes: 30 + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + python-version: ["3.5","3.6","3.7","3.8","3.9","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 + - uses: actions/setup-python@v4 + 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 pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-arq" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test beam pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-beam" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test celery pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-celery" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test huey pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-huey" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test rq pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-rq" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Generate coverage XML + run: | + coverage combine .coverage* + coverage xml -i + - uses: codecov/codecov-action@v3 + with: + token: ${{ secrets.CODECOV_TOKEN }} + files: coverage.xml + test-data_processing-py27: + name: Data Processing (py27) + timeout-minutes: 30 + runs-on: ubuntu-20.04 + container: python:2.7 + steps: + - uses: actions/checkout@v4 + - name: Setup Test Env + run: | + pip install coverage "tox>=3,<4" + - name: Erase coverage + run: | + coverage erase + - name: Test arq py27 + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py2.7-arq" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test beam py27 + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py2.7-beam" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test celery py27 + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py2.7-celery" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test huey py27 + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py2.7-huey" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test rq py27 + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py2.7-rq" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Generate coverage XML + run: | + coverage combine .coverage* + coverage xml -i + - uses: codecov/codecov-action@v3 + with: + token: ${{ secrets.CODECOV_TOKEN }} + files: coverage.xml + check_required_tests: + name: All Data Processing tests passed + needs: [test-data_processing-pinned, test-data_processing-py27] + # Always run this, even if a dependent job failed + if: always() + runs-on: ubuntu-20.04 + steps: + - name: Check for failures + if: contains(needs.test-data_processing-pinned.result, 'failure') || contains(needs.test-data_processing-pinned.result, 'skipped') + run: | + echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 + - name: Check for 2.7 failures + if: contains(needs.test-data_processing-py27.result, 'failure') || contains(needs.test-data_processing-py27.result, 'skipped') + run: | + echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integrations-databases.yml b/.github/workflows/test-integrations-databases.yml new file mode 100644 index 0000000000..0530a06de2 --- /dev/null +++ b/.github/workflows/test-integrations-databases.yml @@ -0,0 +1,233 @@ +name: Test Databases +on: + push: + branches: + - master + - release/** + pull_request: +# Cancel in progress workflows on pull_requests. +# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true +permissions: + contents: read +env: + BUILD_CACHE_KEY: ${{ github.sha }} + 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 + - uses: actions/setup-python@v4 + 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 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@v3 + with: + token: ${{ secrets.CODECOV_TOKEN }} + files: coverage.xml + test-databases-pinned: + name: Databases (pinned) + timeout-minutes: 30 + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + python-version: ["3.6","3.7","3.8","3.9","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 + - uses: actions/setup-python@v4 + 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 pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-asyncpg" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test clickhouse_driver pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-clickhouse_driver" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test pymongo pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-pymongo" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test sqlalchemy pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-sqlalchemy" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Generate coverage XML + run: | + coverage combine .coverage* + coverage xml -i + - uses: codecov/codecov-action@v3 + with: + token: ${{ secrets.CODECOV_TOKEN }} + files: coverage.xml + test-databases-py27: + name: Databases (py27) + timeout-minutes: 30 + runs-on: ubuntu-20.04 + container: python:2.7 + 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: postgres + steps: + - uses: actions/checkout@v4 + - uses: getsentry/action-clickhouse-in-ci@v1 + - name: Setup Test Env + run: | + pip install coverage "tox>=3,<4" + psql postgresql://postgres:sentry@postgres:5432 -c "create database ${SENTRY_PYTHON_TEST_POSTGRES_NAME};" || true + psql postgresql://postgres:sentry@postgres: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 py27 + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py2.7-asyncpg" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test clickhouse_driver py27 + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py2.7-clickhouse_driver" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test pymongo py27 + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py2.7-pymongo" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test sqlalchemy py27 + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py2.7-sqlalchemy" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Generate coverage XML + run: | + coverage combine .coverage* + coverage xml -i + - uses: codecov/codecov-action@v3 + with: + token: ${{ secrets.CODECOV_TOKEN }} + files: coverage.xml + check_required_tests: + name: All Databases tests passed + needs: [test-databases-pinned, test-databases-py27] + # Always run this, even if a dependent job failed + if: always() + runs-on: ubuntu-20.04 + steps: + - name: Check for failures + if: contains(needs.test-databases-pinned.result, 'failure') || contains(needs.test-databases-pinned.result, 'skipped') + run: | + echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 + - name: Check for 2.7 failures + if: contains(needs.test-databases-py27.result, 'failure') || contains(needs.test-databases-py27.result, 'skipped') + run: | + echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integrations-graphql.yml b/.github/workflows/test-integrations-graphql.yml new file mode 100644 index 0000000000..dc3ff48862 --- /dev/null +++ b/.github/workflows/test-integrations-graphql.yml @@ -0,0 +1,126 @@ +name: Test GraphQL +on: + push: + branches: + - master + - release/** + pull_request: +# Cancel in progress workflows on pull_requests. +# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true +permissions: + contents: read +env: + BUILD_CACHE_KEY: ${{ github.sha }} + 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 + - uses: actions/setup-python@v4 + 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@v3 + with: + token: ${{ secrets.CODECOV_TOKEN }} + files: coverage.xml + test-graphql-pinned: + name: GraphQL (pinned) + timeout-minutes: 30 + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + python-version: ["3.7","3.8","3.11"] + # 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 + - uses: actions/setup-python@v4 + 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 pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-ariadne" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test gql pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-gql" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test graphene pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-graphene" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test strawberry pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-strawberry" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Generate coverage XML + run: | + coverage combine .coverage* + coverage xml -i + - uses: codecov/codecov-action@v3 + with: + token: ${{ secrets.CODECOV_TOKEN }} + files: coverage.xml + check_required_tests: + name: All GraphQL tests passed + needs: test-graphql-pinned + # Always run this, even if a dependent job failed + if: always() + runs-on: ubuntu-20.04 + steps: + - name: Check for failures + if: contains(needs.test-graphql-pinned.result, 'failure') || contains(needs.test-graphql-pinned.result, 'skipped') + run: | + echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integrations-miscellaneous.yml b/.github/workflows/test-integrations-miscellaneous.yml new file mode 100644 index 0000000000..4dd06a9508 --- /dev/null +++ b/.github/workflows/test-integrations-miscellaneous.yml @@ -0,0 +1,126 @@ +name: Test Miscellaneous +on: + push: + branches: + - master + - release/** + pull_request: +# Cancel in progress workflows on pull_requests. +# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true +permissions: + contents: read +env: + BUILD_CACHE_KEY: ${{ github.sha }} + 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 + - uses: actions/setup-python@v4 + 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@v3 + with: + token: ${{ secrets.CODECOV_TOKEN }} + files: coverage.xml + test-miscellaneous-pinned: + name: Miscellaneous (pinned) + timeout-minutes: 30 + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + python-version: ["3.5","3.6","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 + - uses: actions/setup-python@v4 + 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 pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-loguru" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test opentelemetry pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-opentelemetry" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test pure_eval pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-pure_eval" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test trytond pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-trytond" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Generate coverage XML + run: | + coverage combine .coverage* + coverage xml -i + - uses: codecov/codecov-action@v3 + with: + token: ${{ secrets.CODECOV_TOKEN }} + files: coverage.xml + check_required_tests: + name: All Miscellaneous tests passed + needs: test-miscellaneous-pinned + # Always run this, even if a dependent job failed + if: always() + runs-on: ubuntu-20.04 + steps: + - name: Check for failures + if: contains(needs.test-miscellaneous-pinned.result, 'failure') || contains(needs.test-miscellaneous-pinned.result, 'skipped') + run: | + echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integrations-networking.yml b/.github/workflows/test-integrations-networking.yml new file mode 100644 index 0000000000..315d5125ea --- /dev/null +++ b/.github/workflows/test-integrations-networking.yml @@ -0,0 +1,167 @@ +name: Test Networking +on: + push: + branches: + - master + - release/** + pull_request: +# Cancel in progress workflows on pull_requests. +# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true +permissions: + contents: read +env: + BUILD_CACHE_KEY: ${{ github.sha }} + 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 + - uses: actions/setup-python@v4 + 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@v3 + with: + token: ${{ secrets.CODECOV_TOKEN }} + files: coverage.xml + test-networking-pinned: + name: Networking (pinned) + timeout-minutes: 30 + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + python-version: ["3.6","3.7","3.8","3.9","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 + - uses: actions/setup-python@v4 + 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 pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-gevent" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test grpc pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-grpc" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test httpx pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-httpx" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test requests pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-requests" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Generate coverage XML + run: | + coverage combine .coverage* + coverage xml -i + - uses: codecov/codecov-action@v3 + with: + token: ${{ secrets.CODECOV_TOKEN }} + files: coverage.xml + test-networking-py27: + name: Networking (py27) + timeout-minutes: 30 + runs-on: ubuntu-20.04 + container: python:2.7 + steps: + - uses: actions/checkout@v4 + - name: Setup Test Env + run: | + pip install coverage "tox>=3,<4" + - name: Erase coverage + run: | + coverage erase + - name: Test gevent py27 + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py2.7-gevent" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test grpc py27 + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py2.7-grpc" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test httpx py27 + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py2.7-httpx" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test requests py27 + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py2.7-requests" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Generate coverage XML + run: | + coverage combine .coverage* + coverage xml -i + - uses: codecov/codecov-action@v3 + with: + token: ${{ secrets.CODECOV_TOKEN }} + files: coverage.xml + check_required_tests: + name: All Networking tests passed + needs: [test-networking-pinned, test-networking-py27] + # Always run this, even if a dependent job failed + if: always() + runs-on: ubuntu-20.04 + steps: + - name: Check for failures + if: contains(needs.test-networking-pinned.result, 'failure') || contains(needs.test-networking-pinned.result, 'skipped') + run: | + echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 + - name: Check for 2.7 failures + if: contains(needs.test-networking-py27.result, 'failure') || contains(needs.test-networking-py27.result, 'skipped') + run: | + echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integration-django.yml b/.github/workflows/test-integrations-web-frameworks-1.yml similarity index 58% rename from .github/workflows/test-integration-django.yml rename to .github/workflows/test-integrations-web-frameworks-1.yml index 25830afb78..ab9703cc5f 100644 --- a/.github/workflows/test-integration-django.yml +++ b/.github/workflows/test-integrations-web-frameworks-1.yml @@ -1,4 +1,4 @@ -name: Test django +name: Test Web Frameworks 1 on: push: branches: @@ -17,14 +17,14 @@ env: CACHED_BUILD_PATHS: | ${{ github.workspace }}/dist-serverless jobs: - test-pinned: + test-web_frameworks_1-latest: + name: Web Frameworks 1 (latest) timeout-minutes: 30 - name: django pinned, python ${{ matrix.python-version }}, ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: - python-version: ["3.5","3.6","3.7","3.8","3.9","3.10","3.11","3.12"] + 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 @@ -59,29 +59,46 @@ jobs: 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: Test django - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-django" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i + - 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@v3 with: token: ${{ secrets.CODECOV_TOKEN }} files: coverage.xml - test-py27: + test-web_frameworks_1-pinned: + name: Web Frameworks 1 (pinned) timeout-minutes: 30 - name: django py27, python 2.7 - runs-on: ubuntu-20.04 - container: python:2.7 + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + python-version: ["3.5","3.6","3.7","3.8","3.9","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 @@ -100,45 +117,49 @@ jobs: SENTRY_PYTHON_TEST_POSTGRES_USER: postgres SENTRY_PYTHON_TEST_POSTGRES_PASSWORD: sentry SENTRY_PYTHON_TEST_POSTGRES_NAME: ci_test - SENTRY_PYTHON_TEST_POSTGRES_HOST: postgres + SENTRY_PYTHON_TEST_POSTGRES_HOST: localhost steps: - uses: actions/checkout@v4 + - uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} - name: Setup Test Env run: | pip install coverage "tox>=3,<4" - psql postgresql://postgres:sentry@postgres:5432 -c "create database ${SENTRY_PYTHON_TEST_POSTGRES_NAME};" || true - psql postgresql://postgres:sentry@postgres:5432 -c "grant all privileges on database ${SENTRY_PYTHON_TEST_POSTGRES_NAME} to ${SENTRY_PYTHON_TEST_POSTGRES_USER};" || true - - name: Test django - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh --exclude-latest "py2.7-django" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i + 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 pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-django" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test fastapi pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-fastapi" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test flask pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-flask" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test starlette pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-starlette" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Generate coverage XML + run: | + coverage combine .coverage* + coverage xml -i - uses: codecov/codecov-action@v3 with: token: ${{ secrets.CODECOV_TOKEN }} files: coverage.xml - test-latest: + test-web_frameworks_1-py27: + name: Web Frameworks 1 (py27) timeout-minutes: 30 - name: django latest, python ${{ matrix.python-version }}, ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["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] + runs-on: ubuntu-20.04 + container: python:2.7 services: postgres: image: postgres @@ -157,47 +178,53 @@ jobs: 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 + SENTRY_PYTHON_TEST_POSTGRES_HOST: postgres steps: - uses: actions/checkout@v4 - - uses: actions/setup-python@v4 - 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: Test django - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase - # Run tests - ./scripts/runtox.sh "py${{ matrix.python-version }}-django-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - coverage combine .coverage* && - coverage xml -i + psql postgresql://postgres:sentry@postgres:5432 -c "create database ${SENTRY_PYTHON_TEST_POSTGRES_NAME};" || true + psql postgresql://postgres:sentry@postgres: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 py27 + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py2.7-django" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test fastapi py27 + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py2.7-fastapi" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test flask py27 + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py2.7-flask" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test starlette py27 + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py2.7-starlette" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Generate coverage XML + run: | + coverage combine .coverage* + coverage xml -i - uses: codecov/codecov-action@v3 with: token: ${{ secrets.CODECOV_TOKEN }} files: coverage.xml check_required_tests: - name: All django tests passed or skipped - needs: [test-pinned, test-py27] + name: All Web Frameworks 1 tests passed + needs: [test-web_frameworks_1-pinned, test-web_frameworks_1-py27] # Always run this, even if a dependent job failed if: always() runs-on: ubuntu-20.04 steps: - name: Check for failures - if: contains(needs.test-pinned.result, 'failure') + if: contains(needs.test-web_frameworks_1-pinned.result, 'failure') || contains(needs.test-web_frameworks_1-pinned.result, 'skipped') run: | echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 - name: Check for 2.7 failures - if: contains(needs.test-py27.result, 'failure') + if: contains(needs.test-web_frameworks_1-py27.result, 'failure') || contains(needs.test-web_frameworks_1-py27.result, 'skipped') run: | echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/.github/workflows/test-integrations-web-frameworks-2.yml b/.github/workflows/test-integrations-web-frameworks-2.yml new file mode 100644 index 0000000000..aaf29fab73 --- /dev/null +++ b/.github/workflows/test-integrations-web-frameworks-2.yml @@ -0,0 +1,251 @@ +name: Test Web Frameworks 2 +on: + push: + branches: + - master + - release/** + pull_request: +# Cancel in progress workflows on pull_requests. +# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true +permissions: + contents: read +env: + BUILD_CACHE_KEY: ${{ github.sha }} + 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 + - uses: actions/setup-python@v4 + 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 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 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@v3 + with: + token: ${{ secrets.CODECOV_TOKEN }} + files: coverage.xml + test-web_frameworks_2-pinned: + name: Web Frameworks 2 (pinned) + timeout-minutes: 30 + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + python-version: ["3.5","3.6","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 + - uses: actions/setup-python@v4 + 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 pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-aiohttp" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test asgi pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-asgi" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test bottle pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-bottle" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test falcon pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-falcon" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test pyramid pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-pyramid" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test quart pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-quart" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test redis pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-redis" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test rediscluster pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-rediscluster" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test sanic pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-sanic" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test starlite pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-starlite" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test tornado pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-tornado" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Generate coverage XML + run: | + coverage combine .coverage* + coverage xml -i + - uses: codecov/codecov-action@v3 + with: + token: ${{ secrets.CODECOV_TOKEN }} + files: coverage.xml + test-web_frameworks_2-py27: + name: Web Frameworks 2 (py27) + timeout-minutes: 30 + runs-on: ubuntu-20.04 + container: python:2.7 + steps: + - uses: actions/checkout@v4 + - name: Setup Test Env + run: | + pip install coverage "tox>=3,<4" + - name: Erase coverage + run: | + coverage erase + - name: Test aiohttp py27 + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py2.7-aiohttp" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test asgi py27 + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py2.7-asgi" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test bottle py27 + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py2.7-bottle" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test falcon py27 + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py2.7-falcon" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test pyramid py27 + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py2.7-pyramid" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test quart py27 + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py2.7-quart" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test redis py27 + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py2.7-redis" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test rediscluster py27 + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py2.7-rediscluster" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test sanic py27 + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py2.7-sanic" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test starlite py27 + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py2.7-starlite" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Test tornado py27 + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py2.7-tornado" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + - name: Generate coverage XML + run: | + coverage combine .coverage* + coverage xml -i + - uses: codecov/codecov-action@v3 + with: + token: ${{ secrets.CODECOV_TOKEN }} + files: coverage.xml + check_required_tests: + name: All Web Frameworks 2 tests passed + needs: [test-web_frameworks_2-pinned, test-web_frameworks_2-py27] + # Always run this, even if a dependent job failed + if: always() + runs-on: ubuntu-20.04 + steps: + - name: Check for failures + if: contains(needs.test-web_frameworks_2-pinned.result, 'failure') || contains(needs.test-web_frameworks_2-pinned.result, 'skipped') + run: | + echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 + - name: Check for 2.7 failures + if: contains(needs.test-web_frameworks_2-py27.result, 'failure') || contains(needs.test-web_frameworks_2-py27.result, 'skipped') + run: | + echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 diff --git a/scripts/runtox.sh b/scripts/runtox.sh index 6090da7a92..dbbb4f2e10 100755 --- a/scripts/runtox.sh +++ b/scripts/runtox.sh @@ -35,4 +35,9 @@ else ENV="$($TOXPATH -l | grep -- "$searchstring" | tr $'\n' ',')" fi +if [ -z "${ENV}" ]; then + echo "No targets found. Skipping." + exit 0 +fi + exec $TOXPATH -vv -e "$ENV" -- "${@:2}" diff --git a/scripts/split-tox-gh-actions/split-tox-gh-actions.py b/scripts/split-tox-gh-actions/split-tox-gh-actions.py index 98695713f7..011ad497ae 100755 --- a/scripts/split-tox-gh-actions/split-tox-gh-actions.py +++ b/scripts/split-tox-gh-actions/split-tox-gh-actions.py @@ -1,7 +1,7 @@ """Split Tox to GitHub Actions This is a small script to split a tox.ini config file into multiple GitHub actions configuration files. -This way each framework defined in tox.ini will get its own GitHub actions configuration file +This way each group of frameworks defined in tox.ini will get its own GitHub actions configuration file which allows them to be run in parallel in GitHub actions. This will generate/update several configuration files, that need to be commited to Git afterwards. @@ -18,6 +18,7 @@ import hashlib import sys from collections import defaultdict +from functools import reduce from glob import glob from pathlib import Path @@ -28,22 +29,93 @@ TOX_FILE = Path(__file__).resolve().parent.parent.parent / "tox.ini" TEMPLATE_DIR = Path(__file__).resolve().parent / "templates" -FRAMEWORKS_NEEDING_POSTGRES = [ +FRAMEWORKS_NEEDING_POSTGRES = { "django", "asyncpg", -] +} -FRAMEWORKS_NEEDING_CLICKHOUSE = [ +FRAMEWORKS_NEEDING_CLICKHOUSE = { "clickhouse_driver", -] +} -FRAMEWORKS_NEEDING_AWS = [ +FRAMEWORKS_NEEDING_AWS = { "aws_lambda", -] +} -FRAMEWORKS_NEEDING_GITHUB_SECRETS = [ +FRAMEWORKS_NEEDING_GITHUB_SECRETS = { "aws_lambda", -] +} + +# Frameworks grouped here will be tested together to not hog all GitHub runners. +# If you add or remove a group, make sure to git rm the generated YAML file as +# well. +GROUPS = { + "Common": [ + "common", + ], + "AWS Lambda": [ + # this is separate from Cloud Computing because only this one test suite + # needs to run with access to GitHub secrets + "aws_lambda", + ], + "Cloud Computing": [ + "boto3", + "chalice", + "cloud_resource_context", + "gcp", + ], + "Data Processing": [ + "arq", + "beam", + "celery", + "huey", + "rq", + ], + "Databases": [ + "asyncpg", + "clickhouse_driver", + "pymongo", + "sqlalchemy", + ], + "GraphQL": [ + "ariadne", + "gql", + "graphene", + "strawberry", + ], + "Networking": [ + "gevent", + "grpc", + "httpx", + "requests", + ], + "Web Frameworks 1": [ + "django", + "fastapi", + "flask", + "starlette", + ], + "Web Frameworks 2": [ + "aiohttp", + "asgi", + "bottle", + "falcon", + "pyramid", + "quart", + "redis", + "rediscluster", + "sanic", + "starlite", + "tornado", + ], + "Miscellaneous": [ + "loguru", + "opentelemetry", + "pure_eval", + "trytond", + ], +} + ENV = Environment( loader=FileSystemLoader(TEMPLATE_DIR), @@ -58,14 +130,24 @@ def main(fail_on_changes): print("Parsing tox.ini...") py_versions_pinned, py_versions_latest = parse_tox() + if fail_on_changes: + print("Checking if all frameworks belong in a group...") + missing_frameworks = find_frameworks_missing_from_groups( + py_versions_pinned, py_versions_latest + ) + if missing_frameworks: + raise RuntimeError( + "Please add the following frameworks to the corresponding group " + "in `GROUPS` in `scripts/split-tox-gh-actions/split-tox-gh-actions.py: " + + ", ".join(missing_frameworks) + ) + print("Rendering templates...") - for framework in py_versions_pinned: + for group, frameworks in GROUPS.items(): contents = render_template( - framework, - py_versions_pinned[framework], - py_versions_latest[framework], + group, frameworks, py_versions_pinned, py_versions_latest ) - filename = write_file(contents, framework) + filename = write_file(contents, group) print(f"Created {filename}") if fail_on_changes: @@ -124,15 +206,29 @@ def parse_tox(): return py_versions_pinned, py_versions_latest +def find_frameworks_missing_from_groups(py_versions_pinned, py_versions_latest): + frameworks_in_a_group = _union(GROUPS.values()) + all_frameworks = set(py_versions_pinned.keys()) | set(py_versions_latest.keys()) + return all_frameworks - frameworks_in_a_group + + def _normalize_py_versions(py_versions): - normalized = defaultdict(set) - normalized |= { - framework: sorted( + def replace_and_sort(versions): + return sorted( [py.replace("py", "") for py in versions], key=lambda v: tuple(map(int, v.split("."))), ) - for framework, versions in py_versions.items() - } + + if isinstance(py_versions, dict): + normalized = defaultdict(set) + normalized |= { + framework: replace_and_sort(versions) + for framework, versions in py_versions.items() + } + + elif isinstance(py_versions, set): + normalized = replace_and_sort(py_versions) + return normalized @@ -148,20 +244,41 @@ def get_files_hash(): return hasher.hexdigest() -def render_template(framework, py_versions_pinned, py_versions_latest): +def _union(seq): + return reduce(lambda x, y: set(x) | set(y), seq) + + +def render_template(group, frameworks, py_versions_pinned, py_versions_latest): template = ENV.get_template("base.jinja") + categories = set() + py_versions = defaultdict(set) + for framework in frameworks: + if py_versions_pinned[framework]: + categories.add("pinned") + py_versions["pinned"] |= set(py_versions_pinned[framework]) + if py_versions_latest[framework]: + categories.add("latest") + py_versions["latest"] |= set(py_versions_latest[framework]) + if "2.7" in py_versions_pinned[framework]: + categories.add("py27") + + py_versions["pinned"].discard("2.7") + py_versions["latest"].discard("2.7") + context = { - "framework": framework, - "needs_aws_credentials": framework in FRAMEWORKS_NEEDING_AWS, - "needs_clickhouse": framework in FRAMEWORKS_NEEDING_CLICKHOUSE, - "needs_postgres": framework in FRAMEWORKS_NEEDING_POSTGRES, - "needs_github_secrets": framework in FRAMEWORKS_NEEDING_GITHUB_SECRETS, + "group": group, + "frameworks": frameworks, + "categories": sorted(categories), + "needs_aws_credentials": bool(set(frameworks) & FRAMEWORKS_NEEDING_AWS), + "needs_clickhouse": bool(set(frameworks) & FRAMEWORKS_NEEDING_CLICKHOUSE), + "needs_postgres": bool(set(frameworks) & FRAMEWORKS_NEEDING_POSTGRES), + "needs_github_secrets": bool( + set(frameworks) & FRAMEWORKS_NEEDING_GITHUB_SECRETS + ), "py_versions": { - # formatted for including in the matrix - "pinned": [f'"{v}"' for v in py_versions_pinned if v != "2.7"], - "py27": ['"2.7"'] if "2.7" in py_versions_pinned else [], - "latest": [f'"{v}"' for v in py_versions_latest], + category: [f'"{version}"' for version in _normalize_py_versions(versions)] + for category, versions in py_versions.items() }, } rendered = template.render(context) @@ -173,11 +290,9 @@ def postprocess_template(rendered): return "\n".join([line for line in rendered.split("\n") if line.strip()]) + "\n" -def write_file(contents, framework): - if framework == "common": - outfile = OUT_DIR / f"test-{framework}.yml" - else: - outfile = OUT_DIR / f"test-integration-{framework}.yml" +def write_file(contents, group): + group = group.lower().replace(" ", "-") + outfile = OUT_DIR / f"test-integrations-{group}.yml" with open(outfile, "w") as file: file.write(contents) diff --git a/scripts/split-tox-gh-actions/templates/base.jinja b/scripts/split-tox-gh-actions/templates/base.jinja index efa61b1f8b..3af4b69618 100644 --- a/scripts/split-tox-gh-actions/templates/base.jinja +++ b/scripts/split-tox-gh-actions/templates/base.jinja @@ -1,4 +1,5 @@ -name: Test {{ framework }} +{% with lowercase_group=group | replace(" ", "_") | lower %} +name: Test {{ group }} on: push: @@ -45,22 +46,9 @@ jobs: {% include "check_permissions.jinja" %} {% endif %} -{% if py_versions.pinned %} -{% with category="pinned", versions=py_versions.pinned %} -{% include "test.jinja" %} -{% endwith %} -{% endif %} - -{% if py_versions.py27 %} -{% with category="py27", versions=py_versions.py27 %} -{% include "test.jinja" %} -{% endwith %} -{% endif %} - -{% if py_versions.latest %} -{% with category="latest", versions=py_versions.latest %} -{% include "test.jinja" %} -{% endwith %} -{% endif %} +{% for category in categories %} +{% include "test_group.jinja" %} +{% endfor %} {% include "check_required.jinja" %} +{% endwith %} diff --git a/scripts/split-tox-gh-actions/templates/check_required.jinja b/scripts/split-tox-gh-actions/templates/check_required.jinja index f79b5a9491..f5aa11212f 100644 --- a/scripts/split-tox-gh-actions/templates/check_required.jinja +++ b/scripts/split-tox-gh-actions/templates/check_required.jinja @@ -1,23 +1,21 @@ check_required_tests: - name: All {{ framework }} tests passed or skipped - {% if py_versions.pinned and py_versions.py27 %} - needs: [test-pinned, test-py27] - {% elif py_versions.pinned %} - needs: test-pinned - {% elif py_versions.py27 %} - needs: test-py27 + name: All {{ group }} tests passed + {% if "pinned" in categories and "py27" in categories %} + needs: [test-{{ group | replace(" ", "_") | lower }}-pinned, test-{{ group | replace(" ", "_") | lower }}-py27] + {% elif "pinned" in categories %} + needs: test-{{ group | replace(" ", "_") | lower }}-pinned {% endif %} # Always run this, even if a dependent job failed if: always() runs-on: ubuntu-20.04 steps: - name: Check for failures - if: contains(needs.test-pinned.result, 'failure') + if: contains(needs.test-{{ lowercase_group }}-pinned.result, 'failure') || contains(needs.test-{{ lowercase_group }}-pinned.result, 'skipped') run: | echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 - {% if py_versions.py27 %} + {% if "py27" in categories %} - name: Check for 2.7 failures - if: contains(needs.test-py27.result, 'failure') + if: contains(needs.test-{{ lowercase_group }}-py27.result, 'failure') || contains(needs.test-{{ lowercase_group }}-py27.result, 'skipped') run: | echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1 {% endif %} diff --git a/scripts/split-tox-gh-actions/templates/test.jinja b/scripts/split-tox-gh-actions/templates/test_group.jinja similarity index 69% rename from scripts/split-tox-gh-actions/templates/test.jinja rename to scripts/split-tox-gh-actions/templates/test_group.jinja index 57e715f924..764fad23e3 100644 --- a/scripts/split-tox-gh-actions/templates/test.jinja +++ b/scripts/split-tox-gh-actions/templates/test_group.jinja @@ -1,25 +1,27 @@ - test-{{ category }}: + test-{{ lowercase_group }}-{{ category }}: + name: {{ group }} ({{ category }}) + timeout-minutes: 30 + {% if needs_github_secrets %} needs: check-permissions {% endif %} - timeout-minutes: 30 + {% if category == "py27" %} - name: {{ framework }} {{ category }}, python 2.7 runs-on: ubuntu-20.04 container: python:2.7 {% else %} - name: {{ framework }} {{ category }}, {% raw %}python ${{ matrix.python-version }}, ${{ matrix.os }}{% endraw %} runs-on: {% raw %}${{ matrix.os }}{% endraw %} strategy: fail-fast: false matrix: - python-version: [{{ versions|join(",") }}] + python-version: [{{ py_versions.get(category)|join(",") }}] # 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] {% endif %} + {% if needs_postgres %} services: postgres: @@ -72,27 +74,28 @@ {% endif %} {% endif %} - - name: Test {{ framework }} - uses: nick-fields/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 2 - retry_wait_seconds: 5 - shell: bash - command: | - set -x # print commands that are executed - coverage erase + - name: Erase coverage + run: | + coverage erase - # Run tests - {% if category == "py27" %} - ./scripts/runtox.sh --exclude-latest "py2.7-{{ framework }}" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - {% elif category == "pinned" %} - ./scripts/runtox.sh --exclude-latest "{% raw %}py${{ matrix.python-version }}{% endraw %}-{{ framework }}" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - {% elif category == "latest" %} - ./scripts/runtox.sh "{% raw %}py${{ matrix.python-version }}{% endraw %}-{{ framework }}-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch && - {% endif %} - coverage combine .coverage* && - coverage xml -i + {% for framework in frameworks %} + - name: Test {{ framework }} {{ category }} + run: | + set -x # print commands that are executed + + {% if category == "py27" %} + ./scripts/runtox.sh --exclude-latest "py2.7-{{ framework }}" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + {% elif category == "pinned" %} + ./scripts/runtox.sh --exclude-latest "{% raw %}py${{ matrix.python-version }}{% endraw %}-{{ framework }}" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + {% elif category == "latest" %} + ./scripts/runtox.sh "{% raw %}py${{ matrix.python-version }}{% endraw %}-{{ framework }}-latest" --cov=tests --cov=sentry_sdk --cov-report= --cov-branch + {% endif %} + {% endfor %} + + - name: Generate coverage XML + run: | + coverage combine .coverage* + coverage xml -i - uses: codecov/codecov-action@v3 with: diff --git a/tox.ini b/tox.ini index d93bc8ee1d..deccf9adb0 100644 --- a/tox.ini +++ b/tox.ini @@ -23,23 +23,23 @@ envlist = # AIOHTTP {py3.7}-aiohttp-v{3.4} - {py3.7,py3.8,py3.9,py3.10,py3.11}-aiohttp-v{3.8} - {py3.8,py3.9,py3.10,py3.11}-aiohttp-latest + {py3.7,py3.9,py3.11}-aiohttp-v{3.8} + {py3.8,py3.11}-aiohttp-latest # Ariadne - {py3.8,py3.9,py3.10,py3.11}-ariadne-v{0.20} - {py3.8,py3.9,py3.10,py3.11,py3.12}-ariadne-latest + {py3.8,py3.11}-ariadne-v{0.20} + {py3.8,py3.11,py3.12}-ariadne-latest # Arq - {py3.7,py3.8,py3.9,py3.10,py3.11}-arq-v{0.23} - {py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-arq-latest + {py3.7,py3.11}-arq-v{0.23} + {py3.7,py3.11,py3.12}-arq-latest # Asgi - {py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-asgi + {py3.7,py3.11,py3.12}-asgi # asyncpg - {py3.7,py3.8,py3.9,py3.10}-asyncpg-v{0.23} - {py3.8,py3.9,py3.10,py3.11,py3.12}-asyncpg-latest + {py3.7,py3.10}-asyncpg-v{0.23} + {py3.8,py3.11,py3.12}-asyncpg-latest # AWS Lambda # The aws_lambda tests deploy to the real AWS and have their own @@ -49,184 +49,184 @@ envlist = # Beam {py3.7}-beam-v{2.12} - {py3.8,py3.9,py3.10,py3.11}-beam-latest + {py3.8,py3.11}-beam-latest # Boto3 {py2.7,py3.6,py3.7}-boto3-v{1.12} - {py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-boto3-v{1.21} - {py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-boto3-v{1.29} - {py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-boto3-latest + {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.6,py3.7,py3.8,py3.9}-bottle-v{0.12} - {py3.5,py3.6,py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-bottle-latest + {py2.7,py3.5,py3.9}-bottle-v{0.12} + {py3.5,py3.11,py3.12}-bottle-latest # Celery {py2.7}-celery-v{3} - {py2.7,py3.5,py3.6,py3.7,py3.8}-celery-v{4} - {py3.6,py3.7,py3.8}-celery-v{5.0} - {py3.7,py3.8,py3.9,py3.10}-celery-v{5.1,5.2} - {py3.8,py3.9,py3.10,py3.11}-celery-v{5.3} - {py3.8,py3.9,py3.10,py3.11}-celery-latest + {py2.7,py3.5,py3.8}-celery-v{4} + {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.7,py3.8,py3.9}-chalice-v{1.16} - {py3.7,py3.8,py3.9,py3.10}-chalice-latest + {py3.6,py3.9}-chalice-v{1.16} + {py3.7,py3.10}-chalice-latest # Clickhouse Driver - {py3.8,py3.9,py3.10,py3.11}-clickhouse_driver-v{0.2.0} - {py3.8,py3.9,py3.10,py3.11,py3.12}-clickhouse_driver-latest + {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.7,py3.8,py3.9,py3.10,py3.11,py3.12}-cloud_resource_context + {py3.6,py3.11,py3.12}-cloud_resource_context # Django # - Django 1.x {py2.7,py3.5}-django-v{1.8} - {py2.7,py3.5,py3.6,py3.7}-django-v{1.11} + {py2.7,py3.5,py3.7}-django-v{1.11} # - Django 2.x - {py3.5,py3.6,py3.7}-django-v{2.0} - {py3.5,py3.6,py3.7,py3.8,py3.9}-django-v{2.2} + {py3.5,py3.7}-django-v{2.0} + {py3.5,py3.9}-django-v{2.2} # - Django 3.x - {py3.6,py3.7,py3.8,py3.9}-django-v{3.0} - {py3.6,py3.7,py3.8,py3.9,py3.10,py3.11}-django-v{3.2} + {py3.6,py3.9}-django-v{3.0} + {py3.6,py3.11}-django-v{3.2} # - Django 4.x - {py3.8,py3.9,py3.10,py3.11,py3.12}-django-v{4.0,4.1,4.2} + {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.6,py3.7}-falcon-v{1,1.4,2} - {py3.5,py3.6,py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-falcon-v{3} - {py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-falcon-latest + {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.8,py3.9,py3.10}-fastapi-v{0.79} - {py3.8,py3.9,py3.10,py3.11,py3.12}-fastapi-latest + {py3.7,py3.10}-fastapi-v{0.79} + {py3.8,py3.11,py3.12}-fastapi-latest # Flask {py2.7,py3.5}-flask-v{0,0.11} - {py2.7,py3.5,py3.6,py3.7,py3.8}-flask-v{1} - {py3.8,py3.9,py3.10,py3.11,py3.12}-flask-v{2} + {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 # Gevent - {py2.7,py3.6,py3.7,py3.8,py3.9,py3.10,py3.11}-gevent + {py2.7,py3.6,py3.8,py3.10,py3.11}-gevent # GCP {py3.7}-gcp # GQL - {py3.7,py3.8,py3.9,py3.10,py3.11}-gql-v{3.4} - {py3.7,py3.8,py3.9,py3.10,py3.11}-gql-latest + {py3.7,py3.11}-gql-v{3.4} + {py3.7,py3.11}-gql-latest # Graphene - {py3.7,py3.8,py3.9,py3.10,py3.11}-graphene-v{3.3} - {py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-graphene-latest + {py3.7,py3.11}-graphene-v{3.3} + {py3.7,py3.11,py3.12}-graphene-latest # gRPC - {py3.7,py3.8,py3.9,py3.10}-grpc-v{1.21,1.30,1.40} - {py3.7,py3.8,py3.9,py3.10,py3.11}-grpc-v{1.50} - {py3.8,py3.9,py3.10,py3.11,py3.12}-grpc-latest + {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.7,py3.8,py3.9}-httpx-v{0.16,0.18} - {py3.6,py3.7,py3.8,py3.9,py3.10}-httpx-v{0.20,0.22} - {py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-httpx-v{0.23,0.24} - {py3.9,py3.10,py3.11,py3.12}-httpx-v{0.25} - {py3.9,py3.10,py3.11,py3.12}-httpx-latest + {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.6,py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-huey-v{2.0} - {py3.5,py3.6,py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-huey-latest + {py2.7,py3.5,py3.11,py3.12}-huey-v{2.0} + {py3.5,py3.11,py3.12}-huey-latest # Loguru - {py3.5,py3.6,py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-loguru-v{0.5} - {py3.5,py3.6,py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-loguru-latest + {py3.5,py3.11,py3.12}-loguru-v{0.5} + {py3.5,py3.11,py3.12}-loguru-latest # OpenTelemetry (OTel) - {py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-opentelemetry + {py3.7,py3.9,py3.11,py3.12}-opentelemetry # pure_eval - {py3.5,py3.6,py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-pure_eval + {py3.5,py3.11,py3.12}-pure_eval # PyMongo (Mongo DB) {py2.7,py3.6}-pymongo-v{3.1} - {py2.7,py3.6,py3.7,py3.8,py3.9}-pymongo-v{3.12} - {py3.6,py3.7,py3.8,py3.9,py3.10,py3.11}-pymongo-v{4.0} - {py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-pymongo-v{4.3,4.6} - {py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-pymongo-latest + {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.6,py3.7,py3.8,py3.9,py3.10,py3.11}-pyramid-v{1.6} - {py2.7,py3.5,py3.6,py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-pyramid-v{1.10} - {py3.6,py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-pyramid-v{2.0} - {py3.6,py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-pyramid-latest + {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.8,py3.9,py3.10,py3.11}-quart-v{0.16} - {py3.8,py3.9,py3.10,py3.11,py3.12}-quart-v{0.19} - {py3.8,py3.9,py3.10,py3.11,py3.12}-quart-latest + {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.9,py3.10,py3.11}-redis-v{4} - {py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-redis-v{5} - {py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-redis-latest + {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.9,py3.10,py3.11,py3.12}-requests + {py2.7,py3.8,py3.11,py3.12}-requests # RQ (Redis Queue) {py2.7,py3.5,py3.6}-rq-v{0.6} - {py2.7,py3.5,py3.6,py3.7,py3.8,py3.9}-rq-v{0.13,1.0} - {py3.5,py3.6,py3.7,py3.8,py3.9,py3.10,py3.11}-rq-v{1.5,1.10} - {py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-rq-v{1.15} - {py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-rq-latest + {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.6,py3.7}-sanic-v{0.8} - {py3.6,py3.7,py3.8}-sanic-v{20} - {py3.7,py3.8,py3.9,py3.10,py3.11}-sanic-v{22} - {py3.7,py3.8,py3.9,py3.10,py3.11}-sanic-v{23} - {py3.8,py3.9,py3.10,py3.11}-sanic-latest + {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.8,py3.9,py3.10}-starlette-v{0.19} - {py3.7,py3.8,py3.9,py3.10,py3.11}-starlette-v{0.20,0.24,0.28} - {py3.8,py3.9,py3.10,py3.11,py3.12}-starlette-v{0.32} - {py3.8,py3.9,py3.10,py3.11,py3.12}-starlette-latest + {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.9,py3.10,py3.11}-starlite-v{1.48,1.51} + {py3.8,py3.11}-starlite-v{1.48,1.51} # 1.51.14 is the last starlite version; the project continues as litestar # SQL Alchemy - {py2.7,py3.7,py3.8,py3.9}-sqlalchemy-v{1.2,1.4} - {py3.7,py3.8,py3.9,py3.10,py3.11}-sqlalchemy-v{2.0} - {py3.7,py3.8,py3.9,py3.10,py3.11,py3.12}-sqlalchemy-latest + {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.9,py3.10,py3.11}-strawberry-v{0.209} - {py3.8,py3.9,py3.10,py3.11,py3.12}-strawberry-latest + {py3.8,py3.11}-strawberry-v{0.209} + {py3.8,py3.11,py3.12}-strawberry-latest # Tornado - {py3.7,py3.8,py3.9}-tornado-v{5} - {py3.8,py3.9,py3.10,py3.11,py3.12}-tornado-v{6} - {py3.8,py3.9,py3.10,py3.11,py3.12}-tornado-latest + {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.7,py3.8}-trytond-v{5} - {py3.6,py3.7,py3.8,py3.9,py3.10,py3.11}-trytond-v{6} - {py3.8,py3.9,py3.10,py3.11,py3.12}-trytond-v{7} - {py3.8,py3.9,py3.10,py3.11,py3.12}-trytond-latest + {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 =