open-telemetry / open-telemetry/opentelemetry-python-contrib

Run lint/docs/generate etc. steps along the unit tests

Open
#2,069 0 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
1.1k
Forks
1.1k
Avg merge
4d 15h
Merged PRs (30d)
16

Description

The CI runs several required jobs such as lint/docs/generate/docker-tests etc... other than unit tests. Whenever a check fails on CI, as a contributor I would like to run the same locally and fix it. The current setup is mainly optimized towards the CI where all the packages are installed and linted in one step. It's not friendly to developers, it makes me install all the libraries even though I am not touching them. When this installation step fails, for any reason, from missing libpq headers in psycopg2 to strange errors originating from the C compiler in grpcio, I am blocked and can't make any progress.

I shouldn't need to worry about any other packages when I want to make a bug fix or enhancement to FastAPI instrumentation. This proposal is to update the tooling to make any checks related to a package put together and run as part of a single command tox -e test-instrumentation-fastapi.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by inspecting the repository's current CI and tox configuration to see how lint, docs, generate, Docker tests, and unit tests are grouped. Done means a command such as tox -e test-instrumentation-fastapi runs the checks for one package without requiring unrelated package dependencies.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
ci-cd, testing-qa, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.