From c40f10dedf44861d97186bb78e173699bbefcb12 Mon Sep 17 00:00:00 2001 From: alrex Date: Tue, 14 Sep 2021 11:07:13 -0700 Subject: [PATCH] remove dependency on contrib repo to run tox (#2108) --- .flake8 | 1 - .github/workflows/test.yml | 12 ------------ .gitignore | 3 --- .isort.cfg | 2 +- CONTRIBUTING.md | 16 +++++++++++++--- eachdist.ini | 2 -- pyproject.toml | 1 - tox.ini | 16 ++++++++++++---- 8 files changed, 26 insertions(+), 27 deletions(-) diff --git a/.flake8 b/.flake8 index 9d0b0c101df..9c1f4b2d41e 100644 --- a/.flake8 +++ b/.flake8 @@ -24,4 +24,3 @@ exclude = docs/examples/opentelemetry-example-app/build/* opentelemetry-proto/build/* opentelemetry-proto/src/opentelemetry/proto/ - opentelemetry-python-contrib/ diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 947dd6abe11..03771265228 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -32,12 +32,6 @@ jobs: steps: - name: Checkout Core Repo @ SHA - ${{ github.sha }} uses: actions/checkout@v2 - - name: Checkout Contrib Repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v2 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - path: opentelemetry-python-contrib - name: Set up Python ${{ env[matrix.python-version] }} uses: actions/setup-python@v2 with: @@ -93,12 +87,6 @@ jobs: steps: - name: Checkout Core Repo @ SHA - ${{ github.sha }} uses: actions/checkout@v2 - - name: Checkout Contrib Repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v2 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - path: opentelemetry-python-contrib - name: Set up Python uses: actions/setup-python@v2 with: diff --git a/.gitignore b/.gitignore index e2538e67eea..9b3ce8568f3 100644 --- a/.gitignore +++ b/.gitignore @@ -24,9 +24,6 @@ lib64 __pycache__ venv*/ .venv*/ -opentelemetry-python-contrib/ -# in case of symlink -opentelemetry-python-contrib # Installer logs pip-log.txt diff --git a/.isort.cfg b/.isort.cfg index 85533188fa4..ab1ab74ee59 100644 --- a/.isort.cfg +++ b/.isort.cfg @@ -14,6 +14,6 @@ profile=black ; docs: https://github.com/timothycrosley/isort#multi-line-output-modes multi_line_output=3 skip=target -skip_glob=**/gen/*,.venv*/*,venv*/*,**/proto/*,opentelemetry-python-contrib/*,.tox/* +skip_glob=**/gen/*,.venv*/*,venv*/*,**/proto/*,.tox/* known_first_party=opentelemetry,opentelemetry_example_app known_third_party=psutil,pytest,redis,redis_opentracing diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a172efae7dd..7084a8fbca1 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -50,9 +50,6 @@ ships with this project. First create a virtualenv and activate it. Then run `python scripts/eachdist.py develop` to install all required packages as well as the project's packages themselves (in `--editable` mode). -Further, you'll want to clone the Contrib repo locally to resolve paths needed -to run tests. `git clone git@github.com:open-telemetry/opentelemetry-python-contrib.git opentelemetry-python-contrib`. - You can then run `scripts/eachdist.py test` to test everything or `scripts/eachdist.py lint` to lint everything (fixing anything that is auto-fixable). @@ -81,6 +78,19 @@ See [`tox.ini`](https://github.com/open-telemetry/opentelemetry-python/blob/main/tox.ini) for more detail on available tox commands. +#### Contrib repo + +Some of the `tox` targets install packages from the [OpenTelemetry Python Contrib Repository](https://github.com/open-telemetry/opentelemetry-python.git) via +pip. The version of the packages installed defaults to the `main` branch in that repository when `tox` is run locally. It is possible to install packages tagged +with a specific git commit hash by setting an environment variable before running tox as per the following example: + +``` +CONTRIB_REPO_SHA=dde62cebffe519c35875af6d06fae053b3be65ec tox +``` + +The continuation integration overrides that environment variable with as per the configuration +[here](https://github.com/open-telemetry/opentelemetry-python/blob/9020b0baaeb41b7137badca988bb5c2d562cddee/.github/workflows/test.yml#L13). + ### Benchmarks Performance progression of benchmarks for packages distributed by OpenTelemetry Python can be viewed as a [graph of throughput vs commit history](https://opentelemetry-python.readthedocs.io/en/latest/performance/benchmarks.html). From the linked page, you can download a JSON file with the performance results. diff --git a/eachdist.ini b/eachdist.ini index 746f5a787a2..065c543e94f 100644 --- a/eachdist.ini +++ b/eachdist.ini @@ -1,8 +1,6 @@ # These will be sorted first in that order. # All packages that are depended upon by others should be listed here. [DEFAULT] -ignore= - opentelemetry-python-contrib sortfirst= opentelemetry-api diff --git a/pyproject.toml b/pyproject.toml index c0b70e2dc0c..b43fb8b66e7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,6 @@ exclude = ''' ( /( # generated files .tox| - opentelemetry-python-contrib| exporter/opentelemetry-exporter-jaeger-proto-grpc/src/opentelemetry/exporter/jaeger/proto/grpc/gen| exporter/opentelemetry-exporter-jaeger-thrift/src/opentelemetry/exporter/jaeger/thrift/gen| exporter/opentelemetry-exporter-zipkin-proto-http/src/opentelemetry/exporter/zipkin/proto/http/v2/gen| diff --git a/tox.ini b/tox.ini index d893b6df6e3..724a7f20185 100644 --- a/tox.ini +++ b/tox.ini @@ -81,6 +81,10 @@ deps = mypy,mypyinstalled: mypy setenv = + ; override CONTRIB_REPO_SHA via env variable when testing other branches/commits than main + ; i.e: CONTRIB_REPO_SHA=dde62cebffe519c35875af6d06fae053b3be65ec tox -e + CONTRIB_REPO_SHA={env:CONTRIB_REPO_SHA:"main"} + CONTRIB_REPO="git+https://github.com/open-telemetry/opentelemetry-python-contrib.git@{env:CONTRIB_REPO_SHA}" mypy: MYPYPATH={toxinidir}/opentelemetry-api/src/ changedir = @@ -121,7 +125,11 @@ commands_pre = distro: pip install {toxinidir}/opentelemetry-distro instrumentation: pip install {toxinidir}/opentelemetry-instrumentation - getting-started: pip install requests==2.26.0 flask==2.0.1 -e {toxinidir}/opentelemetry-instrumentation -e {toxinidir}/opentelemetry-python-contrib/instrumentation/opentelemetry-instrumentation-requests {toxinidir}/opentelemetry-python-contrib/util/opentelemetry-util-http -e {toxinidir}/opentelemetry-python-contrib/instrumentation/opentelemetry-instrumentation-wsgi -e {toxinidir}/opentelemetry-python-contrib/instrumentation/opentelemetry-instrumentation-flask + getting-started: pip install requests==2.26.0 flask==2.0.1 -e {toxinidir}/opentelemetry-instrumentation + getting-started: pip install -e "{env:CONTRIB_REPO}#egg=opentelemetry-instrumentation-requests&subdirectory=instrumentation/opentelemetry-instrumentation-requests" + getting-started: pip install -e "{env:CONTRIB_REPO}#egg=opentelemetry-instrumentation-wsgi&subdirectory=instrumentation/opentelemetry-instrumentation-wsgi" + getting-started: pip install -e "{env:CONTRIB_REPO}#egg=opentelemetry-util-http&subdirectory=util/opentelemetry-util-http" + getting-started: pip install -e "{env:CONTRIB_REPO}#egg=opentelemetry-instrumentation-flask&subdirectory=instrumentation/opentelemetry-instrumentation-flask" opencensus: pip install {toxinidir}/exporter/opentelemetry-exporter-opencensus @@ -246,9 +254,9 @@ commands_pre = -e {toxinidir}/opentelemetry-semantic-conventions \ -e {toxinidir}/opentelemetry-instrumentation \ -e {toxinidir}/opentelemetry-sdk \ - -e {toxinidir}/opentelemetry-python-contrib/instrumentation/opentelemetry-instrumentation-requests \ - -e {toxinidir}/opentelemetry-python-contrib/instrumentation/opentelemetry-instrumentation-wsgi \ - -e {toxinidir}/opentelemetry-python-contrib/util/opentelemetry-util-http + -e "{env:CONTRIB_REPO}#egg=opentelemetry-instrumentation-requests&subdirectory=instrumentation/opentelemetry-instrumentation-requests" \ + -e "{env:CONTRIB_REPO}#egg=opentelemetry-instrumentation-wsgi&subdirectory=instrumentation/opentelemetry-instrumentation-wsgi" \ + -e "{env:CONTRIB_REPO}#egg=opentelemetry-util-http&subdirectory=util/opentelemetry-util-http" commands = {toxinidir}/scripts/tracecontext-integration-test.sh