From 8fc575b977936221b29d62de5b4b10173a50a1a8 Mon Sep 17 00:00:00 2001 From: Harshil-1603 Date: Thu, 15 Oct 2026 01:25:30 +0530 Subject: [PATCH 1/6] scripts: Add an isolated eachdist tox environment Refs: #4277 Assisted-by: OpenAI gpt-6.1-sol --- tox.ini | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tox.ini b/tox.ini index 7f01c0df478..c277f73334b 100644 --- a/tox.ini +++ b/tox.ini @@ -441,6 +441,13 @@ commands = python {toxinidir}/scripts/griffe_check.py python {toxinidir}/scripts/public_symbols_checker.py +[testenv:eachdist] +deps = + -r {toxinidir}/scripts/eachdist-requirements.txt +commands_pre = +commands = + python {toxinidir}/scripts/eachdist.py {posargs:--help} + [testenv:generate-workflows] deps = tox From 6dcb333d877669d17b54e7519571bcb9d72d9646 Mon Sep 17 00:00:00 2001 From: Harshil-1603 Date: Thu, 15 Oct 2026 01:26:46 +0530 Subject: [PATCH 2/6] scripts: Pin the eachdist dependency Assisted-by: OpenAI gpt-6.1-sol --- scripts/eachdist-requirements.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 scripts/eachdist-requirements.txt diff --git a/scripts/eachdist-requirements.txt b/scripts/eachdist-requirements.txt new file mode 100644 index 00000000000..5499d7c5170 --- /dev/null +++ b/scripts/eachdist-requirements.txt @@ -0,0 +1,2 @@ +# Dependencies for scripts/eachdist.py and its release workflow use. +toml==0.10.2 From a07c2612ba2e8196ad5db488d3d28c533b5c79b7 Mon Sep 17 00:00:00 2001 From: Harshil-1603 Date: Thu, 15 Oct 2026 01:28:07 +0530 Subject: [PATCH 3/6] docs: Explain the isolated eachdist environment Assisted-by: OpenAI gpt-6.1-sol --- CONTRIBUTING.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6a4645af6c3..f2cdcc51d21 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -69,6 +69,8 @@ You can run `tox` with the following arguments: - `tox -e ruff` to run ruff linter and formatter checks against the entire codebase - `tox -e typecheck` to run pyright against entire code base. - `tox -e public-symbols-check` to run public_symbols_checker.py. +- `tox -e eachdist -- ` to run `scripts/eachdist.py` in an isolated environment, + for example `tox -e eachdist -- version --mode stable`. - `tox -e docker-tests-{otlpexporter,opencensus}` to run tests in both or either one location. - `tox -e tracecontext` to run integration tests for tracecontext. - `tox -e precommit` to run all `pre-commit` actions From 986317df26453dba6bc65e3daa630143ded19c5d Mon Sep 17 00:00:00 2001 From: Harshil-1603 Date: Thu, 15 Oct 2026 01:29:02 +0530 Subject: [PATCH 4/6] ci: Reuse pinned eachdist release requirements Assisted-by: OpenAI gpt-6.1-sol --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4f56fca9c37..b08bbe02823 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -21,8 +21,8 @@ jobs: with: persist-credentials: false - - name: Install toml - run: pip install toml + - name: Install eachdist dependencies + run: python -m pip install -r scripts/eachdist-requirements.txt - name: Set environment variables run: | From 7a412e3c5aaf4e0e8b4020889c4d00a4387738be Mon Sep 17 00:00:00 2001 From: Harshil-1603 Date: Thu, 15 Oct 2026 01:30:45 +0530 Subject: [PATCH 5/6] scripts: Add the eachdist changelog entry Assisted-by: OpenAI gpt-6.1-sol --- .changelog/5783.changed | 1 + 1 file changed, 1 insertion(+) create mode 100644 .changelog/5783.changed diff --git a/.changelog/5783.changed b/.changelog/5783.changed new file mode 100644 index 00000000000..7d56b5df555 --- /dev/null +++ b/.changelog/5783.changed @@ -0,0 +1 @@ +Add a pinned, isolated eachdist environment for contributors and release tooling. From 717beb00d13a83a7b08408f316c5471ab6036c9f Mon Sep 17 00:00:00 2001 From: Harshil-1603 Date: Sat, 17 Oct 2026 05:13:06 +0530 Subject: [PATCH 6/6] build: reuse development constraints for eachdist Pin toml in dev-requirements.txt and use it as the constraints file for the isolated tox environment and release dependency installation. Remove the redundant requirements file and unneeded changelog fragment as requested in review. Assisted-by: OpenAI Codex (GPT-6) --- .changelog/5783.changed | 1 - .github/workflows/release.yml | 2 +- dev-requirements.txt | 1 + scripts/eachdist-requirements.txt | 2 -- tox.ini | 3 ++- 5 files changed, 4 insertions(+), 5 deletions(-) delete mode 100644 .changelog/5783.changed delete mode 100644 scripts/eachdist-requirements.txt diff --git a/.changelog/5783.changed b/.changelog/5783.changed deleted file mode 100644 index 7d56b5df555..00000000000 --- a/.changelog/5783.changed +++ /dev/null @@ -1 +0,0 @@ -Add a pinned, isolated eachdist environment for contributors and release tooling. diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b08bbe02823..a1468804f82 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -22,7 +22,7 @@ jobs: persist-credentials: false - name: Install eachdist dependencies - run: python -m pip install -r scripts/eachdist-requirements.txt + run: python -m pip install -c dev-requirements.txt toml - name: Set environment variables run: | diff --git a/dev-requirements.txt b/dev-requirements.txt index 1ebbbe29f80..939229daa47 100644 --- a/dev-requirements.txt +++ b/dev-requirements.txt @@ -20,3 +20,4 @@ psutil==7.2.2 GitPython==3.1.62 pre-commit==3.7.0 ruff==0.16.1 +toml==0.10.2 diff --git a/scripts/eachdist-requirements.txt b/scripts/eachdist-requirements.txt deleted file mode 100644 index 5499d7c5170..00000000000 --- a/scripts/eachdist-requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -# Dependencies for scripts/eachdist.py and its release workflow use. -toml==0.10.2 diff --git a/tox.ini b/tox.ini index c277f73334b..e25c250d3c9 100644 --- a/tox.ini +++ b/tox.ini @@ -443,7 +443,8 @@ commands = [testenv:eachdist] deps = - -r {toxinidir}/scripts/eachdist-requirements.txt + -c {toxinidir}/dev-requirements.txt + toml commands_pre = commands = python {toxinidir}/scripts/eachdist.py {posargs:--help}