opentelemetry-test-utils: skip installing grpc exporter only on Pypy#5178
opentelemetry-test-utils: skip installing grpc exporter only on Pypy#5178xrmx wants to merge 7 commits intoopen-telemetry:mainfrom
Conversation
…constraint file For some reason dependabot fails parsing them.
|
This does not seem to work, locally I have: and I get |
Co-authored-by: Emídio Neto <9735060+emdneto@users.noreply.github.com>
Change paths for dependencies in test-requirements.txt
|
Uhm looks like this does not work as expected since we're installing grpc on windows and on pypy, said that since it looks like grpc is installed without issues we may just update this to drop on pypy and see if that'll make dependabot happy. |
There was a problem hiding this comment.
what if we use the uv pip compile --python 3.10 --universal ... to generate the requirements.txt? It should solve the grpcio installation issues:
uv pip compile --python 3.10 --resolution lowest --universal tests/opentelemetry-test-utils/test-requirements.in -o tests/opentelemetry-test-utils/test-requirements.txt
There was a problem hiding this comment.
generated test-requirements.txt
# This file was autogenerated by uv via the following command:
# uv pip compile --python 3.10 --resolution lowest --universal tests/opentelemetry-test-utils/test-requirements.in -o tests/opentelemetry-test-utils/test-requirements.txt
-e exporter/opentelemetry-exporter-otlp-proto-common
# via
# -r tests/opentelemetry-test-utils/test-requirements.in
# opentelemetry-exporter-otlp-proto-grpc
-e exporter/opentelemetry-exporter-otlp-proto-grpc
# via -r tests/opentelemetry-test-utils/test-requirements.in
-e opentelemetry-api
# via
# -r tests/opentelemetry-test-utils/test-requirements.in
# opentelemetry-exporter-otlp-proto-grpc
# opentelemetry-sdk
# opentelemetry-semantic-conventions
# opentelemetry-test-utils
-e opentelemetry-proto
# via
# -r tests/opentelemetry-test-utils/test-requirements.in
# opentelemetry-exporter-otlp-proto-common
# opentelemetry-exporter-otlp-proto-grpc
-e opentelemetry-sdk
# via
# -r tests/opentelemetry-test-utils/test-requirements.in
# opentelemetry-exporter-otlp-proto-grpc
# opentelemetry-test-utils
-e opentelemetry-semantic-conventions
# via
# -r tests/opentelemetry-test-utils/test-requirements.in
# opentelemetry-sdk
-e tests/opentelemetry-test-utils
# via -r tests/opentelemetry-test-utils/test-requirements.in
asgiref==3.7.2
# via
# -r tests/opentelemetry-test-utils/test-requirements.in
# opentelemetry-test-utils
certifi==2017.4.17
# via requests
charset-normalizer==2.0.0
# via requests
colorama==0.1 ; sys_platform == 'win32'
# via pytest
exceptiongroup==1.0.0 ; python_full_version < '3.11'
# via pytest
googleapis-common-protos==1.63.1
# via opentelemetry-exporter-otlp-proto-grpc
grpcio==1.63.2 ; python_full_version < '3.13'
# via opentelemetry-exporter-otlp-proto-grpc
grpcio==1.66.2 ; python_full_version == '3.13.*'
# via opentelemetry-exporter-otlp-proto-grpc
grpcio==1.75.1 ; python_full_version >= '3.14'
# via opentelemetry-exporter-otlp-proto-grpc
idna==2.5
# via requests
importlib-metadata==6.11.0
# via
# -r tests/opentelemetry-test-utils/test-requirements.in
# opentelemetry-api
iniconfig==2.0.0
# via
# -r tests/opentelemetry-test-utils/test-requirements.in
# pytest
packaging==24.0
# via
# -r tests/opentelemetry-test-utils/test-requirements.in
# pytest
pluggy==1.6.0
# via
# -r tests/opentelemetry-test-utils/test-requirements.in
# pytest
protobuf==5.26.0
# via
# googleapis-common-protos
# opentelemetry-proto
py-cpuinfo==9.0.0
# via -r tests/opentelemetry-test-utils/test-requirements.in
pytest==7.4.4
# via -r tests/opentelemetry-test-utils/test-requirements.in
requests==2.28.0
# via opentelemetry-test-utils
tomli==2.0.1
# via
# -r tests/opentelemetry-test-utils/test-requirements.in
# pytest
typing-extensions==4.12.0
# via
# -r tests/opentelemetry-test-utils/test-requirements.in
# asgiref
# grpcio
# opentelemetry-api
# opentelemetry-exporter-otlp-proto-grpc
# opentelemetry-sdk
# opentelemetry-semantic-conventions
urllib3==1.21.1
# via requests
wrapt==1.16.0
# via -r tests/opentelemetry-test-utils/test-requirements.in
zipp==3.19.2
# via
# -r tests/opentelemetry-test-utils/test-requirements.in
# importlib-metadata
There was a problem hiding this comment.
test-requirements.in
asgiref==3.7.2
importlib-metadata==6.11.0
iniconfig==2.0.0
packaging==24.0
pluggy==1.6.0
py-cpuinfo==9.0.0
pytest==7.4.4
tomli==2.0.1
typing_extensions==4.12.0
wrapt==1.16.0
zipp==3.19.2
-e opentelemetry-api
-e opentelemetry-sdk
-e opentelemetry-semantic-conventions
-e opentelemetry-proto
-e tests/opentelemetry-test-utils
-e exporter/opentelemetry-exporter-otlp-proto-common
-e exporter/opentelemetry-exporter-otlp-proto-grpc
There was a problem hiding this comment.
See my last comment, on windows the test-utils job takes < 1 minute even if we install the grpc exporter so that's not a problem anymore. So I'll give it a try with just skipping pypy and see if dependabot is happy again before introducing another step to build these.
Description
Builds on windows takes <1 minute on CPython, so skip only installing grpc on PyPy that is both flake and slow to install the dependencies. Hopefully it's enough to make dependabot happy again.
Thanks @emdneto for the help.
Type of change
Please delete options that are not relevant.
How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
Does This PR Require a Contrib Repo Change?
Checklist: