Skip to content

Conversation

MintsInc
Copy link
Member

@MintsInc MintsInc commented Sep 2, 2025

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:

  • Enable centralized CI management: The datadog-api-spec repo will be able to use
    the same testing workflow
  • Prepare for MergeQueue: Centralizing the CI in the datadog-api-spec repo is necessary to enable the MergeQueue

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 workflow

Modified Files

  • .github/workflows/test.yml: Simplified to call the reusable workflow

Key Design Decisions

  • Behavior preservation: Every aspect of the original workflow is maintained through input parameters
  • Configurability: The reusable workflow accepts inputs for all major parameters (Python versions, platforms, matrix exclusions)
  • Environment variables: Git author information is inherited from the caller workflow

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.

This PR is part of 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:

- **Enable centralized CI management**: The datadog-api-spec repo will be able to use
the same testing workflow
- **Prepare for MergeQueue**: Centralizing the CI in the datadog-api-spec repo is necessary to enable the MergeQueue

## Changes

### New Files
- **`.github/workflows/reusable-python-test.yml`**: A reusable workflow that contains the same logic as the original test workflow

### Modified Files
- **`.github/workflows/test.yml`**: Simplified to call the reusable workflow

### Key Design Decisions
- **Behavior preservation**: Every aspect of the original workflow is maintained through input parameters
- **Configurability**: The reusable workflow accepts inputs for all major parameters (Python versions, platforms, matrix exclusions)
- **Environment variables**: Git author information is inherited from the caller workflow
@MintsInc MintsInc requested review from a team as code owners September 2, 2025 08:53
Copy link
Member Author

MintsInc commented Sep 2, 2025

This stack of pull requests is managed by Graphite. Learn more about stacking.

@MintsInc MintsInc marked this pull request as draft September 2, 2025 08:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant