Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -235,6 +235,31 @@ jobs:
- store-pytest-results
- store-coverage-report

python313:
docker:
- image: python:3.13.0b2-bookworm
- image: cimg/postgres:9.6.24
environment:
POSTGRES_USER: root
POSTGRES_PASSWORD: passw0rd
POSTGRES_DB: instana_test_db
- image: cimg/mariadb:10.11.2
environment:
MYSQL_ROOT_PASSWORD: passw0rd
MYSQL_DATABASE: instana_test_db
- image: cimg/redis:5.0.14
- image: rabbitmq:3.9.13
- image: mongo:4.2.3
- image: vanmoof/pubsub-emulator
working_directory: ~/repo
steps:
- checkout
- pip-install-deps:
requirements: "tests/requirements-313.txt"
- run-tests-with-coverage-report
- store-pytest-results
- store-coverage-report

py39couchbase:
docker:
- image: cimg/python:3.9.17
Expand Down Expand Up @@ -303,6 +328,7 @@ workflows:
- python310
- python311
- python312
- python313
- py39cassandra
- py39couchbase
- py39gevent_starlette
Expand All @@ -313,6 +339,7 @@ workflows:
- python310
- python311
- python312
- python313
- py39cassandra
- py39couchbase
- py39gevent_starlette
30 changes: 16 additions & 14 deletions .tekton/pipeline.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,16 +25,18 @@ spec:
params:
- name: imageDigest
value:
# 3.8.18-bookworm
- "sha256:625008535504ab68868ca06d1bdd868dee92a9878d5b55fc240af7ceb38b7183"
# 3.9.18-bookworm
- "sha256:530d4ba717be787c0e2d011aa107edac6d721f8c06fe6d44708d4aa5e9bc5ec9"
# 3.10.13-bookworm
- "sha256:c970ff53939772f47b0672e380328afb50d8fd1c0568ed4f82c22effc54244fc"
# 3.11.8-bookworm
- "sha256:72afb375030b13c8c9cb72ba1d8c410f25307c2dbbd7d59f9c6ccea5cb152ff9"
# 3.12.2-bookworm
- "sha256:35eff340c0acd837b7962f77ee4b8869385dd6fe7d3928375a08f0a3bdd18beb"
# 3.8.19-bookworm
- "sha256:4d3590657cf443010b58ae94a09c59505a750744ed70d2028b35dac101df5e3a"
# 3.9.19-bookworm
- "sha256:e298e2e898691a938073f670dac8ef1a551c83344b67b5d8e32d1fbc8e0b57f8"
# 3.10.14-bookworm
- "sha256:c0352a2c64efe4cc08b198e90b97ed7e08897518c4bee99647e3eaf676e84951"
# 3.11.9-bookworm
- "sha256:0c2928128a96e544a1ee248e50ee8ecbe840bf48ef5a49065812e3d06b6e1bcc"
# 3.12.4-bookworm
- "sha256:83f5f8714b6881d3e0e91023d9fe9e43aa6ad5a04e9f9a94ee180b18b021c72a"
# 3.13.0b2-bookworm
- "sha256:6502f02f8a02313f582928ec7159623b54d7c3d627a7e355ca46f4aace406a6a"
taskRef:
name: python-tracer-unittest-default-task
workspaces:
Expand All @@ -47,8 +49,8 @@ spec:
params:
- name: imageDigest
value:
# 3.9.18-bookworm
- "sha256:530d4ba717be787c0e2d011aa107edac6d721f8c06fe6d44708d4aa5e9bc5ec9"
# 3.9.19-bookworm
- "sha256:e298e2e898691a938073f670dac8ef1a551c83344b67b5d8e32d1fbc8e0b57f8"
taskRef:
name: python-tracer-unittest-cassandra-task
workspaces:
Expand All @@ -61,8 +63,8 @@ spec:
params:
- name: imageDigest
value:
# 3.9.18-bookworm
- "sha256:530d4ba717be787c0e2d011aa107edac6d721f8c06fe6d44708d4aa5e9bc5ec9"
# 3.9.19-bookworm
- "sha256:e298e2e898691a938073f670dac8ef1a551c83344b67b5d8e32d1fbc8e0b57f8"
taskRef:
name: python-tracer-unittest-couchbase-task
workspaces:
Expand Down
40 changes: 14 additions & 26 deletions .tekton/python-tracer-prepuller.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -49,41 +49,29 @@ spec:
# postgres:16.2-bookworm
image: postgres@sha256:3bfb87432e26badf72d727a0c5f5bb7b81438cd9baec5be8531c70a42b07adc6
command: ["sh", "-c", "'true'"]
- name: prepuller-30
# 3.0.6-bullseye
image: ruby@sha256:3166618469ad8a3190d80f43b322818fafb4bfac0b4882255eee3346af2a0a35
command: ["sh", "-c", "'true'"]
- name: prepuller-31
# 3.1.4-bookworm
image: ruby@sha256:ec69284bcbceb0a23ffc070ef2e0e8eb0fe495c20efbd51846b103338c3da1e4
command: ["sh", "-c", "'true'"]
- name: prepuller-32
# 3.2.3-bookworm
image: ruby@sha256:007d2edd515f9cfc8c5c571486aca4fc4a25c903d004decee302961bb8c636ed
command: ["sh", "-c", "'true'"]
- name: prepuller-33
# 3.3.1-bookworm
image: ruby@sha256:5cf0004738f54bd67e4c4316394208ca38a6726eda7a1b0586d95601aad86e5d
command: ["sh", "-c", "'true'"]
- name: prepuller-38
# 3.8.18-bookworm
image: "python@sha256:625008535504ab68868ca06d1bdd868dee92a9878d5b55fc240af7ceb38b7183"
# 3.8.19-bookworm
image: "python@sha256:4d3590657cf443010b58ae94a09c59505a750744ed70d2028b35dac101df5e3a"
command: ["sh", "-c", "'true'"]
- name: prepuller-39
# 3.9.18-bookworm
image: "python@sha256:530d4ba717be787c0e2d011aa107edac6d721f8c06fe6d44708d4aa5e9bc5ec9"
# 3.9.19-bookworm
image: "python@sha256:e298e2e898691a938073f670dac8ef1a551c83344b67b5d8e32d1fbc8e0b57f8"
command: ["sh", "-c", "'true'"]
- name: prepuller-310
# 3.10.13-bookworm
image: "python@sha256:c970ff53939772f47b0672e380328afb50d8fd1c0568ed4f82c22effc54244fc"
# 3.10.14-bookworm
image: "python@sha256:c0352a2c64efe4cc08b198e90b97ed7e08897518c4bee99647e3eaf676e84951"
command: ["sh", "-c", "'true'"]
- name: prepuller-311
# 3.11.8-bookworm
image: "python@sha256:72afb375030b13c8c9cb72ba1d8c410f25307c2dbbd7d59f9c6ccea5cb152ff9"
# 3.11.9-bookworm
image: "python@sha256:0c2928128a96e544a1ee248e50ee8ecbe840bf48ef5a49065812e3d06b6e1bcc"
command: ["sh", "-c", "'true'"]
- name: prepuller-312
# 3.12.2-bookworm
image: "python@sha256:35eff340c0acd837b7962f77ee4b8869385dd6fe7d3928375a08f0a3bdd18beb"
# 3.12.4-bookworm
image: "python@sha256:83f5f8714b6881d3e0e91023d9fe9e43aa6ad5a04e9f9a94ee180b18b021c72a"
command: ["sh", "-c", "'true'"]
- name: prepuller-313
# 3.13.0b2-bookworm
image: "python@sha256:6502f02f8a02313f582928ec7159623b54d7c3d627a7e355ca46f4aace406a6a"
command: ["sh", "-c", "'true'"]

# Use the pause container to ensure the Pod goes into a `Running` phase
Expand Down
3 changes: 3 additions & 0 deletions .tekton/run_unittests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ default)
export REQUIREMENTS='requirements-310.txt' ;;
12)
export REQUIREMENTS='requirements-312.txt' ;;
13)
export REQUIREMENTS='requirements-313.txt' ;;
*)
export REQUIREMENTS='requirements.txt' ;;
esac
Expand Down Expand Up @@ -59,6 +61,7 @@ if [[ -n "${COUCHBASE_TEST}" ]]; then
apt update
apt install libcouchbase-dev -y
fi

python -m venv /tmp/venv
# shellcheck disable=SC1091
source /tmp/venv/bin/activate
Expand Down
30 changes: 24 additions & 6 deletions tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,31 @@
# tests/opentracing/test_ot_span.py::TestOTSpan::test_stacks
# TODO: Remove that once we find a workaround or DROP opentracing!

if sys.version_info >= (3, 12):
# Currently the dependencies of sanic and aiohttp are not installable on 3.12
# PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
if sys.version_info >= (3, 13):
# TODO: Test Case failures for unknown reason:
collect_ignore_glob.append("*test_aiohttp_server*")
collect_ignore_glob.append("*test_celery*")

# Currently there is a runtime incompatibility caused by the library:
# `undefined symbol: _PyErr_WriteUnraisableMsg`
collect_ignore_glob.append("*boto3*")

# Currently there is a runtime incompatibility caused by the library:
# `undefined symbol: _PyInterpreterState_Get`
collect_ignore_glob.append("*test_psycopg2*")
collect_ignore_glob.append("*test_sqlalchemy*")

# Currently the latest version of pyramid depends on the `cgi` module
# which has been deprecated since Python 3.11 and finally removed in 3.13
# `ModuleNotFoundError: No module named 'cgi'`
collect_ignore_glob.append("*test_pyramid*")

# Currently not installable dependencies because of 3.13 incompatibilities
collect_ignore_glob.append("*test_fastapi*")
collect_ignore_glob.append("*test_google-cloud-pubsub*")
collect_ignore_glob.append("*test_google-cloud-storage*")
collect_ignore_glob.append("*test_grpcio*")
collect_ignore_glob.append("*test_sanic*")
collect_ignore_glob.append("*test_aiohttp*")
# The asyncio also depends on aiohttp
collect_ignore_glob.append("*test_asyncio*")

@pytest.fixture(scope='session')
def celery_config():
Expand Down
8 changes: 2 additions & 6 deletions tests/requirements-312.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
aiofiles>=0.5.0
#aiohttp currently depends on yarl which can't be installed:
#PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
#aiohttp>=3.8.3
aiohttp>=3.8.3
boto3>=1.17.74
celery>=5.2.7
coverage>=5.5
Expand Down Expand Up @@ -34,9 +32,7 @@ pytest>=6.2.4
redis>=3.5.3
requests-mock
responses<=0.17.0
#Sanic depends on uvloop which can't be installed:
#PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
#sanic==21.6.2
sanic==21.6.2
sqlalchemy>=2.0.0
spyne>=2.14.0

Expand Down
48 changes: 48 additions & 0 deletions tests/requirements-313.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
aiofiles>=0.5.0
aiohttp>=3.8.3
boto3>=1.17.74
celery>=5.2.7
coverage>=5.5
Django>=5.0a1 --pre
# Dependency orjson has no 3.13 support yet:
# https://github.com/matyasrichter/fastapi-injector/pull/31
#fastapi>=0.92.0
flask>=2.3.2
markupsafe>=2.1.0
# grpc is not supported on 3.13 yet:
# https://github.com/grpc/grpc/issues/34922
#grpcio>=1.37.1
# Depends on grpcio
#google-cloud-pubsub<=2.1.0
#google-cloud-storage>=1.24.0
lxml>=4.9.2
mock>=4.0.3
moto>=4.1.2
mysqlclient>=2.0.3
PyMySQL[rsa]>=1.0.2
psycopg2-binary>=2.8.6
pika>=1.2.0

# protobuf is pulled in and also `basictracer`, a core instana dependency
# and also by google-cloud-storage
# but also directly needed by tests/apps/grpc_server/stan_pb2.py
# On 4.0.0 we currently get:
# AttributeError: module 'google._upb._message' has no attribute 'Message'
# TODO: Remove this when support for 4.0.0 is done
protobuf<4.0.0

pymongo>=3.11.4
pyramid>=2.0.1
pytest>=6.2.4
redis>=3.5.3
requests-mock
responses<=0.17.0
# Newer versions of sanic are not supported
# And this old version is not installable on 3.13 because of the `httptools` dependency fails to compile:
# `too few arguments to function ‘_PyLong_AsByteArray’`
#sanic==21.6.2
sqlalchemy>=2.0.0
spyne>=2.14.0

uvicorn>=0.13.4
urllib3>=1.26.5