Convert python testing workflow to reusable workflow #2806
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Context
This PR is the first step in a larger initiative to standardize CI workflows across all
Datadog API client repositories. By converting our Python testing workflow to a reusable
workflow, we can:
the same testing workflow
This PR serves as a proof-of-concept to validate that the reusable workflow approach
works correctly before rolling it out to other client repositories and the
specification repo.
This implementation follows the same pattern as the Go client changes in DataDog/datadog-api-client-go#3317.
Changes
New Files
.github/workflows/reusable-python-test.yml
: A reusable workflow that contains the same logic as the original test workflowModified Files
.github/workflows/test.yml
: Simplified to call the reusable workflowKey Design Decisions
Tests
This PR maintains identical CI behavior for this repository - same triggers, job
matrix, conditional logic, and status reporting. After merging, we'll verify that the workflow is properly triggered on other PRs, then we'll test calling this
reusable workflow from the datadog-api-spec repository to verify cross-repository
execution and MergeQueue compatibility before rolling out to other client repositories.