From c95635b4379b0ecd3a680104b7aeeb5424d305b3 Mon Sep 17 00:00:00 2001 From: emdneto <9735060+emdneto@users.noreply.github.com> Date: Mon, 16 Mar 2026 20:48:48 -0300 Subject: [PATCH 01/14] try alls-green for required checks Signed-off-by: emdneto <9735060+emdneto@users.noreply.github.com> --- .github/workflows/ci.yml | 47 ++++++++++++++ .github/workflows/generate_workflows.py | 83 +++++++++++++++++-------- .github/workflows/lint_0.yml | 9 +-- .github/workflows/misc_0.yml | 9 +-- .github/workflows/templates/ci.yml.j2 | 55 ++++++++++++++++ .github/workflows/templates/lint.yml.j2 | 9 +-- .github/workflows/templates/misc.yml.j2 | 9 +-- .github/workflows/templates/test.yml.j2 | 9 +-- .github/workflows/test_0.yml | 9 +-- .github/workflows/test_1.yml | 9 +-- 10 files changed, 165 insertions(+), 83 deletions(-) create mode 100644 .github/workflows/ci.yml create mode 100644 .github/workflows/templates/ci.yml.j2 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000000..e13f4bedd9b --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,47 @@ +# Do not edit this file. +# This file is generated automatically by executing tox -e generate-workflows + +name: CI + +on: + push: + branches: + - 'main' + pull_request: + +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + +jobs: + + misc_0: + uses: ./.github/workflows/misc_0.yml + + lint_0: + uses: ./.github/workflows/lint_0.yml + + tests_0: + uses: ./.github/workflows/test_0.yml + + tests_1: + uses: ./.github/workflows/test_1.yml + + check: + if: always() + needs: + - misc-0 + - linters-0 + - tests-0 + - tests-1 + runs-on: ubuntu-latest + steps: + - name: Decide whether the needed jobs succeeded or failed + uses: re-actors/alls-green@release/v1 + with: + allowed-failures: misc-0 + allowed-skips: "" + jobs: ${{ toJSON(needs) }} diff --git a/.github/workflows/generate_workflows.py b/.github/workflows/generate_workflows.py index 42fcb98f414..c6130cc34cf 100644 --- a/.github/workflows/generate_workflows.py +++ b/.github/workflows/generate_workflows.py @@ -141,34 +141,36 @@ def _generate_workflow( template_name: str, output_dir: Path, max_jobs: int = 250, -): - # Github seems to limit the amount of jobs in a workflow file, that is why - # they are split in groups of 250 per workflow file. - for file_number, job_datas in enumerate( - [ - job_datas[index : index + max_jobs] - for index in range(0, len(job_datas), max_jobs) - ] - ): +) -> list: + """Generate reusable workflow files, returns list of file numbers.""" + # GitHub limits workflows to 256 jobs per file. We use a lower default + # (250) + chunks = [ + job_datas[index : index + max_jobs] + for index in range(0, len(job_datas), max_jobs) + ] + file_numbers = [] + env = Environment( + loader=FileSystemLoader(Path(__file__).parent.joinpath("templates")) + ) + for file_number, chunk_job_datas in enumerate(chunks): with open( output_dir.joinpath(f"{template_name}_{file_number}.yml"), "w" - ) as test_yml_file: - test_yml_file.write( - Environment( - loader=FileSystemLoader( - Path(__file__).parent.joinpath("templates") - ) + ) as yml_file: + yml_file.write( + env.get_template(f"{template_name}.yml.j2").render( + job_datas=chunk_job_datas, file_number=file_number ) - .get_template(f"{template_name}.yml.j2") - .render(job_datas=job_datas, file_number=file_number) ) - test_yml_file.write("\n") + yml_file.write("\n") + file_numbers.append(file_number) + return file_numbers def generate_test_workflow( tox_ini_path: Path, workflow_directory_path: Path, operating_systems -) -> None: - _generate_workflow( +) -> list: + return _generate_workflow( get_test_job_datas(get_tox_envs(tox_ini_path), operating_systems), "test", workflow_directory_path, @@ -178,8 +180,8 @@ def generate_test_workflow( def generate_lint_workflow( tox_ini_path: Path, workflow_directory_path: Path, -) -> None: - _generate_workflow( +) -> list: + return _generate_workflow( get_lint_job_datas(get_tox_envs(tox_ini_path)), "lint", workflow_directory_path, @@ -189,19 +191,46 @@ def generate_lint_workflow( def generate_misc_workflow( tox_ini_path: Path, workflow_directory_path: Path, -) -> None: - _generate_workflow( +) -> list: + return _generate_workflow( get_misc_job_datas(get_tox_envs(tox_ini_path)), "misc", workflow_directory_path, ) +def generate_ci_workflow( + test_file_numbers: list, + lint_file_numbers: list, + misc_file_numbers: list, + output_dir: Path, +) -> None: + """Generate the parent CI orchestrator workflow.""" + with open(output_dir.joinpath("ci.yml"), "w") as ci_yml_file: + ci_yml_file.write( + Environment( + loader=FileSystemLoader( + Path(__file__).parent.joinpath("templates") + ) + ) + .get_template("ci.yml.j2") + .render( + test_file_numbers=test_file_numbers, + lint_file_numbers=lint_file_numbers, + misc_file_numbers=misc_file_numbers, + ) + ) + ci_yml_file.write("\n") + + if __name__ == "__main__": tox_ini_path = Path(__file__).parent.parent.parent.joinpath("tox.ini") output_dir = Path(__file__).parent - generate_test_workflow( + test_file_numbers = generate_test_workflow( tox_ini_path, output_dir, ["ubuntu-latest", "windows-latest"] ) - generate_lint_workflow(tox_ini_path, output_dir) - generate_misc_workflow(tox_ini_path, output_dir) + lint_file_numbers = generate_lint_workflow(tox_ini_path, output_dir) + misc_file_numbers = generate_misc_workflow(tox_ini_path, output_dir) + generate_ci_workflow( + test_file_numbers, lint_file_numbers, misc_file_numbers, output_dir + ) diff --git a/.github/workflows/lint_0.yml b/.github/workflows/lint_0.yml index 83670fe2574..69428af6361 100644 --- a/.github/workflows/lint_0.yml +++ b/.github/workflows/lint_0.yml @@ -4,18 +4,11 @@ name: Lint 0 on: - push: - branches: - - 'main' - pull_request: + workflow_call: permissions: contents: read -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true - env: CORE_REPO_SHA: main # Set the SHA to the branch name if the PR has a label 'prepare-release' or 'backport' otherwise, set it to 'main' diff --git a/.github/workflows/misc_0.yml b/.github/workflows/misc_0.yml index 839de7eba7a..2fc6d055dc1 100644 --- a/.github/workflows/misc_0.yml +++ b/.github/workflows/misc_0.yml @@ -4,18 +4,11 @@ name: Misc 0 on: - push: - branches: - - 'main' - pull_request: + workflow_call: permissions: contents: read -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true - env: CORE_REPO_SHA: main # Set the SHA to the branch name if the PR has a label 'prepare-release' or 'backport' otherwise, set it to 'main' diff --git a/.github/workflows/templates/ci.yml.j2 b/.github/workflows/templates/ci.yml.j2 new file mode 100644 index 00000000000..d396cd9a05a --- /dev/null +++ b/.github/workflows/templates/ci.yml.j2 @@ -0,0 +1,55 @@ +# Do not edit this file. +# This file is generated automatically by executing tox -e generate-workflows + +name: CI + +on: + push: + branches: + - 'main' + pull_request: + +permissions: + contents: read + +concurrency: + group: ${% raw %}{{ github.workflow }}-${{ github.head_ref || github.run_id }}{% endraw %} + cancel-in-progress: true + +jobs: + {%- for n in misc_file_numbers %} + + misc_{{ n }}: + uses: ./.github/workflows/misc_{{ n }}.yml + {%- endfor %} + {%- for n in lint_file_numbers %} + + lint_{{ n }}: + uses: ./.github/workflows/lint_{{ n }}.yml + {%- endfor %} + {%- for n in test_file_numbers %} + + tests_{{ n }}: + uses: ./.github/workflows/test_{{ n }}.yml + {%- endfor %} + + check: + if: always() + needs: + {%- for n in misc_file_numbers %} + - misc_{{ n }} + {%- endfor %} + {%- for n in lint_file_numbers %} + - lint_{{ n }} + {%- endfor %} + {%- for n in test_file_numbers %} + - tests_{{ n }} + {%- endfor %} + runs-on: ubuntu-latest + steps: + - name: Decide whether the needed jobs succeeded or failed + uses: re-actors/alls-green@release/v1 + with: + allowed-failures: "" + allowed-skips: "misc_0" + jobs: ${% raw %}{{ toJSON(needs) }}{% endraw %} diff --git a/.github/workflows/templates/lint.yml.j2 b/.github/workflows/templates/lint.yml.j2 index 99fa1b74a8f..a30d9b09851 100644 --- a/.github/workflows/templates/lint.yml.j2 +++ b/.github/workflows/templates/lint.yml.j2 @@ -4,18 +4,11 @@ name: Lint {{ file_number }} on: - push: - branches: - - 'main' - pull_request: + workflow_call: permissions: contents: read -concurrency: - group: ${% raw %}{{ github.workflow }}-${{ github.head_ref || github.run_id }}{% endraw %} - cancel-in-progress: true - env: CORE_REPO_SHA: main # Set the SHA to the branch name if the PR has a label 'prepare-release' or 'backport' otherwise, set it to 'main' diff --git a/.github/workflows/templates/misc.yml.j2 b/.github/workflows/templates/misc.yml.j2 index e9e4a64344c..b5a216d428f 100644 --- a/.github/workflows/templates/misc.yml.j2 +++ b/.github/workflows/templates/misc.yml.j2 @@ -4,18 +4,11 @@ name: Misc {{ file_number }} on: - push: - branches: - - 'main' - pull_request: + workflow_call: permissions: contents: read -concurrency: - group: ${% raw %}{{ github.workflow }}-${{ github.head_ref || github.run_id }}{% endraw %} - cancel-in-progress: true - env: CORE_REPO_SHA: main # Set the SHA to the branch name if the PR has a label 'prepare-release' or 'backport' otherwise, set it to 'main' diff --git a/.github/workflows/templates/test.yml.j2 b/.github/workflows/templates/test.yml.j2 index 01a9f1c9b53..ca9a7b553bb 100644 --- a/.github/workflows/templates/test.yml.j2 +++ b/.github/workflows/templates/test.yml.j2 @@ -4,18 +4,11 @@ name: Test {{ file_number }} on: - push: - branches: - - 'main' - pull_request: + workflow_call: permissions: contents: read -concurrency: - group: ${% raw %}{{ github.workflow }}-${{ github.head_ref || github.run_id }}{% endraw %} - cancel-in-progress: true - env: CORE_REPO_SHA: main # Set the SHA to the branch name if the PR has a label 'prepare-release' or 'backport' otherwise, set it to 'main' diff --git a/.github/workflows/test_0.yml b/.github/workflows/test_0.yml index d96a3195b8d..0900b7db061 100644 --- a/.github/workflows/test_0.yml +++ b/.github/workflows/test_0.yml @@ -4,18 +4,11 @@ name: Test 0 on: - push: - branches: - - 'main' - pull_request: + workflow_call: permissions: contents: read -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true - env: CORE_REPO_SHA: main # Set the SHA to the branch name if the PR has a label 'prepare-release' or 'backport' otherwise, set it to 'main' diff --git a/.github/workflows/test_1.yml b/.github/workflows/test_1.yml index 91f9a638b27..11b25f76301 100644 --- a/.github/workflows/test_1.yml +++ b/.github/workflows/test_1.yml @@ -4,18 +4,11 @@ name: Test 1 on: - push: - branches: - - 'main' - pull_request: + workflow_call: permissions: contents: read -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true - env: CORE_REPO_SHA: main # Set the SHA to the branch name if the PR has a label 'prepare-release' or 'backport' otherwise, set it to 'main' From 97c369d1d34a84c1fb65d955804510aebdcefcf8 Mon Sep 17 00:00:00 2001 From: emdneto <9735060+emdneto@users.noreply.github.com> Date: Mon, 16 Mar 2026 20:51:48 -0300 Subject: [PATCH 02/14] ci --- .github/workflows/ci.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e13f4bedd9b..c9d2a88b621 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -33,15 +33,15 @@ jobs: check: if: always() needs: - - misc-0 - - linters-0 - - tests-0 - - tests-1 + - misc_0 + - lint_0 + - tests_0 + - tests_1 runs-on: ubuntu-latest steps: - name: Decide whether the needed jobs succeeded or failed uses: re-actors/alls-green@release/v1 with: - allowed-failures: misc-0 - allowed-skips: "" + allowed-failures: "" + allowed-skips: "misc_0" jobs: ${{ toJSON(needs) }} From dea3491e1f6965b2d096a6cee9f9fd7305aec5eb Mon Sep 17 00:00:00 2001 From: emdneto <9735060+emdneto@users.noreply.github.com> Date: Mon, 16 Mar 2026 21:01:36 -0300 Subject: [PATCH 03/14] add contrib_0 Signed-off-by: emdneto <9735060+emdneto@users.noreply.github.com> --- .github/workflows/ci.yml | 13 ++++++++++++- .github/workflows/contrib.yml | 25 ------------------------- .github/workflows/templates/ci.yml.j2 | 13 ++++++++++++- 3 files changed, 24 insertions(+), 27 deletions(-) delete mode 100644 .github/workflows/contrib.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c9d2a88b621..bbe540a7495 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,6 +30,16 @@ jobs: tests_1: uses: ./.github/workflows/test_1.yml + contrib_0: + uses: open-telemetry/opentelemetry-python-contrib/.github/workflows/core_contrib_test_0.yml@main + with: + CORE_REPO_SHA: ${{ github.sha }} + CONTRIB_REPO_SHA: ${{ github.event_name == 'pull_request' && ( + contains(github.event.pull_request.labels.*.name, 'prepare-release') && github.event.pull_request.head.ref || + contains(github.event.pull_request.labels.*.name, 'backport') && github.event.pull_request.base.ref || + 'main' + ) || 'main' }} + check: if: always() needs: @@ -37,11 +47,12 @@ jobs: - lint_0 - tests_0 - tests_1 + - contrib_0 runs-on: ubuntu-latest steps: - name: Decide whether the needed jobs succeeded or failed uses: re-actors/alls-green@release/v1 with: allowed-failures: "" - allowed-skips: "misc_0" + allowed-skips: "misc_0 / public-symbols-check" jobs: ${{ toJSON(needs) }} diff --git a/.github/workflows/contrib.yml b/.github/workflows/contrib.yml deleted file mode 100644 index 52c52ce2aec..00000000000 --- a/.github/workflows/contrib.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: Core Contrib Test - -on: - push: - branches: - - 'main' - pull_request: - -permissions: - contents: read - -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true - -jobs: - contrib_0: - uses: open-telemetry/opentelemetry-python-contrib/.github/workflows/core_contrib_test_0.yml@main - with: - CORE_REPO_SHA: ${{ github.sha }} - CONTRIB_REPO_SHA: ${{ github.event_name == 'pull_request' && ( - contains(github.event.pull_request.labels.*.name, 'prepare-release') && github.event.pull_request.head.ref || - contains(github.event.pull_request.labels.*.name, 'backport') && github.event.pull_request.base.ref || - 'main' - ) || 'main' }} diff --git a/.github/workflows/templates/ci.yml.j2 b/.github/workflows/templates/ci.yml.j2 index d396cd9a05a..9bdf7a6c3d3 100644 --- a/.github/workflows/templates/ci.yml.j2 +++ b/.github/workflows/templates/ci.yml.j2 @@ -33,6 +33,16 @@ jobs: uses: ./.github/workflows/test_{{ n }}.yml {%- endfor %} + contrib_0: + uses: open-telemetry/opentelemetry-python-contrib/.github/workflows/core_contrib_test_0.yml@main + with: + CORE_REPO_SHA: ${% raw %}{{ github.sha }}{% endraw %} + CONTRIB_REPO_SHA: {% raw %}${{ github.event_name == 'pull_request' && ( + contains(github.event.pull_request.labels.*.name, 'prepare-release') && github.event.pull_request.head.ref || + contains(github.event.pull_request.labels.*.name, 'backport') && github.event.pull_request.base.ref || + 'main' + ) || 'main' }}{% endraw %} + check: if: always() needs: @@ -45,11 +55,12 @@ jobs: {%- for n in test_file_numbers %} - tests_{{ n }} {%- endfor %} + - contrib_0 runs-on: ubuntu-latest steps: - name: Decide whether the needed jobs succeeded or failed uses: re-actors/alls-green@release/v1 with: allowed-failures: "" - allowed-skips: "misc_0" + allowed-skips: "misc_0 / public-symbols-check" jobs: ${% raw %}{{ toJSON(needs) }}{% endraw %} From 190ba8eddfb162a177b1bf97dc999276fbc8ce6a Mon Sep 17 00:00:00 2001 From: emdneto <9735060+emdneto@users.noreply.github.com> Date: Mon, 16 Mar 2026 21:07:04 -0300 Subject: [PATCH 04/14] test without allowed skips Signed-off-by: emdneto <9735060+emdneto@users.noreply.github.com> --- .github/workflows/ci.yml | 2 +- .github/workflows/templates/ci.yml.j2 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bbe540a7495..edc1be9e09b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -54,5 +54,5 @@ jobs: uses: re-actors/alls-green@release/v1 with: allowed-failures: "" - allowed-skips: "misc_0 / public-symbols-check" + allowed-skips: "" jobs: ${{ toJSON(needs) }} diff --git a/.github/workflows/templates/ci.yml.j2 b/.github/workflows/templates/ci.yml.j2 index 9bdf7a6c3d3..52d42cfa050 100644 --- a/.github/workflows/templates/ci.yml.j2 +++ b/.github/workflows/templates/ci.yml.j2 @@ -62,5 +62,5 @@ jobs: uses: re-actors/alls-green@release/v1 with: allowed-failures: "" - allowed-skips: "misc_0 / public-symbols-check" + allowed-skips: "" jobs: ${% raw %}{{ toJSON(needs) }}{% endraw %} From 6c3aab0cdb3f1398b57d88bf767eaf1985b661ed Mon Sep 17 00:00:00 2001 From: emdneto <9735060+emdneto@users.noreply.github.com> Date: Mon, 16 Mar 2026 21:19:24 -0300 Subject: [PATCH 05/14] simulate failure in public-symbols-check Signed-off-by: emdneto <9735060+emdneto@users.noreply.github.com> --- .github/workflows/generate_workflows.py | 34 +++++++++++-------------- .github/workflows/templates/ci.yml.j2 | 12 ++++----- tox.ini | 1 + 3 files changed, 22 insertions(+), 25 deletions(-) diff --git a/.github/workflows/generate_workflows.py b/.github/workflows/generate_workflows.py index c6130cc34cf..98cde2054bf 100644 --- a/.github/workflows/generate_workflows.py +++ b/.github/workflows/generate_workflows.py @@ -141,7 +141,7 @@ def _generate_workflow( template_name: str, output_dir: Path, max_jobs: int = 250, -) -> list: +) -> int: """Generate reusable workflow files, returns list of file numbers.""" # GitHub limits workflows to 256 jobs per file. We use a lower default # (250) @@ -149,7 +149,6 @@ def _generate_workflow( job_datas[index : index + max_jobs] for index in range(0, len(job_datas), max_jobs) ] - file_numbers = [] env = Environment( loader=FileSystemLoader(Path(__file__).parent.joinpath("templates")) ) @@ -163,13 +162,12 @@ def _generate_workflow( ) ) yml_file.write("\n") - file_numbers.append(file_number) - return file_numbers + return len(chunks) def generate_test_workflow( tox_ini_path: Path, workflow_directory_path: Path, operating_systems -) -> list: +) -> int: return _generate_workflow( get_test_job_datas(get_tox_envs(tox_ini_path), operating_systems), "test", @@ -180,7 +178,7 @@ def generate_test_workflow( def generate_lint_workflow( tox_ini_path: Path, workflow_directory_path: Path, -) -> list: +) -> int: return _generate_workflow( get_lint_job_datas(get_tox_envs(tox_ini_path)), "lint", @@ -191,7 +189,7 @@ def generate_lint_workflow( def generate_misc_workflow( tox_ini_path: Path, workflow_directory_path: Path, -) -> list: +) -> int: return _generate_workflow( get_misc_job_datas(get_tox_envs(tox_ini_path)), "misc", @@ -200,9 +198,9 @@ def generate_misc_workflow( def generate_ci_workflow( - test_file_numbers: list, - lint_file_numbers: list, - misc_file_numbers: list, + test_count: int, + lint_count: int, + misc_count: int, output_dir: Path, ) -> None: """Generate the parent CI orchestrator workflow.""" @@ -215,9 +213,9 @@ def generate_ci_workflow( ) .get_template("ci.yml.j2") .render( - test_file_numbers=test_file_numbers, - lint_file_numbers=lint_file_numbers, - misc_file_numbers=misc_file_numbers, + test_count=test_count, + lint_count=lint_count, + misc_count=misc_count, ) ) ci_yml_file.write("\n") @@ -226,11 +224,9 @@ def generate_ci_workflow( if __name__ == "__main__": tox_ini_path = Path(__file__).parent.parent.parent.joinpath("tox.ini") output_dir = Path(__file__).parent - test_file_numbers = generate_test_workflow( + test_count = generate_test_workflow( tox_ini_path, output_dir, ["ubuntu-latest", "windows-latest"] ) - lint_file_numbers = generate_lint_workflow(tox_ini_path, output_dir) - misc_file_numbers = generate_misc_workflow(tox_ini_path, output_dir) - generate_ci_workflow( - test_file_numbers, lint_file_numbers, misc_file_numbers, output_dir - ) + lint_count = generate_lint_workflow(tox_ini_path, output_dir) + misc_count = generate_misc_workflow(tox_ini_path, output_dir) + generate_ci_workflow(test_count, lint_count, misc_count, output_dir) diff --git a/.github/workflows/templates/ci.yml.j2 b/.github/workflows/templates/ci.yml.j2 index 52d42cfa050..1257f80cc69 100644 --- a/.github/workflows/templates/ci.yml.j2 +++ b/.github/workflows/templates/ci.yml.j2 @@ -17,17 +17,17 @@ concurrency: cancel-in-progress: true jobs: - {%- for n in misc_file_numbers %} + {%- for n in range(misc_count) %} misc_{{ n }}: uses: ./.github/workflows/misc_{{ n }}.yml {%- endfor %} - {%- for n in lint_file_numbers %} + {%- for n in range(lint_count) %} lint_{{ n }}: uses: ./.github/workflows/lint_{{ n }}.yml {%- endfor %} - {%- for n in test_file_numbers %} + {%- for n in range(test_count) %} tests_{{ n }}: uses: ./.github/workflows/test_{{ n }}.yml @@ -46,13 +46,13 @@ jobs: check: if: always() needs: - {%- for n in misc_file_numbers %} + {%- for n in range(misc_count) %} - misc_{{ n }} {%- endfor %} - {%- for n in lint_file_numbers %} + {%- for n in range(lint_count) %} - lint_{{ n }} {%- endfor %} - {%- for n in test_file_numbers %} + {%- for n in range(test_count) %} - tests_{{ n }} {%- endfor %} - contrib_0 diff --git a/tox.ini b/tox.ini index e16bd9ab19c..fe4bf3b2df0 100644 --- a/tox.ini +++ b/tox.ini @@ -325,6 +325,7 @@ deps = toml commands = ; griffe check before to fail fast if there are any issues + breakthings python {toxinidir}/scripts/griffe_check.py python {toxinidir}/scripts/public_symbols_checker.py From 7d392d50569b090751ed1bd4a390d3ea7221d442 Mon Sep 17 00:00:00 2001 From: emdneto <9735060+emdneto@users.noreply.github.com> Date: Mon, 16 Mar 2026 21:25:04 -0300 Subject: [PATCH 06/14] empty commit to trigger ci -- added skip label -- ci check should pass From 28fc92c28858905a91d470e5a2ad7a6e65488586 Mon Sep 17 00:00:00 2001 From: emdneto <9735060+emdneto@users.noreply.github.com> Date: Tue, 17 Mar 2026 21:02:43 -0300 Subject: [PATCH 07/14] test single files Signed-off-by: emdneto <9735060+emdneto@users.noreply.github.com> --- .github/workflows/ci.yml | 26 +- .github/workflows/generate_workflows.py | 56 +- .github/workflows/{lint_0.yml => lint.yml} | 2 +- .github/workflows/{misc_0.yml => misc.yml} | 2 +- .github/workflows/templates/ci.yml.j2 | 34 +- .../workflows/templates/generate_workflows.py | 232 +++ .github/workflows/templates/lint.yml.j2 | 2 +- .github/workflows/templates/misc.yml.j2 | 2 +- .github/workflows/templates/test.yml.j2 | 2 +- .github/workflows/{test_0.yml => test.yml} | 1304 +++++++++++++++- .github/workflows/test_1.yml | 1332 ----------------- 11 files changed, 1581 insertions(+), 1413 deletions(-) rename .github/workflows/{lint_0.yml => lint.yml} (99%) rename .github/workflows/{misc_0.yml => misc.yml} (99%) create mode 100644 .github/workflows/templates/generate_workflows.py rename .github/workflows/{test_0.yml => test.yml} (78%) delete mode 100644 .github/workflows/test_1.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index edc1be9e09b..3483edf7b11 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,19 +18,16 @@ concurrency: jobs: - misc_0: - uses: ./.github/workflows/misc_0.yml + misc: + uses: ./.github/workflows/misc.yml - lint_0: - uses: ./.github/workflows/lint_0.yml + lint: + uses: ./.github/workflows/lint.yml - tests_0: - uses: ./.github/workflows/test_0.yml + tests: + uses: ./.github/workflows/test.yml - tests_1: - uses: ./.github/workflows/test_1.yml - - contrib_0: + contrib: uses: open-telemetry/opentelemetry-python-contrib/.github/workflows/core_contrib_test_0.yml@main with: CORE_REPO_SHA: ${{ github.sha }} @@ -43,11 +40,10 @@ jobs: check: if: always() needs: - - misc_0 - - lint_0 - - tests_0 - - tests_1 - - contrib_0 + - misc + - lint + - tests + - contrib runs-on: ubuntu-latest steps: - name: Decide whether the needed jobs succeeded or failed diff --git a/.github/workflows/generate_workflows.py b/.github/workflows/generate_workflows.py index 98cde2054bf..e9082c8f279 100644 --- a/.github/workflows/generate_workflows.py +++ b/.github/workflows/generate_workflows.py @@ -140,35 +140,24 @@ def _generate_workflow( job_datas: list, template_name: str, output_dir: Path, - max_jobs: int = 250, -) -> int: - """Generate reusable workflow files, returns list of file numbers.""" - # GitHub limits workflows to 256 jobs per file. We use a lower default - # (250) - chunks = [ - job_datas[index : index + max_jobs] - for index in range(0, len(job_datas), max_jobs) - ] +) -> None: + """Generate a reusable workflow file.""" env = Environment( loader=FileSystemLoader(Path(__file__).parent.joinpath("templates")) ) - for file_number, chunk_job_datas in enumerate(chunks): - with open( - output_dir.joinpath(f"{template_name}_{file_number}.yml"), "w" - ) as yml_file: - yml_file.write( - env.get_template(f"{template_name}.yml.j2").render( - job_datas=chunk_job_datas, file_number=file_number - ) + with open(output_dir.joinpath(f"{template_name}.yml"), "w") as yml_file: + yml_file.write( + env.get_template(f"{template_name}.yml.j2").render( + job_datas=job_datas, ) - yml_file.write("\n") - return len(chunks) + ) + yml_file.write("\n") def generate_test_workflow( tox_ini_path: Path, workflow_directory_path: Path, operating_systems -) -> int: - return _generate_workflow( +) -> None: + _generate_workflow( get_test_job_datas(get_tox_envs(tox_ini_path), operating_systems), "test", workflow_directory_path, @@ -178,8 +167,8 @@ def generate_test_workflow( def generate_lint_workflow( tox_ini_path: Path, workflow_directory_path: Path, -) -> int: - return _generate_workflow( +) -> None: + _generate_workflow( get_lint_job_datas(get_tox_envs(tox_ini_path)), "lint", workflow_directory_path, @@ -189,8 +178,8 @@ def generate_lint_workflow( def generate_misc_workflow( tox_ini_path: Path, workflow_directory_path: Path, -) -> int: - return _generate_workflow( +) -> None: + _generate_workflow( get_misc_job_datas(get_tox_envs(tox_ini_path)), "misc", workflow_directory_path, @@ -198,9 +187,6 @@ def generate_misc_workflow( def generate_ci_workflow( - test_count: int, - lint_count: int, - misc_count: int, output_dir: Path, ) -> None: """Generate the parent CI orchestrator workflow.""" @@ -212,11 +198,7 @@ def generate_ci_workflow( ) ) .get_template("ci.yml.j2") - .render( - test_count=test_count, - lint_count=lint_count, - misc_count=misc_count, - ) + .render() ) ci_yml_file.write("\n") @@ -224,9 +206,9 @@ def generate_ci_workflow( if __name__ == "__main__": tox_ini_path = Path(__file__).parent.parent.parent.joinpath("tox.ini") output_dir = Path(__file__).parent - test_count = generate_test_workflow( + generate_test_workflow( tox_ini_path, output_dir, ["ubuntu-latest", "windows-latest"] ) - lint_count = generate_lint_workflow(tox_ini_path, output_dir) - misc_count = generate_misc_workflow(tox_ini_path, output_dir) - generate_ci_workflow(test_count, lint_count, misc_count, output_dir) + generate_lint_workflow(tox_ini_path, output_dir) + generate_misc_workflow(tox_ini_path, output_dir) + generate_ci_workflow(output_dir) diff --git a/.github/workflows/lint_0.yml b/.github/workflows/lint.yml similarity index 99% rename from .github/workflows/lint_0.yml rename to .github/workflows/lint.yml index 69428af6361..63e80af2bd1 100644 --- a/.github/workflows/lint_0.yml +++ b/.github/workflows/lint.yml @@ -1,7 +1,7 @@ # Do not edit this file. # This file is generated automatically by executing tox -e generate-workflows -name: Lint 0 +name: Lint on: workflow_call: diff --git a/.github/workflows/misc_0.yml b/.github/workflows/misc.yml similarity index 99% rename from .github/workflows/misc_0.yml rename to .github/workflows/misc.yml index 2fc6d055dc1..7c5d4285f9d 100644 --- a/.github/workflows/misc_0.yml +++ b/.github/workflows/misc.yml @@ -1,7 +1,7 @@ # Do not edit this file. # This file is generated automatically by executing tox -e generate-workflows -name: Misc 0 +name: Misc on: workflow_call: diff --git a/.github/workflows/templates/ci.yml.j2 b/.github/workflows/templates/ci.yml.j2 index 1257f80cc69..50e906e6da8 100644 --- a/.github/workflows/templates/ci.yml.j2 +++ b/.github/workflows/templates/ci.yml.j2 @@ -17,23 +17,17 @@ concurrency: cancel-in-progress: true jobs: - {%- for n in range(misc_count) %} - misc_{{ n }}: - uses: ./.github/workflows/misc_{{ n }}.yml - {%- endfor %} - {%- for n in range(lint_count) %} + misc: + uses: ./.github/workflows/misc.yml - lint_{{ n }}: - uses: ./.github/workflows/lint_{{ n }}.yml - {%- endfor %} - {%- for n in range(test_count) %} + lint: + uses: ./.github/workflows/lint.yml - tests_{{ n }}: - uses: ./.github/workflows/test_{{ n }}.yml - {%- endfor %} + tests: + uses: ./.github/workflows/test.yml - contrib_0: + contrib: uses: open-telemetry/opentelemetry-python-contrib/.github/workflows/core_contrib_test_0.yml@main with: CORE_REPO_SHA: ${% raw %}{{ github.sha }}{% endraw %} @@ -46,16 +40,10 @@ jobs: check: if: always() needs: - {%- for n in range(misc_count) %} - - misc_{{ n }} - {%- endfor %} - {%- for n in range(lint_count) %} - - lint_{{ n }} - {%- endfor %} - {%- for n in range(test_count) %} - - tests_{{ n }} - {%- endfor %} - - contrib_0 + - misc + - lint + - tests + - contrib runs-on: ubuntu-latest steps: - name: Decide whether the needed jobs succeeded or failed diff --git a/.github/workflows/templates/generate_workflows.py b/.github/workflows/templates/generate_workflows.py new file mode 100644 index 00000000000..98cde2054bf --- /dev/null +++ b/.github/workflows/templates/generate_workflows.py @@ -0,0 +1,232 @@ +from collections import defaultdict +from pathlib import Path +from re import compile as re_compile + +from jinja2 import Environment, FileSystemLoader +from tox.config.cli.parse import get_options +from tox.config.sets import CoreConfigSet +from tox.config.source.tox_ini import ToxIni +from tox.session.state import State + +_tox_test_env_regex = re_compile( + r"(?Ppy\w+)-test-" + r"(?P[-\w]+\w)-?(?P\d+)?" +) +_tox_lint_env_regex = re_compile(r"lint-(?P[-\w]+)") +_tox_contrib_env_regex = re_compile( + r"py39-test-(?P[-\w]+\w)-?(?P\d+)?" +) + + +def get_tox_envs(tox_ini_path: Path) -> list: + tox_ini = ToxIni(tox_ini_path) + + conf = State(get_options(), []).conf + + tox_section = next(tox_ini.sections()) + + core_config_set = CoreConfigSet( + conf, tox_section, tox_ini_path.parent, tox_ini_path + ) + + ( + core_config_set.loaders.extend( + tox_ini.get_loaders( + tox_section, + base=[], + override_map=defaultdict(list, {}), + conf=core_config_set, + ) + ) + ) + + return core_config_set.load("env_list") + + +def get_test_job_datas(tox_envs: list, operating_systems: list) -> list: + os_alias = {"ubuntu-latest": "Ubuntu", "windows-latest": "Windows"} + + python_version_alias = { + "pypy3": "pypy-3.9", + "py39": "3.9", + "py310": "3.10", + "py311": "3.11", + "py312": "3.12", + "py313": "3.13", + "py314": "3.14", + "py314t": "3.14t", + } + + test_job_datas = [] + + for operating_system in operating_systems: + for tox_env in tox_envs: + tox_test_env_match = _tox_test_env_regex.match(tox_env) + + if tox_test_env_match is None: + continue + + groups = tox_test_env_match.groupdict() + + aliased_python_version = python_version_alias[ + groups["python_version"] + ] + tox_env = tox_test_env_match.string + + test_requirements = groups["test_requirements"] + + if test_requirements is None: + test_requirements = " " + + else: + test_requirements = f"-{test_requirements} " + + test_job_datas.append( + { + "name": f"{tox_env}_{operating_system}", + "ui_name": ( + f"{groups['name']}" + f"{test_requirements}" + f"{aliased_python_version} " + f"{os_alias[operating_system]}" + ), + "python_version": aliased_python_version, + "tox_env": tox_env, + "os": operating_system, + } + ) + + return test_job_datas + + +def get_lint_job_datas(tox_envs: list) -> list: + lint_job_datas = [] + + for tox_env in tox_envs: + tox_lint_env_match = _tox_lint_env_regex.match(tox_env) + + if tox_lint_env_match is None: + continue + + tox_env = tox_lint_env_match.string + + lint_job_datas.append( + { + "name": f"{tox_env}", + "ui_name": f"{tox_lint_env_match.groupdict()['name']}", + "tox_env": tox_env, + } + ) + + return lint_job_datas + + +def get_misc_job_datas(tox_envs: list) -> list: + regex_patterns = [ + _tox_test_env_regex, + _tox_lint_env_regex, + _tox_contrib_env_regex, + re_compile(r"benchmark.+"), + ] + + return [ + tox_env + for tox_env in tox_envs + if not any(pattern.match(tox_env) for pattern in regex_patterns) + ] + + +def _generate_workflow( + job_datas: list, + template_name: str, + output_dir: Path, + max_jobs: int = 250, +) -> int: + """Generate reusable workflow files, returns list of file numbers.""" + # GitHub limits workflows to 256 jobs per file. We use a lower default + # (250) + chunks = [ + job_datas[index : index + max_jobs] + for index in range(0, len(job_datas), max_jobs) + ] + env = Environment( + loader=FileSystemLoader(Path(__file__).parent.joinpath("templates")) + ) + for file_number, chunk_job_datas in enumerate(chunks): + with open( + output_dir.joinpath(f"{template_name}_{file_number}.yml"), "w" + ) as yml_file: + yml_file.write( + env.get_template(f"{template_name}.yml.j2").render( + job_datas=chunk_job_datas, file_number=file_number + ) + ) + yml_file.write("\n") + return len(chunks) + + +def generate_test_workflow( + tox_ini_path: Path, workflow_directory_path: Path, operating_systems +) -> int: + return _generate_workflow( + get_test_job_datas(get_tox_envs(tox_ini_path), operating_systems), + "test", + workflow_directory_path, + ) + + +def generate_lint_workflow( + tox_ini_path: Path, + workflow_directory_path: Path, +) -> int: + return _generate_workflow( + get_lint_job_datas(get_tox_envs(tox_ini_path)), + "lint", + workflow_directory_path, + ) + + +def generate_misc_workflow( + tox_ini_path: Path, + workflow_directory_path: Path, +) -> int: + return _generate_workflow( + get_misc_job_datas(get_tox_envs(tox_ini_path)), + "misc", + workflow_directory_path, + ) + + +def generate_ci_workflow( + test_count: int, + lint_count: int, + misc_count: int, + output_dir: Path, +) -> None: + """Generate the parent CI orchestrator workflow.""" + with open(output_dir.joinpath("ci.yml"), "w") as ci_yml_file: + ci_yml_file.write( + Environment( + loader=FileSystemLoader( + Path(__file__).parent.joinpath("templates") + ) + ) + .get_template("ci.yml.j2") + .render( + test_count=test_count, + lint_count=lint_count, + misc_count=misc_count, + ) + ) + ci_yml_file.write("\n") + + +if __name__ == "__main__": + tox_ini_path = Path(__file__).parent.parent.parent.joinpath("tox.ini") + output_dir = Path(__file__).parent + test_count = generate_test_workflow( + tox_ini_path, output_dir, ["ubuntu-latest", "windows-latest"] + ) + lint_count = generate_lint_workflow(tox_ini_path, output_dir) + misc_count = generate_misc_workflow(tox_ini_path, output_dir) + generate_ci_workflow(test_count, lint_count, misc_count, output_dir) diff --git a/.github/workflows/templates/lint.yml.j2 b/.github/workflows/templates/lint.yml.j2 index a30d9b09851..13a803a56f3 100644 --- a/.github/workflows/templates/lint.yml.j2 +++ b/.github/workflows/templates/lint.yml.j2 @@ -1,7 +1,7 @@ # Do not edit this file. # This file is generated automatically by executing tox -e generate-workflows -name: Lint {{ file_number }} +name: Lint on: workflow_call: diff --git a/.github/workflows/templates/misc.yml.j2 b/.github/workflows/templates/misc.yml.j2 index b5a216d428f..941c5937bb4 100644 --- a/.github/workflows/templates/misc.yml.j2 +++ b/.github/workflows/templates/misc.yml.j2 @@ -1,7 +1,7 @@ # Do not edit this file. # This file is generated automatically by executing tox -e generate-workflows -name: Misc {{ file_number }} +name: Misc on: workflow_call: diff --git a/.github/workflows/templates/test.yml.j2 b/.github/workflows/templates/test.yml.j2 index ca9a7b553bb..8ca54829928 100644 --- a/.github/workflows/templates/test.yml.j2 +++ b/.github/workflows/templates/test.yml.j2 @@ -1,7 +1,7 @@ # Do not edit this file. # This file is generated automatically by executing tox -e generate-workflows -name: Test {{ file_number }} +name: Test on: workflow_call: diff --git a/.github/workflows/test_0.yml b/.github/workflows/test.yml similarity index 78% rename from .github/workflows/test_0.yml rename to .github/workflows/test.yml index 0900b7db061..a8691df5e26 100644 --- a/.github/workflows/test_0.yml +++ b/.github/workflows/test.yml @@ -1,7 +1,7 @@ # Do not edit this file. # This file is generated automatically by executing tox -e generate-workflows -name: Test 0 +name: Test on: workflow_call: @@ -5050,3 +5050,1305 @@ jobs: - name: Run tests run: tox -e py310-test-opentelemetry-exporter-otlp-proto-http -- -ra + + py311-test-opentelemetry-exporter-otlp-proto-http_windows-latest: + name: opentelemetry-exporter-otlp-proto-http 3.11 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-opentelemetry-exporter-otlp-proto-http -- -ra + + py312-test-opentelemetry-exporter-otlp-proto-http_windows-latest: + name: opentelemetry-exporter-otlp-proto-http 3.12 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-opentelemetry-exporter-otlp-proto-http -- -ra + + py313-test-opentelemetry-exporter-otlp-proto-http_windows-latest: + name: opentelemetry-exporter-otlp-proto-http 3.13 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-opentelemetry-exporter-otlp-proto-http -- -ra + + py314-test-opentelemetry-exporter-otlp-proto-http_windows-latest: + name: opentelemetry-exporter-otlp-proto-http 3.14 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py314-test-opentelemetry-exporter-otlp-proto-http -- -ra + + py314t-test-opentelemetry-exporter-otlp-proto-http_windows-latest: + name: opentelemetry-exporter-otlp-proto-http 3.14t Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14t + uses: actions/setup-python@v5 + with: + python-version: "3.14t" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py314t-test-opentelemetry-exporter-otlp-proto-http -- -ra + + pypy3-test-opentelemetry-exporter-otlp-proto-http_windows-latest: + name: opentelemetry-exporter-otlp-proto-http pypy-3.9 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-opentelemetry-exporter-otlp-proto-http -- -ra + + py39-test-opentelemetry-exporter-prometheus_windows-latest: + name: opentelemetry-exporter-prometheus 3.9 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-opentelemetry-exporter-prometheus -- -ra + + py310-test-opentelemetry-exporter-prometheus_windows-latest: + name: opentelemetry-exporter-prometheus 3.10 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-opentelemetry-exporter-prometheus -- -ra + + py311-test-opentelemetry-exporter-prometheus_windows-latest: + name: opentelemetry-exporter-prometheus 3.11 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-opentelemetry-exporter-prometheus -- -ra + + py312-test-opentelemetry-exporter-prometheus_windows-latest: + name: opentelemetry-exporter-prometheus 3.12 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-opentelemetry-exporter-prometheus -- -ra + + py313-test-opentelemetry-exporter-prometheus_windows-latest: + name: opentelemetry-exporter-prometheus 3.13 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-opentelemetry-exporter-prometheus -- -ra + + py314-test-opentelemetry-exporter-prometheus_windows-latest: + name: opentelemetry-exporter-prometheus 3.14 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py314-test-opentelemetry-exporter-prometheus -- -ra + + py314t-test-opentelemetry-exporter-prometheus_windows-latest: + name: opentelemetry-exporter-prometheus 3.14t Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14t + uses: actions/setup-python@v5 + with: + python-version: "3.14t" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py314t-test-opentelemetry-exporter-prometheus -- -ra + + pypy3-test-opentelemetry-exporter-prometheus_windows-latest: + name: opentelemetry-exporter-prometheus pypy-3.9 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-opentelemetry-exporter-prometheus -- -ra + + py39-test-opentelemetry-exporter-zipkin-combined_windows-latest: + name: opentelemetry-exporter-zipkin-combined 3.9 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-opentelemetry-exporter-zipkin-combined -- -ra + + py310-test-opentelemetry-exporter-zipkin-combined_windows-latest: + name: opentelemetry-exporter-zipkin-combined 3.10 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-opentelemetry-exporter-zipkin-combined -- -ra + + py311-test-opentelemetry-exporter-zipkin-combined_windows-latest: + name: opentelemetry-exporter-zipkin-combined 3.11 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-opentelemetry-exporter-zipkin-combined -- -ra + + py312-test-opentelemetry-exporter-zipkin-combined_windows-latest: + name: opentelemetry-exporter-zipkin-combined 3.12 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-opentelemetry-exporter-zipkin-combined -- -ra + + py313-test-opentelemetry-exporter-zipkin-combined_windows-latest: + name: opentelemetry-exporter-zipkin-combined 3.13 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-opentelemetry-exporter-zipkin-combined -- -ra + + py314-test-opentelemetry-exporter-zipkin-combined_windows-latest: + name: opentelemetry-exporter-zipkin-combined 3.14 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py314-test-opentelemetry-exporter-zipkin-combined -- -ra + + py314t-test-opentelemetry-exporter-zipkin-combined_windows-latest: + name: opentelemetry-exporter-zipkin-combined 3.14t Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14t + uses: actions/setup-python@v5 + with: + python-version: "3.14t" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py314t-test-opentelemetry-exporter-zipkin-combined -- -ra + + pypy3-test-opentelemetry-exporter-zipkin-combined_windows-latest: + name: opentelemetry-exporter-zipkin-combined pypy-3.9 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-opentelemetry-exporter-zipkin-combined -- -ra + + py39-test-opentelemetry-exporter-zipkin-proto-http_windows-latest: + name: opentelemetry-exporter-zipkin-proto-http 3.9 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-opentelemetry-exporter-zipkin-proto-http -- -ra + + py310-test-opentelemetry-exporter-zipkin-proto-http_windows-latest: + name: opentelemetry-exporter-zipkin-proto-http 3.10 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-opentelemetry-exporter-zipkin-proto-http -- -ra + + py311-test-opentelemetry-exporter-zipkin-proto-http_windows-latest: + name: opentelemetry-exporter-zipkin-proto-http 3.11 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-opentelemetry-exporter-zipkin-proto-http -- -ra + + py312-test-opentelemetry-exporter-zipkin-proto-http_windows-latest: + name: opentelemetry-exporter-zipkin-proto-http 3.12 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-opentelemetry-exporter-zipkin-proto-http -- -ra + + py313-test-opentelemetry-exporter-zipkin-proto-http_windows-latest: + name: opentelemetry-exporter-zipkin-proto-http 3.13 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-opentelemetry-exporter-zipkin-proto-http -- -ra + + py314-test-opentelemetry-exporter-zipkin-proto-http_windows-latest: + name: opentelemetry-exporter-zipkin-proto-http 3.14 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py314-test-opentelemetry-exporter-zipkin-proto-http -- -ra + + py314t-test-opentelemetry-exporter-zipkin-proto-http_windows-latest: + name: opentelemetry-exporter-zipkin-proto-http 3.14t Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14t + uses: actions/setup-python@v5 + with: + python-version: "3.14t" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py314t-test-opentelemetry-exporter-zipkin-proto-http -- -ra + + pypy3-test-opentelemetry-exporter-zipkin-proto-http_windows-latest: + name: opentelemetry-exporter-zipkin-proto-http pypy-3.9 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-opentelemetry-exporter-zipkin-proto-http -- -ra + + py39-test-opentelemetry-exporter-zipkin-json_windows-latest: + name: opentelemetry-exporter-zipkin-json 3.9 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-opentelemetry-exporter-zipkin-json -- -ra + + py310-test-opentelemetry-exporter-zipkin-json_windows-latest: + name: opentelemetry-exporter-zipkin-json 3.10 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-opentelemetry-exporter-zipkin-json -- -ra + + py311-test-opentelemetry-exporter-zipkin-json_windows-latest: + name: opentelemetry-exporter-zipkin-json 3.11 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-opentelemetry-exporter-zipkin-json -- -ra + + py312-test-opentelemetry-exporter-zipkin-json_windows-latest: + name: opentelemetry-exporter-zipkin-json 3.12 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-opentelemetry-exporter-zipkin-json -- -ra + + py313-test-opentelemetry-exporter-zipkin-json_windows-latest: + name: opentelemetry-exporter-zipkin-json 3.13 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-opentelemetry-exporter-zipkin-json -- -ra + + py314-test-opentelemetry-exporter-zipkin-json_windows-latest: + name: opentelemetry-exporter-zipkin-json 3.14 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py314-test-opentelemetry-exporter-zipkin-json -- -ra + + py314t-test-opentelemetry-exporter-zipkin-json_windows-latest: + name: opentelemetry-exporter-zipkin-json 3.14t Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14t + uses: actions/setup-python@v5 + with: + python-version: "3.14t" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py314t-test-opentelemetry-exporter-zipkin-json -- -ra + + pypy3-test-opentelemetry-exporter-zipkin-json_windows-latest: + name: opentelemetry-exporter-zipkin-json pypy-3.9 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-opentelemetry-exporter-zipkin-json -- -ra + + py39-test-opentelemetry-propagator-b3_windows-latest: + name: opentelemetry-propagator-b3 3.9 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-opentelemetry-propagator-b3 -- -ra + + py310-test-opentelemetry-propagator-b3_windows-latest: + name: opentelemetry-propagator-b3 3.10 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-opentelemetry-propagator-b3 -- -ra + + py311-test-opentelemetry-propagator-b3_windows-latest: + name: opentelemetry-propagator-b3 3.11 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-opentelemetry-propagator-b3 -- -ra + + py312-test-opentelemetry-propagator-b3_windows-latest: + name: opentelemetry-propagator-b3 3.12 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-opentelemetry-propagator-b3 -- -ra + + py313-test-opentelemetry-propagator-b3_windows-latest: + name: opentelemetry-propagator-b3 3.13 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-opentelemetry-propagator-b3 -- -ra + + py314-test-opentelemetry-propagator-b3_windows-latest: + name: opentelemetry-propagator-b3 3.14 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py314-test-opentelemetry-propagator-b3 -- -ra + + py314t-test-opentelemetry-propagator-b3_windows-latest: + name: opentelemetry-propagator-b3 3.14t Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14t + uses: actions/setup-python@v5 + with: + python-version: "3.14t" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py314t-test-opentelemetry-propagator-b3 -- -ra + + pypy3-test-opentelemetry-propagator-b3_windows-latest: + name: opentelemetry-propagator-b3 pypy-3.9 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-opentelemetry-propagator-b3 -- -ra + + py39-test-opentelemetry-propagator-jaeger_windows-latest: + name: opentelemetry-propagator-jaeger 3.9 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-opentelemetry-propagator-jaeger -- -ra + + py310-test-opentelemetry-propagator-jaeger_windows-latest: + name: opentelemetry-propagator-jaeger 3.10 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-opentelemetry-propagator-jaeger -- -ra + + py311-test-opentelemetry-propagator-jaeger_windows-latest: + name: opentelemetry-propagator-jaeger 3.11 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-opentelemetry-propagator-jaeger -- -ra + + py312-test-opentelemetry-propagator-jaeger_windows-latest: + name: opentelemetry-propagator-jaeger 3.12 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-opentelemetry-propagator-jaeger -- -ra + + py313-test-opentelemetry-propagator-jaeger_windows-latest: + name: opentelemetry-propagator-jaeger 3.13 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-opentelemetry-propagator-jaeger -- -ra + + py314-test-opentelemetry-propagator-jaeger_windows-latest: + name: opentelemetry-propagator-jaeger 3.14 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py314-test-opentelemetry-propagator-jaeger -- -ra + + py314t-test-opentelemetry-propagator-jaeger_windows-latest: + name: opentelemetry-propagator-jaeger 3.14t Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14t + uses: actions/setup-python@v5 + with: + python-version: "3.14t" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py314t-test-opentelemetry-propagator-jaeger -- -ra + + pypy3-test-opentelemetry-propagator-jaeger_windows-latest: + name: opentelemetry-propagator-jaeger pypy-3.9 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-opentelemetry-propagator-jaeger -- -ra + + py39-test-opentelemetry-test-utils_windows-latest: + name: opentelemetry-test-utils 3.9 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-opentelemetry-test-utils -- -ra + + py310-test-opentelemetry-test-utils_windows-latest: + name: opentelemetry-test-utils 3.10 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-opentelemetry-test-utils -- -ra + + py311-test-opentelemetry-test-utils_windows-latest: + name: opentelemetry-test-utils 3.11 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-opentelemetry-test-utils -- -ra + + py312-test-opentelemetry-test-utils_windows-latest: + name: opentelemetry-test-utils 3.12 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-opentelemetry-test-utils -- -ra + + py313-test-opentelemetry-test-utils_windows-latest: + name: opentelemetry-test-utils 3.13 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-opentelemetry-test-utils -- -ra + + py314-test-opentelemetry-test-utils_windows-latest: + name: opentelemetry-test-utils 3.14 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py314-test-opentelemetry-test-utils -- -ra + + py314t-test-opentelemetry-test-utils_windows-latest: + name: opentelemetry-test-utils 3.14t Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14t + uses: actions/setup-python@v5 + with: + python-version: "3.14t" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py314t-test-opentelemetry-test-utils -- -ra + + pypy3-test-opentelemetry-test-utils_windows-latest: + name: opentelemetry-test-utils pypy-3.9 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Configure git to support long filenames + run: git config --system core.longpaths true + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-opentelemetry-test-utils -- -ra diff --git a/.github/workflows/test_1.yml b/.github/workflows/test_1.yml deleted file mode 100644 index 11b25f76301..00000000000 --- a/.github/workflows/test_1.yml +++ /dev/null @@ -1,1332 +0,0 @@ -# Do not edit this file. -# This file is generated automatically by executing tox -e generate-workflows - -name: Test 1 - -on: - workflow_call: - -permissions: - contents: read - -env: - CORE_REPO_SHA: main - # Set the SHA to the branch name if the PR has a label 'prepare-release' or 'backport' otherwise, set it to 'main' - # For PRs you can change the inner fallback ('main') - # For pushes you change the outer fallback ('main') - # The logic below is used during releases and depends on having an equivalent branch name in the contrib repo. - CONTRIB_REPO_SHA: ${{ github.event_name == 'pull_request' && ( - contains(github.event.pull_request.labels.*.name, 'prepare-release') && github.event.pull_request.head.ref || - contains(github.event.pull_request.labels.*.name, 'backport') && github.event.pull_request.base.ref || - 'main' - ) || 'main' }} - PIP_EXISTS_ACTION: w - CONTRIB_REPO_UTIL_HTTP: ${{ github.workspace }}/opentelemetry-python-contrib/util/opentelemetry-util-http - CONTRIB_REPO_INSTRUMENTATION: ${{ github.workspace }}/opentelemetry-python-contrib/opentelemetry-instrumentation - CONTRIB_REPO_INSTRUMENTATION_REQUESTS: ${{ github.workspace }}/opentelemetry-python-contrib/instrumentation/opentelemetry-instrumentation-requests - CONTRIB_REPO_INSTRUMENTATION_WSGI: ${{ github.workspace }}/opentelemetry-python-contrib/instrumentation/opentelemetry-instrumentation-wsgi - CONTRIB_REPO_INSTRUMENTATION_FLASK: ${{ github.workspace }}/opentelemetry-python-contrib/instrumentation/opentelemetry-instrumentation-flask - -jobs: - - py311-test-opentelemetry-exporter-otlp-proto-http_windows-latest: - name: opentelemetry-exporter-otlp-proto-http 3.11 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-opentelemetry-exporter-otlp-proto-http -- -ra - - py312-test-opentelemetry-exporter-otlp-proto-http_windows-latest: - name: opentelemetry-exporter-otlp-proto-http 3.12 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-opentelemetry-exporter-otlp-proto-http -- -ra - - py313-test-opentelemetry-exporter-otlp-proto-http_windows-latest: - name: opentelemetry-exporter-otlp-proto-http 3.13 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-opentelemetry-exporter-otlp-proto-http -- -ra - - py314-test-opentelemetry-exporter-otlp-proto-http_windows-latest: - name: opentelemetry-exporter-otlp-proto-http 3.14 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.14 - uses: actions/setup-python@v5 - with: - python-version: "3.14" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py314-test-opentelemetry-exporter-otlp-proto-http -- -ra - - py314t-test-opentelemetry-exporter-otlp-proto-http_windows-latest: - name: opentelemetry-exporter-otlp-proto-http 3.14t Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.14t - uses: actions/setup-python@v5 - with: - python-version: "3.14t" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py314t-test-opentelemetry-exporter-otlp-proto-http -- -ra - - pypy3-test-opentelemetry-exporter-otlp-proto-http_windows-latest: - name: opentelemetry-exporter-otlp-proto-http pypy-3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-opentelemetry-exporter-otlp-proto-http -- -ra - - py39-test-opentelemetry-exporter-prometheus_windows-latest: - name: opentelemetry-exporter-prometheus 3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-opentelemetry-exporter-prometheus -- -ra - - py310-test-opentelemetry-exporter-prometheus_windows-latest: - name: opentelemetry-exporter-prometheus 3.10 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-opentelemetry-exporter-prometheus -- -ra - - py311-test-opentelemetry-exporter-prometheus_windows-latest: - name: opentelemetry-exporter-prometheus 3.11 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-opentelemetry-exporter-prometheus -- -ra - - py312-test-opentelemetry-exporter-prometheus_windows-latest: - name: opentelemetry-exporter-prometheus 3.12 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-opentelemetry-exporter-prometheus -- -ra - - py313-test-opentelemetry-exporter-prometheus_windows-latest: - name: opentelemetry-exporter-prometheus 3.13 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-opentelemetry-exporter-prometheus -- -ra - - py314-test-opentelemetry-exporter-prometheus_windows-latest: - name: opentelemetry-exporter-prometheus 3.14 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.14 - uses: actions/setup-python@v5 - with: - python-version: "3.14" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py314-test-opentelemetry-exporter-prometheus -- -ra - - py314t-test-opentelemetry-exporter-prometheus_windows-latest: - name: opentelemetry-exporter-prometheus 3.14t Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.14t - uses: actions/setup-python@v5 - with: - python-version: "3.14t" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py314t-test-opentelemetry-exporter-prometheus -- -ra - - pypy3-test-opentelemetry-exporter-prometheus_windows-latest: - name: opentelemetry-exporter-prometheus pypy-3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-opentelemetry-exporter-prometheus -- -ra - - py39-test-opentelemetry-exporter-zipkin-combined_windows-latest: - name: opentelemetry-exporter-zipkin-combined 3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-opentelemetry-exporter-zipkin-combined -- -ra - - py310-test-opentelemetry-exporter-zipkin-combined_windows-latest: - name: opentelemetry-exporter-zipkin-combined 3.10 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-opentelemetry-exporter-zipkin-combined -- -ra - - py311-test-opentelemetry-exporter-zipkin-combined_windows-latest: - name: opentelemetry-exporter-zipkin-combined 3.11 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-opentelemetry-exporter-zipkin-combined -- -ra - - py312-test-opentelemetry-exporter-zipkin-combined_windows-latest: - name: opentelemetry-exporter-zipkin-combined 3.12 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-opentelemetry-exporter-zipkin-combined -- -ra - - py313-test-opentelemetry-exporter-zipkin-combined_windows-latest: - name: opentelemetry-exporter-zipkin-combined 3.13 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-opentelemetry-exporter-zipkin-combined -- -ra - - py314-test-opentelemetry-exporter-zipkin-combined_windows-latest: - name: opentelemetry-exporter-zipkin-combined 3.14 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.14 - uses: actions/setup-python@v5 - with: - python-version: "3.14" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py314-test-opentelemetry-exporter-zipkin-combined -- -ra - - py314t-test-opentelemetry-exporter-zipkin-combined_windows-latest: - name: opentelemetry-exporter-zipkin-combined 3.14t Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.14t - uses: actions/setup-python@v5 - with: - python-version: "3.14t" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py314t-test-opentelemetry-exporter-zipkin-combined -- -ra - - pypy3-test-opentelemetry-exporter-zipkin-combined_windows-latest: - name: opentelemetry-exporter-zipkin-combined pypy-3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-opentelemetry-exporter-zipkin-combined -- -ra - - py39-test-opentelemetry-exporter-zipkin-proto-http_windows-latest: - name: opentelemetry-exporter-zipkin-proto-http 3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-opentelemetry-exporter-zipkin-proto-http -- -ra - - py310-test-opentelemetry-exporter-zipkin-proto-http_windows-latest: - name: opentelemetry-exporter-zipkin-proto-http 3.10 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-opentelemetry-exporter-zipkin-proto-http -- -ra - - py311-test-opentelemetry-exporter-zipkin-proto-http_windows-latest: - name: opentelemetry-exporter-zipkin-proto-http 3.11 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-opentelemetry-exporter-zipkin-proto-http -- -ra - - py312-test-opentelemetry-exporter-zipkin-proto-http_windows-latest: - name: opentelemetry-exporter-zipkin-proto-http 3.12 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-opentelemetry-exporter-zipkin-proto-http -- -ra - - py313-test-opentelemetry-exporter-zipkin-proto-http_windows-latest: - name: opentelemetry-exporter-zipkin-proto-http 3.13 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-opentelemetry-exporter-zipkin-proto-http -- -ra - - py314-test-opentelemetry-exporter-zipkin-proto-http_windows-latest: - name: opentelemetry-exporter-zipkin-proto-http 3.14 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.14 - uses: actions/setup-python@v5 - with: - python-version: "3.14" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py314-test-opentelemetry-exporter-zipkin-proto-http -- -ra - - py314t-test-opentelemetry-exporter-zipkin-proto-http_windows-latest: - name: opentelemetry-exporter-zipkin-proto-http 3.14t Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.14t - uses: actions/setup-python@v5 - with: - python-version: "3.14t" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py314t-test-opentelemetry-exporter-zipkin-proto-http -- -ra - - pypy3-test-opentelemetry-exporter-zipkin-proto-http_windows-latest: - name: opentelemetry-exporter-zipkin-proto-http pypy-3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-opentelemetry-exporter-zipkin-proto-http -- -ra - - py39-test-opentelemetry-exporter-zipkin-json_windows-latest: - name: opentelemetry-exporter-zipkin-json 3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-opentelemetry-exporter-zipkin-json -- -ra - - py310-test-opentelemetry-exporter-zipkin-json_windows-latest: - name: opentelemetry-exporter-zipkin-json 3.10 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-opentelemetry-exporter-zipkin-json -- -ra - - py311-test-opentelemetry-exporter-zipkin-json_windows-latest: - name: opentelemetry-exporter-zipkin-json 3.11 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-opentelemetry-exporter-zipkin-json -- -ra - - py312-test-opentelemetry-exporter-zipkin-json_windows-latest: - name: opentelemetry-exporter-zipkin-json 3.12 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-opentelemetry-exporter-zipkin-json -- -ra - - py313-test-opentelemetry-exporter-zipkin-json_windows-latest: - name: opentelemetry-exporter-zipkin-json 3.13 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-opentelemetry-exporter-zipkin-json -- -ra - - py314-test-opentelemetry-exporter-zipkin-json_windows-latest: - name: opentelemetry-exporter-zipkin-json 3.14 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.14 - uses: actions/setup-python@v5 - with: - python-version: "3.14" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py314-test-opentelemetry-exporter-zipkin-json -- -ra - - py314t-test-opentelemetry-exporter-zipkin-json_windows-latest: - name: opentelemetry-exporter-zipkin-json 3.14t Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.14t - uses: actions/setup-python@v5 - with: - python-version: "3.14t" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py314t-test-opentelemetry-exporter-zipkin-json -- -ra - - pypy3-test-opentelemetry-exporter-zipkin-json_windows-latest: - name: opentelemetry-exporter-zipkin-json pypy-3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-opentelemetry-exporter-zipkin-json -- -ra - - py39-test-opentelemetry-propagator-b3_windows-latest: - name: opentelemetry-propagator-b3 3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-opentelemetry-propagator-b3 -- -ra - - py310-test-opentelemetry-propagator-b3_windows-latest: - name: opentelemetry-propagator-b3 3.10 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-opentelemetry-propagator-b3 -- -ra - - py311-test-opentelemetry-propagator-b3_windows-latest: - name: opentelemetry-propagator-b3 3.11 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-opentelemetry-propagator-b3 -- -ra - - py312-test-opentelemetry-propagator-b3_windows-latest: - name: opentelemetry-propagator-b3 3.12 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-opentelemetry-propagator-b3 -- -ra - - py313-test-opentelemetry-propagator-b3_windows-latest: - name: opentelemetry-propagator-b3 3.13 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-opentelemetry-propagator-b3 -- -ra - - py314-test-opentelemetry-propagator-b3_windows-latest: - name: opentelemetry-propagator-b3 3.14 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.14 - uses: actions/setup-python@v5 - with: - python-version: "3.14" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py314-test-opentelemetry-propagator-b3 -- -ra - - py314t-test-opentelemetry-propagator-b3_windows-latest: - name: opentelemetry-propagator-b3 3.14t Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.14t - uses: actions/setup-python@v5 - with: - python-version: "3.14t" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py314t-test-opentelemetry-propagator-b3 -- -ra - - pypy3-test-opentelemetry-propagator-b3_windows-latest: - name: opentelemetry-propagator-b3 pypy-3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-opentelemetry-propagator-b3 -- -ra - - py39-test-opentelemetry-propagator-jaeger_windows-latest: - name: opentelemetry-propagator-jaeger 3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-opentelemetry-propagator-jaeger -- -ra - - py310-test-opentelemetry-propagator-jaeger_windows-latest: - name: opentelemetry-propagator-jaeger 3.10 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-opentelemetry-propagator-jaeger -- -ra - - py311-test-opentelemetry-propagator-jaeger_windows-latest: - name: opentelemetry-propagator-jaeger 3.11 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-opentelemetry-propagator-jaeger -- -ra - - py312-test-opentelemetry-propagator-jaeger_windows-latest: - name: opentelemetry-propagator-jaeger 3.12 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-opentelemetry-propagator-jaeger -- -ra - - py313-test-opentelemetry-propagator-jaeger_windows-latest: - name: opentelemetry-propagator-jaeger 3.13 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-opentelemetry-propagator-jaeger -- -ra - - py314-test-opentelemetry-propagator-jaeger_windows-latest: - name: opentelemetry-propagator-jaeger 3.14 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.14 - uses: actions/setup-python@v5 - with: - python-version: "3.14" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py314-test-opentelemetry-propagator-jaeger -- -ra - - py314t-test-opentelemetry-propagator-jaeger_windows-latest: - name: opentelemetry-propagator-jaeger 3.14t Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.14t - uses: actions/setup-python@v5 - with: - python-version: "3.14t" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py314t-test-opentelemetry-propagator-jaeger -- -ra - - pypy3-test-opentelemetry-propagator-jaeger_windows-latest: - name: opentelemetry-propagator-jaeger pypy-3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-opentelemetry-propagator-jaeger -- -ra - - py39-test-opentelemetry-test-utils_windows-latest: - name: opentelemetry-test-utils 3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-opentelemetry-test-utils -- -ra - - py310-test-opentelemetry-test-utils_windows-latest: - name: opentelemetry-test-utils 3.10 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-opentelemetry-test-utils -- -ra - - py311-test-opentelemetry-test-utils_windows-latest: - name: opentelemetry-test-utils 3.11 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-opentelemetry-test-utils -- -ra - - py312-test-opentelemetry-test-utils_windows-latest: - name: opentelemetry-test-utils 3.12 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-opentelemetry-test-utils -- -ra - - py313-test-opentelemetry-test-utils_windows-latest: - name: opentelemetry-test-utils 3.13 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-opentelemetry-test-utils -- -ra - - py314-test-opentelemetry-test-utils_windows-latest: - name: opentelemetry-test-utils 3.14 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.14 - uses: actions/setup-python@v5 - with: - python-version: "3.14" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py314-test-opentelemetry-test-utils -- -ra - - py314t-test-opentelemetry-test-utils_windows-latest: - name: opentelemetry-test-utils 3.14t Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.14t - uses: actions/setup-python@v5 - with: - python-version: "3.14t" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py314t-test-opentelemetry-test-utils -- -ra - - pypy3-test-opentelemetry-test-utils_windows-latest: - name: opentelemetry-test-utils pypy-3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-opentelemetry-test-utils -- -ra From 14c0a762c695f5f1c9f78e935393e9b28d745226 Mon Sep 17 00:00:00 2001 From: emdneto <9735060+emdneto@users.noreply.github.com> Date: Tue, 17 Mar 2026 21:10:53 -0300 Subject: [PATCH 08/14] remove test_1.yml Signed-off-by: emdneto <9735060+emdneto@users.noreply.github.com> --- .github/workflows/test_1.yml | 2263 ---------------------------------- 1 file changed, 2263 deletions(-) delete mode 100644 .github/workflows/test_1.yml diff --git a/.github/workflows/test_1.yml b/.github/workflows/test_1.yml deleted file mode 100644 index 490fc16faf4..00000000000 --- a/.github/workflows/test_1.yml +++ /dev/null @@ -1,2263 +0,0 @@ -# Do not edit this file. -# This file is generated automatically by executing tox -e generate-workflows - -name: Test 1 - -on: - push: - branches: - - 'main' - pull_request: - -permissions: - contents: read - -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true - -env: - CORE_REPO_SHA: main - # Set the SHA to the branch name if the PR has a label 'prepare-release' or 'backport' otherwise, set it to 'main' - # For PRs you can change the inner fallback ('main') - # For pushes you change the outer fallback ('main') - # The logic below is used during releases and depends on having an equivalent branch name in the contrib repo. - CONTRIB_REPO_SHA: ${{ github.event_name == 'pull_request' && ( - contains(github.event.pull_request.labels.*.name, 'prepare-release') && github.event.pull_request.head.ref || - contains(github.event.pull_request.labels.*.name, 'backport') && github.event.pull_request.base.ref || - 'main' - ) || 'main' }} - PIP_EXISTS_ACTION: w - CONTRIB_REPO_UTIL_HTTP: ${{ github.workspace }}/opentelemetry-python-contrib/util/opentelemetry-util-http - CONTRIB_REPO_INSTRUMENTATION: ${{ github.workspace }}/opentelemetry-python-contrib/opentelemetry-instrumentation - CONTRIB_REPO_INSTRUMENTATION_REQUESTS: ${{ github.workspace }}/opentelemetry-python-contrib/instrumentation/opentelemetry-instrumentation-requests - CONTRIB_REPO_INSTRUMENTATION_WSGI: ${{ github.workspace }}/opentelemetry-python-contrib/instrumentation/opentelemetry-instrumentation-wsgi - CONTRIB_REPO_INSTRUMENTATION_FLASK: ${{ github.workspace }}/opentelemetry-python-contrib/instrumentation/opentelemetry-instrumentation-flask - -jobs: - - py313-test-opentelemetry-opentracing-shim_windows-latest: - name: opentelemetry-opentracing-shim 3.13 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-opentelemetry-opentracing-shim -- -ra - - py314-test-opentelemetry-opentracing-shim_windows-latest: - name: opentelemetry-opentracing-shim 3.14 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.14 - uses: actions/setup-python@v5 - with: - python-version: "3.14" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py314-test-opentelemetry-opentracing-shim -- -ra - - py314t-test-opentelemetry-opentracing-shim_windows-latest: - name: opentelemetry-opentracing-shim 3.14t Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.14t - uses: actions/setup-python@v5 - with: - python-version: "3.14t" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py314t-test-opentelemetry-opentracing-shim -- -ra - - pypy3-test-opentelemetry-opentracing-shim_windows-latest: - name: opentelemetry-opentracing-shim pypy-3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-opentelemetry-opentracing-shim -- -ra - - py39-test-opentelemetry-opencensus-shim_windows-latest: - name: opentelemetry-opencensus-shim 3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-opentelemetry-opencensus-shim -- -ra - - py310-test-opentelemetry-opencensus-shim_windows-latest: - name: opentelemetry-opencensus-shim 3.10 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-opentelemetry-opencensus-shim -- -ra - - py311-test-opentelemetry-opencensus-shim_windows-latest: - name: opentelemetry-opencensus-shim 3.11 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-opentelemetry-opencensus-shim -- -ra - - py312-test-opentelemetry-opencensus-shim_windows-latest: - name: opentelemetry-opencensus-shim 3.12 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-opentelemetry-opencensus-shim -- -ra - - py313-test-opentelemetry-opencensus-shim_windows-latest: - name: opentelemetry-opencensus-shim 3.13 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-opentelemetry-opencensus-shim -- -ra - - py314-test-opentelemetry-opencensus-shim_windows-latest: - name: opentelemetry-opencensus-shim 3.14 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.14 - uses: actions/setup-python@v5 - with: - python-version: "3.14" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py314-test-opentelemetry-opencensus-shim -- -ra - - py39-test-opentelemetry-exporter-opencensus_windows-latest: - name: opentelemetry-exporter-opencensus 3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-opentelemetry-exporter-opencensus -- -ra - - py310-test-opentelemetry-exporter-opencensus_windows-latest: - name: opentelemetry-exporter-opencensus 3.10 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-opentelemetry-exporter-opencensus -- -ra - - py311-test-opentelemetry-exporter-opencensus_windows-latest: - name: opentelemetry-exporter-opencensus 3.11 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-opentelemetry-exporter-opencensus -- -ra - - py312-test-opentelemetry-exporter-opencensus_windows-latest: - name: opentelemetry-exporter-opencensus 3.12 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-opentelemetry-exporter-opencensus -- -ra - - py313-test-opentelemetry-exporter-opencensus_windows-latest: - name: opentelemetry-exporter-opencensus 3.13 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-opentelemetry-exporter-opencensus -- -ra - - py314-test-opentelemetry-exporter-opencensus_windows-latest: - name: opentelemetry-exporter-opencensus 3.14 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.14 - uses: actions/setup-python@v5 - with: - python-version: "3.14" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py314-test-opentelemetry-exporter-opencensus -- -ra - - py39-test-opentelemetry-exporter-otlp-proto-common_windows-latest: - name: opentelemetry-exporter-otlp-proto-common 3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-opentelemetry-exporter-otlp-proto-common -- -ra - - py310-test-opentelemetry-exporter-otlp-proto-common_windows-latest: - name: opentelemetry-exporter-otlp-proto-common 3.10 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-opentelemetry-exporter-otlp-proto-common -- -ra - - py311-test-opentelemetry-exporter-otlp-proto-common_windows-latest: - name: opentelemetry-exporter-otlp-proto-common 3.11 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-opentelemetry-exporter-otlp-proto-common -- -ra - - py312-test-opentelemetry-exporter-otlp-proto-common_windows-latest: - name: opentelemetry-exporter-otlp-proto-common 3.12 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-opentelemetry-exporter-otlp-proto-common -- -ra - - py313-test-opentelemetry-exporter-otlp-proto-common_windows-latest: - name: opentelemetry-exporter-otlp-proto-common 3.13 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-opentelemetry-exporter-otlp-proto-common -- -ra - - py314-test-opentelemetry-exporter-otlp-proto-common_windows-latest: - name: opentelemetry-exporter-otlp-proto-common 3.14 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.14 - uses: actions/setup-python@v5 - with: - python-version: "3.14" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py314-test-opentelemetry-exporter-otlp-proto-common -- -ra - - py314t-test-opentelemetry-exporter-otlp-proto-common_windows-latest: - name: opentelemetry-exporter-otlp-proto-common 3.14t Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.14t - uses: actions/setup-python@v5 - with: - python-version: "3.14t" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py314t-test-opentelemetry-exporter-otlp-proto-common -- -ra - - pypy3-test-opentelemetry-exporter-otlp-proto-common_windows-latest: - name: opentelemetry-exporter-otlp-proto-common pypy-3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-opentelemetry-exporter-otlp-proto-common -- -ra - - py39-test-opentelemetry-exporter-otlp-combined_windows-latest: - name: opentelemetry-exporter-otlp-combined 3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-opentelemetry-exporter-otlp-combined -- -ra - - py310-test-opentelemetry-exporter-otlp-combined_windows-latest: - name: opentelemetry-exporter-otlp-combined 3.10 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-opentelemetry-exporter-otlp-combined -- -ra - - py311-test-opentelemetry-exporter-otlp-combined_windows-latest: - name: opentelemetry-exporter-otlp-combined 3.11 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-opentelemetry-exporter-otlp-combined -- -ra - - py312-test-opentelemetry-exporter-otlp-combined_windows-latest: - name: opentelemetry-exporter-otlp-combined 3.12 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-opentelemetry-exporter-otlp-combined -- -ra - - py313-test-opentelemetry-exporter-otlp-combined_windows-latest: - name: opentelemetry-exporter-otlp-combined 3.13 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-opentelemetry-exporter-otlp-combined -- -ra - - py314-test-opentelemetry-exporter-otlp-combined_windows-latest: - name: opentelemetry-exporter-otlp-combined 3.14 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.14 - uses: actions/setup-python@v5 - with: - python-version: "3.14" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py314-test-opentelemetry-exporter-otlp-combined -- -ra - - py39-test-opentelemetry-exporter-otlp-proto-grpc-oldest_windows-latest: - name: opentelemetry-exporter-otlp-proto-grpc-oldest 3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-opentelemetry-exporter-otlp-proto-grpc-oldest -- -ra - - py39-test-opentelemetry-exporter-otlp-proto-grpc-latest_windows-latest: - name: opentelemetry-exporter-otlp-proto-grpc-latest 3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-opentelemetry-exporter-otlp-proto-grpc-latest -- -ra - - py310-test-opentelemetry-exporter-otlp-proto-grpc-oldest_windows-latest: - name: opentelemetry-exporter-otlp-proto-grpc-oldest 3.10 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-opentelemetry-exporter-otlp-proto-grpc-oldest -- -ra - - py310-test-opentelemetry-exporter-otlp-proto-grpc-latest_windows-latest: - name: opentelemetry-exporter-otlp-proto-grpc-latest 3.10 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-opentelemetry-exporter-otlp-proto-grpc-latest -- -ra - - py311-test-opentelemetry-exporter-otlp-proto-grpc-oldest_windows-latest: - name: opentelemetry-exporter-otlp-proto-grpc-oldest 3.11 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-opentelemetry-exporter-otlp-proto-grpc-oldest -- -ra - - py311-test-opentelemetry-exporter-otlp-proto-grpc-latest_windows-latest: - name: opentelemetry-exporter-otlp-proto-grpc-latest 3.11 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-opentelemetry-exporter-otlp-proto-grpc-latest -- -ra - - py312-test-opentelemetry-exporter-otlp-proto-grpc-oldest_windows-latest: - name: opentelemetry-exporter-otlp-proto-grpc-oldest 3.12 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-opentelemetry-exporter-otlp-proto-grpc-oldest -- -ra - - py312-test-opentelemetry-exporter-otlp-proto-grpc-latest_windows-latest: - name: opentelemetry-exporter-otlp-proto-grpc-latest 3.12 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-opentelemetry-exporter-otlp-proto-grpc-latest -- -ra - - py313-test-opentelemetry-exporter-otlp-proto-grpc-oldest_windows-latest: - name: opentelemetry-exporter-otlp-proto-grpc-oldest 3.13 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-opentelemetry-exporter-otlp-proto-grpc-oldest -- -ra - - py313-test-opentelemetry-exporter-otlp-proto-grpc-latest_windows-latest: - name: opentelemetry-exporter-otlp-proto-grpc-latest 3.13 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-opentelemetry-exporter-otlp-proto-grpc-latest -- -ra - - py314-test-opentelemetry-exporter-otlp-proto-grpc-oldest_windows-latest: - name: opentelemetry-exporter-otlp-proto-grpc-oldest 3.14 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.14 - uses: actions/setup-python@v5 - with: - python-version: "3.14" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py314-test-opentelemetry-exporter-otlp-proto-grpc-oldest -- -ra - - py314-test-opentelemetry-exporter-otlp-proto-grpc-latest_windows-latest: - name: opentelemetry-exporter-otlp-proto-grpc-latest 3.14 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.14 - uses: actions/setup-python@v5 - with: - python-version: "3.14" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py314-test-opentelemetry-exporter-otlp-proto-grpc-latest -- -ra - - py39-test-opentelemetry-exporter-otlp-proto-http_windows-latest: - name: opentelemetry-exporter-otlp-proto-http 3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-opentelemetry-exporter-otlp-proto-http -- -ra - - py310-test-opentelemetry-exporter-otlp-proto-http_windows-latest: - name: opentelemetry-exporter-otlp-proto-http 3.10 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-opentelemetry-exporter-otlp-proto-http -- -ra - - py311-test-opentelemetry-exporter-otlp-proto-http_windows-latest: - name: opentelemetry-exporter-otlp-proto-http 3.11 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-opentelemetry-exporter-otlp-proto-http -- -ra - - py312-test-opentelemetry-exporter-otlp-proto-http_windows-latest: - name: opentelemetry-exporter-otlp-proto-http 3.12 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-opentelemetry-exporter-otlp-proto-http -- -ra - - py313-test-opentelemetry-exporter-otlp-proto-http_windows-latest: - name: opentelemetry-exporter-otlp-proto-http 3.13 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-opentelemetry-exporter-otlp-proto-http -- -ra - - py314-test-opentelemetry-exporter-otlp-proto-http_windows-latest: - name: opentelemetry-exporter-otlp-proto-http 3.14 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.14 - uses: actions/setup-python@v5 - with: - python-version: "3.14" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py314-test-opentelemetry-exporter-otlp-proto-http -- -ra - - py314t-test-opentelemetry-exporter-otlp-proto-http_windows-latest: - name: opentelemetry-exporter-otlp-proto-http 3.14t Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.14t - uses: actions/setup-python@v5 - with: - python-version: "3.14t" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py314t-test-opentelemetry-exporter-otlp-proto-http -- -ra - - pypy3-test-opentelemetry-exporter-otlp-proto-http_windows-latest: - name: opentelemetry-exporter-otlp-proto-http pypy-3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-opentelemetry-exporter-otlp-proto-http -- -ra - - py39-test-opentelemetry-exporter-prometheus_windows-latest: - name: opentelemetry-exporter-prometheus 3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-opentelemetry-exporter-prometheus -- -ra - - py310-test-opentelemetry-exporter-prometheus_windows-latest: - name: opentelemetry-exporter-prometheus 3.10 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-opentelemetry-exporter-prometheus -- -ra - - py311-test-opentelemetry-exporter-prometheus_windows-latest: - name: opentelemetry-exporter-prometheus 3.11 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-opentelemetry-exporter-prometheus -- -ra - - py312-test-opentelemetry-exporter-prometheus_windows-latest: - name: opentelemetry-exporter-prometheus 3.12 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-opentelemetry-exporter-prometheus -- -ra - - py313-test-opentelemetry-exporter-prometheus_windows-latest: - name: opentelemetry-exporter-prometheus 3.13 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-opentelemetry-exporter-prometheus -- -ra - - py314-test-opentelemetry-exporter-prometheus_windows-latest: - name: opentelemetry-exporter-prometheus 3.14 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.14 - uses: actions/setup-python@v5 - with: - python-version: "3.14" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py314-test-opentelemetry-exporter-prometheus -- -ra - - py314t-test-opentelemetry-exporter-prometheus_windows-latest: - name: opentelemetry-exporter-prometheus 3.14t Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.14t - uses: actions/setup-python@v5 - with: - python-version: "3.14t" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py314t-test-opentelemetry-exporter-prometheus -- -ra - - pypy3-test-opentelemetry-exporter-prometheus_windows-latest: - name: opentelemetry-exporter-prometheus pypy-3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-opentelemetry-exporter-prometheus -- -ra - - py39-test-opentelemetry-exporter-zipkin-combined_windows-latest: - name: opentelemetry-exporter-zipkin-combined 3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-opentelemetry-exporter-zipkin-combined -- -ra - - py310-test-opentelemetry-exporter-zipkin-combined_windows-latest: - name: opentelemetry-exporter-zipkin-combined 3.10 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-opentelemetry-exporter-zipkin-combined -- -ra - - py311-test-opentelemetry-exporter-zipkin-combined_windows-latest: - name: opentelemetry-exporter-zipkin-combined 3.11 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-opentelemetry-exporter-zipkin-combined -- -ra - - py312-test-opentelemetry-exporter-zipkin-combined_windows-latest: - name: opentelemetry-exporter-zipkin-combined 3.12 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-opentelemetry-exporter-zipkin-combined -- -ra - - py313-test-opentelemetry-exporter-zipkin-combined_windows-latest: - name: opentelemetry-exporter-zipkin-combined 3.13 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-opentelemetry-exporter-zipkin-combined -- -ra - - py314-test-opentelemetry-exporter-zipkin-combined_windows-latest: - name: opentelemetry-exporter-zipkin-combined 3.14 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.14 - uses: actions/setup-python@v5 - with: - python-version: "3.14" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py314-test-opentelemetry-exporter-zipkin-combined -- -ra - - py314t-test-opentelemetry-exporter-zipkin-combined_windows-latest: - name: opentelemetry-exporter-zipkin-combined 3.14t Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.14t - uses: actions/setup-python@v5 - with: - python-version: "3.14t" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py314t-test-opentelemetry-exporter-zipkin-combined -- -ra - - pypy3-test-opentelemetry-exporter-zipkin-combined_windows-latest: - name: opentelemetry-exporter-zipkin-combined pypy-3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-opentelemetry-exporter-zipkin-combined -- -ra - - py39-test-opentelemetry-exporter-zipkin-proto-http_windows-latest: - name: opentelemetry-exporter-zipkin-proto-http 3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-opentelemetry-exporter-zipkin-proto-http -- -ra - - py310-test-opentelemetry-exporter-zipkin-proto-http_windows-latest: - name: opentelemetry-exporter-zipkin-proto-http 3.10 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-opentelemetry-exporter-zipkin-proto-http -- -ra - - py311-test-opentelemetry-exporter-zipkin-proto-http_windows-latest: - name: opentelemetry-exporter-zipkin-proto-http 3.11 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-opentelemetry-exporter-zipkin-proto-http -- -ra - - py312-test-opentelemetry-exporter-zipkin-proto-http_windows-latest: - name: opentelemetry-exporter-zipkin-proto-http 3.12 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-opentelemetry-exporter-zipkin-proto-http -- -ra - - py313-test-opentelemetry-exporter-zipkin-proto-http_windows-latest: - name: opentelemetry-exporter-zipkin-proto-http 3.13 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-opentelemetry-exporter-zipkin-proto-http -- -ra - - py314-test-opentelemetry-exporter-zipkin-proto-http_windows-latest: - name: opentelemetry-exporter-zipkin-proto-http 3.14 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.14 - uses: actions/setup-python@v5 - with: - python-version: "3.14" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py314-test-opentelemetry-exporter-zipkin-proto-http -- -ra - - py314t-test-opentelemetry-exporter-zipkin-proto-http_windows-latest: - name: opentelemetry-exporter-zipkin-proto-http 3.14t Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.14t - uses: actions/setup-python@v5 - with: - python-version: "3.14t" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py314t-test-opentelemetry-exporter-zipkin-proto-http -- -ra - - pypy3-test-opentelemetry-exporter-zipkin-proto-http_windows-latest: - name: opentelemetry-exporter-zipkin-proto-http pypy-3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-opentelemetry-exporter-zipkin-proto-http -- -ra - - py39-test-opentelemetry-exporter-zipkin-json_windows-latest: - name: opentelemetry-exporter-zipkin-json 3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-opentelemetry-exporter-zipkin-json -- -ra - - py310-test-opentelemetry-exporter-zipkin-json_windows-latest: - name: opentelemetry-exporter-zipkin-json 3.10 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-opentelemetry-exporter-zipkin-json -- -ra - - py311-test-opentelemetry-exporter-zipkin-json_windows-latest: - name: opentelemetry-exporter-zipkin-json 3.11 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-opentelemetry-exporter-zipkin-json -- -ra - - py312-test-opentelemetry-exporter-zipkin-json_windows-latest: - name: opentelemetry-exporter-zipkin-json 3.12 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-opentelemetry-exporter-zipkin-json -- -ra - - py313-test-opentelemetry-exporter-zipkin-json_windows-latest: - name: opentelemetry-exporter-zipkin-json 3.13 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-opentelemetry-exporter-zipkin-json -- -ra - - py314-test-opentelemetry-exporter-zipkin-json_windows-latest: - name: opentelemetry-exporter-zipkin-json 3.14 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.14 - uses: actions/setup-python@v5 - with: - python-version: "3.14" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py314-test-opentelemetry-exporter-zipkin-json -- -ra - - py314t-test-opentelemetry-exporter-zipkin-json_windows-latest: - name: opentelemetry-exporter-zipkin-json 3.14t Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.14t - uses: actions/setup-python@v5 - with: - python-version: "3.14t" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py314t-test-opentelemetry-exporter-zipkin-json -- -ra - - pypy3-test-opentelemetry-exporter-zipkin-json_windows-latest: - name: opentelemetry-exporter-zipkin-json pypy-3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-opentelemetry-exporter-zipkin-json -- -ra - - py39-test-opentelemetry-propagator-b3_windows-latest: - name: opentelemetry-propagator-b3 3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-opentelemetry-propagator-b3 -- -ra - - py310-test-opentelemetry-propagator-b3_windows-latest: - name: opentelemetry-propagator-b3 3.10 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-opentelemetry-propagator-b3 -- -ra - - py311-test-opentelemetry-propagator-b3_windows-latest: - name: opentelemetry-propagator-b3 3.11 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-opentelemetry-propagator-b3 -- -ra - - py312-test-opentelemetry-propagator-b3_windows-latest: - name: opentelemetry-propagator-b3 3.12 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-opentelemetry-propagator-b3 -- -ra - - py313-test-opentelemetry-propagator-b3_windows-latest: - name: opentelemetry-propagator-b3 3.13 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-opentelemetry-propagator-b3 -- -ra - - py314-test-opentelemetry-propagator-b3_windows-latest: - name: opentelemetry-propagator-b3 3.14 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.14 - uses: actions/setup-python@v5 - with: - python-version: "3.14" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py314-test-opentelemetry-propagator-b3 -- -ra - - py314t-test-opentelemetry-propagator-b3_windows-latest: - name: opentelemetry-propagator-b3 3.14t Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.14t - uses: actions/setup-python@v5 - with: - python-version: "3.14t" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py314t-test-opentelemetry-propagator-b3 -- -ra - - pypy3-test-opentelemetry-propagator-b3_windows-latest: - name: opentelemetry-propagator-b3 pypy-3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-opentelemetry-propagator-b3 -- -ra - - py39-test-opentelemetry-propagator-jaeger_windows-latest: - name: opentelemetry-propagator-jaeger 3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-opentelemetry-propagator-jaeger -- -ra - - py310-test-opentelemetry-propagator-jaeger_windows-latest: - name: opentelemetry-propagator-jaeger 3.10 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-opentelemetry-propagator-jaeger -- -ra - - py311-test-opentelemetry-propagator-jaeger_windows-latest: - name: opentelemetry-propagator-jaeger 3.11 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-opentelemetry-propagator-jaeger -- -ra - - py312-test-opentelemetry-propagator-jaeger_windows-latest: - name: opentelemetry-propagator-jaeger 3.12 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-opentelemetry-propagator-jaeger -- -ra - - py313-test-opentelemetry-propagator-jaeger_windows-latest: - name: opentelemetry-propagator-jaeger 3.13 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-opentelemetry-propagator-jaeger -- -ra - - py314-test-opentelemetry-propagator-jaeger_windows-latest: - name: opentelemetry-propagator-jaeger 3.14 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.14 - uses: actions/setup-python@v5 - with: - python-version: "3.14" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py314-test-opentelemetry-propagator-jaeger -- -ra - - py314t-test-opentelemetry-propagator-jaeger_windows-latest: - name: opentelemetry-propagator-jaeger 3.14t Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.14t - uses: actions/setup-python@v5 - with: - python-version: "3.14t" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py314t-test-opentelemetry-propagator-jaeger -- -ra - - pypy3-test-opentelemetry-propagator-jaeger_windows-latest: - name: opentelemetry-propagator-jaeger pypy-3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-opentelemetry-propagator-jaeger -- -ra - - py39-test-opentelemetry-test-utils_windows-latest: - name: opentelemetry-test-utils 3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-opentelemetry-test-utils -- -ra - - py310-test-opentelemetry-test-utils_windows-latest: - name: opentelemetry-test-utils 3.10 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-opentelemetry-test-utils -- -ra - - py311-test-opentelemetry-test-utils_windows-latest: - name: opentelemetry-test-utils 3.11 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-opentelemetry-test-utils -- -ra - - py312-test-opentelemetry-test-utils_windows-latest: - name: opentelemetry-test-utils 3.12 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-opentelemetry-test-utils -- -ra - - py313-test-opentelemetry-test-utils_windows-latest: - name: opentelemetry-test-utils 3.13 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-opentelemetry-test-utils -- -ra - - py314-test-opentelemetry-test-utils_windows-latest: - name: opentelemetry-test-utils 3.14 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.14 - uses: actions/setup-python@v5 - with: - python-version: "3.14" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py314-test-opentelemetry-test-utils -- -ra - - py314t-test-opentelemetry-test-utils_windows-latest: - name: opentelemetry-test-utils 3.14t Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.14t - uses: actions/setup-python@v5 - with: - python-version: "3.14t" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py314t-test-opentelemetry-test-utils -- -ra - - pypy3-test-opentelemetry-test-utils_windows-latest: - name: opentelemetry-test-utils pypy-3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-opentelemetry-test-utils -- -ra From 878ac4e0e8eacc7e2799484c811f54346436c9bb Mon Sep 17 00:00:00 2001 From: emdneto <9735060+emdneto@users.noreply.github.com> Date: Tue, 17 Mar 2026 21:12:39 -0300 Subject: [PATCH 09/14] update test.yml Signed-off-by: emdneto <9735060+emdneto@users.noreply.github.com> --- .github/workflows/test.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 24396bc653b..4a323292067 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -5006,7 +5006,6 @@ jobs: - name: Run tests run: tox -e py312-test-opentelemetry-opentracing-shim -- -ra -<<<<<<< HEAD:.github/workflows/test.yml py313-test-opentelemetry-opentracing-shim_windows-latest: name: opentelemetry-opentracing-shim 3.13 Windows @@ -7233,5 +7232,3 @@ jobs: - name: Run tests run: tox -e pypy3-test-opentelemetry-test-utils -- -ra -======= ->>>>>>> c2b30a1b660a0cc589195a4295910dd4b1a4701e:.github/workflows/test_0.yml From b89ed662addb5d529948cfa83ae5e45a6163898c Mon Sep 17 00:00:00 2001 From: emdneto <9735060+emdneto@users.noreply.github.com> Date: Tue, 17 Mar 2026 21:18:35 -0300 Subject: [PATCH 10/14] test allowed-failures by job name Signed-off-by: emdneto <9735060+emdneto@users.noreply.github.com> --- .github/workflows/ci.yml | 6 +----- .github/workflows/templates/ci.yml.j2 | 6 +----- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3483edf7b11..ebe6cc0f3a9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,16 +17,12 @@ concurrency: cancel-in-progress: true jobs: - misc: uses: ./.github/workflows/misc.yml - lint: uses: ./.github/workflows/lint.yml - tests: uses: ./.github/workflows/test.yml - contrib: uses: open-telemetry/opentelemetry-python-contrib/.github/workflows/core_contrib_test_0.yml@main with: @@ -49,6 +45,6 @@ jobs: - name: Decide whether the needed jobs succeeded or failed uses: re-actors/alls-green@release/v1 with: - allowed-failures: "" + allowed-failures: "misc / public-symbols-check" allowed-skips: "" jobs: ${{ toJSON(needs) }} diff --git a/.github/workflows/templates/ci.yml.j2 b/.github/workflows/templates/ci.yml.j2 index 50e906e6da8..38148f6b253 100644 --- a/.github/workflows/templates/ci.yml.j2 +++ b/.github/workflows/templates/ci.yml.j2 @@ -17,16 +17,12 @@ concurrency: cancel-in-progress: true jobs: - misc: uses: ./.github/workflows/misc.yml - lint: uses: ./.github/workflows/lint.yml - tests: uses: ./.github/workflows/test.yml - contrib: uses: open-telemetry/opentelemetry-python-contrib/.github/workflows/core_contrib_test_0.yml@main with: @@ -49,6 +45,6 @@ jobs: - name: Decide whether the needed jobs succeeded or failed uses: re-actors/alls-green@release/v1 with: - allowed-failures: "" + allowed-failures: "misc / public-symbols-check" allowed-skips: "" jobs: ${% raw %}{{ toJSON(needs) }}{% endraw %} From 8ceae5f07c6bb4b53c0e79c5b2c83beb182ca56f Mon Sep 17 00:00:00 2001 From: emdneto <9735060+emdneto@users.noreply.github.com> Date: Tue, 17 Mar 2026 21:25:21 -0300 Subject: [PATCH 11/14] show alls-green check fails if one of the required jobs fail Signed-off-by: emdneto <9735060+emdneto@users.noreply.github.com> --- .github/workflows/ci.yml | 2 -- .github/workflows/templates/ci.yml.j2 | 2 -- 2 files changed, 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ebe6cc0f3a9..38e5c28e3d1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -45,6 +45,4 @@ jobs: - name: Decide whether the needed jobs succeeded or failed uses: re-actors/alls-green@release/v1 with: - allowed-failures: "misc / public-symbols-check" - allowed-skips: "" jobs: ${{ toJSON(needs) }} diff --git a/.github/workflows/templates/ci.yml.j2 b/.github/workflows/templates/ci.yml.j2 index 38148f6b253..b17bf29d255 100644 --- a/.github/workflows/templates/ci.yml.j2 +++ b/.github/workflows/templates/ci.yml.j2 @@ -45,6 +45,4 @@ jobs: - name: Decide whether the needed jobs succeeded or failed uses: re-actors/alls-green@release/v1 with: - allowed-failures: "misc / public-symbols-check" - allowed-skips: "" jobs: ${% raw %}{{ toJSON(needs) }}{% endraw %} From 2a4f6d4b46b20f2f1fa4cfaaaf94fe564f347745 Mon Sep 17 00:00:00 2001 From: emdneto <9735060+emdneto@users.noreply.github.com> Date: Tue, 17 Mar 2026 21:36:55 -0300 Subject: [PATCH 12/14] remove uneeded files Signed-off-by: emdneto <9735060+emdneto@users.noreply.github.com> --- .../workflows/templates/generate_workflows.py | 232 ------------------ 1 file changed, 232 deletions(-) delete mode 100644 .github/workflows/templates/generate_workflows.py diff --git a/.github/workflows/templates/generate_workflows.py b/.github/workflows/templates/generate_workflows.py deleted file mode 100644 index 5441ae27dba..00000000000 --- a/.github/workflows/templates/generate_workflows.py +++ /dev/null @@ -1,232 +0,0 @@ -from collections import defaultdict -from pathlib import Path -from re import compile as re_compile - -from jinja2 import Environment, FileSystemLoader -from tox.config.cli.parse import get_options -from tox.config.sets import CoreConfigSet -from tox.config.source.tox_ini import ToxIni -from tox.session.state import State - -_tox_test_env_regex = re_compile( - r"(?Ppy\w+)-test-" - r"(?P[-\w]+\w)-?(?P\d+)?" -) -_tox_lint_env_regex = re_compile(r"lint-(?P[-\w]+)") -_tox_contrib_env_regex = re_compile( - r"py39-test-(?P[-\w]+\w)-?(?P\d+)?" -) - - -def get_tox_envs(tox_ini_path: Path) -> list: - tox_ini = ToxIni(tox_ini_path) - - conf = State(get_options(), []).conf - - tox_section = next(tox_ini.sections()) - - core_config_set = CoreConfigSet( - conf, tox_section, tox_ini_path.parent, tox_ini_path - ) - - ( - core_config_set.loaders.extend( - tox_ini.get_loaders( - tox_section, - base=[], - override_map=defaultdict(list, {}), - conf=core_config_set, - ) - ) - ) - - return core_config_set.load("env_list") - - -def get_test_job_datas(tox_envs: list, operating_systems: list) -> list: - os_alias = {"ubuntu-latest": "Ubuntu", "windows-latest": "Windows"} - - python_version_alias = { - "pypy3": "pypy-3.9", - "py39": "3.9", - "py310": "3.10", - "py311": "3.11", - "py312": "3.12", - "py313": "3.13", - "py314": "3.14", - "py314t": "3.14t", - } - - test_job_datas = [] - - for operating_system in operating_systems: - for tox_env in tox_envs: - tox_test_env_match = _tox_test_env_regex.match(tox_env) - - if tox_test_env_match is None: - continue - - groups = tox_test_env_match.groupdict() - - aliased_python_version = python_version_alias[ - groups["python_version"] - ] - tox_env = tox_test_env_match.string - - test_requirements = groups["test_requirements"] - - if test_requirements is None: - test_requirements = " " - - else: - test_requirements = f"-{test_requirements} " - - test_job_datas.append( - { - "name": f"{tox_env}_{operating_system}", - "ui_name": ( - f"{groups['name']}" - f"{test_requirements}" - f"{aliased_python_version} " - f"{os_alias[operating_system]}" - ), - "python_version": aliased_python_version, - "tox_env": tox_env, - "os": operating_system, - } - ) - - return test_job_datas - - -def get_lint_job_datas(tox_envs: list) -> list: - lint_job_datas = [] - - for tox_env in tox_envs: - tox_lint_env_match = _tox_lint_env_regex.match(tox_env) - - if tox_lint_env_match is None: - continue - - tox_env = tox_lint_env_match.string - - lint_job_datas.append( - { - "name": f"{tox_env}", - "ui_name": f"{tox_lint_env_match.groupdict()['name']}", - "tox_env": tox_env, - } - ) - - return lint_job_datas - - -def get_misc_job_datas(tox_envs: list) -> list: - regex_patterns = [ - _tox_test_env_regex, - _tox_lint_env_regex, - _tox_contrib_env_regex, - re_compile(r"benchmark.+"), - ] - - return [ - tox_env - for tox_env in tox_envs - if not any(pattern.match(tox_env) for pattern in regex_patterns) - ] - - -def _generate_workflow( - job_datas: list, - template_name: str, - output_dir: Path, - max_jobs: int = 250, -) -> int: - """Generate reusable workflow files, returns list of file numbers.""" - # GitHub limits workflows to 256 jobs per file. We use a lower default - # (250) - chunks = [ - job_datas[index : index + max_jobs] - for index in range(0, len(job_datas), max_jobs) - ] - env = Environment( - loader=FileSystemLoader(Path(__file__).parent.joinpath("templates")) - ) - for file_number, chunk_job_datas in enumerate(chunks): - with open( - output_dir.joinpath(f"{template_name}_{file_number}.yml"), "w" - ) as yml_file: - yml_file.write( - env.get_template(f"{template_name}.yml.j2").render( - job_datas=chunk_job_datas, file_number=file_number - ) - ) - yml_file.write("\n") - return len(chunks) - - -def generate_test_workflow( - tox_ini_path: Path, workflow_directory_path: Path, operating_systems -) -> int: - return _generate_workflow( - get_test_job_datas(get_tox_envs(tox_ini_path), operating_systems), - "test", - workflow_directory_path, - ) - - -def generate_lint_workflow( - tox_ini_path: Path, - workflow_directory_path: Path, -) -> int: - return _generate_workflow( - get_lint_job_datas(get_tox_envs(tox_ini_path)), - "lint", - workflow_directory_path, - ) - - -def generate_misc_workflow( - tox_ini_path: Path, - workflow_directory_path: Path, -) -> int: - return _generate_workflow( - get_misc_job_datas(get_tox_envs(tox_ini_path)), - "misc", - workflow_directory_path, - ) - - -def generate_ci_workflow( - test_count: int, - lint_count: int, - misc_count: int, - output_dir: Path, -) -> None: - """Generate the parent CI orchestrator workflow.""" - with open(output_dir.joinpath("ci.yml"), "w") as ci_yml_file: - ci_yml_file.write( - Environment( - loader=FileSystemLoader( - Path(__file__).parent.joinpath("templates") - ) - ) - .get_template("ci.yml.j2") - .render( - test_count=test_count, - lint_count=lint_count, - misc_count=misc_count, - ) - ) - ci_yml_file.write("\n") - - -if __name__ == "__main__": - tox_ini_path = Path(__file__).parent.parent.parent.joinpath("tox.ini") - output_dir = Path(__file__).parent - test_count = generate_test_workflow( - tox_ini_path, output_dir, ["ubuntu-latest", "windows-latest"] - ) - lint_count = generate_lint_workflow(tox_ini_path, output_dir) - misc_count = generate_misc_workflow(tox_ini_path, output_dir) - # generate_ci_workflow(test_count, lint_count, misc_count, output_dir) From c770199644d8545e93b219c6cb9ed5444c89faf5 Mon Sep 17 00:00:00 2001 From: emdneto <9735060+emdneto@users.noreply.github.com> Date: Tue, 17 Mar 2026 21:51:20 -0300 Subject: [PATCH 13/14] cleanup Signed-off-by: emdneto <9735060+emdneto@users.noreply.github.com> --- .github/workflows/generate_workflows.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/generate_workflows.py b/.github/workflows/generate_workflows.py index e9082c8f279..21c532cbc00 100644 --- a/.github/workflows/generate_workflows.py +++ b/.github/workflows/generate_workflows.py @@ -141,7 +141,6 @@ def _generate_workflow( template_name: str, output_dir: Path, ) -> None: - """Generate a reusable workflow file.""" env = Environment( loader=FileSystemLoader(Path(__file__).parent.joinpath("templates")) ) @@ -189,7 +188,6 @@ def generate_misc_workflow( def generate_ci_workflow( output_dir: Path, ) -> None: - """Generate the parent CI orchestrator workflow.""" with open(output_dir.joinpath("ci.yml"), "w") as ci_yml_file: ci_yml_file.write( Environment( From 3466dea2343ea96876e1bb7369d4e4b2a214ae5a Mon Sep 17 00:00:00 2001 From: emdneto <9735060+emdneto@users.noreply.github.com> Date: Tue, 17 Mar 2026 21:52:26 -0300 Subject: [PATCH 14/14] update README.md Signed-off-by: emdneto <9735060+emdneto@users.noreply.github.com> --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 26c01a23212..e16ca528f6c 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,6 @@ # OpenTelemetry Python [![Slack](https://img.shields.io/badge/slack-@cncf/otel/python-brightgreen.svg?logo=slack)](https://cloud-native.slack.com/archives/C01PD4HUVBL) -[![Build Status 0](https://github.com/open-telemetry/opentelemetry-python/actions/workflows/test_0.yml/badge.svg?branch=main)](https://github.com/open-telemetry/opentelemetry-python/actions/workflows/test_0.yml) -[![Build Status 1](https://github.com/open-telemetry/opentelemetry-python/actions/workflows/test_1.yml/badge.svg?branch=main)](https://github.com/open-telemetry/opentelemetry-python/actions/workflows/test_1.yml) +[![Build Status](https://github.com/open-telemetry/opentelemetry-python/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/open-telemetry/opentelemetry-python/actions/workflows/ci.yml) [![Minimum Python Version](https://img.shields.io/badge/python-3.9+-blue.svg)](https://www.python.org/downloads/) [![Release](https://img.shields.io/github/v/release/open-telemetry/opentelemetry-python?include_prereleases&style=)](https://github.com/open-telemetry/opentelemetry-python/releases/) [![Read the Docs](https://readthedocs.org/projects/opentelemetry-python/badge/?version=latest)](https://opentelemetry-python.readthedocs.io/en/latest/)