THRIFT-5564: ci: Add Python to cross-test matrix#3
Open
greggdonovan wants to merge 1 commit intomasterfrom
Open
THRIFT-5564: ci: Add Python to cross-test matrix#3greggdonovan wants to merge 1 commit intomasterfrom
greggdonovan wants to merge 1 commit intomasterfrom
Conversation
Greptile OverviewGreptile SummaryThis PR integrates Python ( Key changes:
The implementation follows the same pattern used by other languages (go, rs, cpp, java, kotlin) in the workflow. Confidence Score: 4/5
|
| Filename | Overview |
|---|---|
| .github/workflows/build.yml | Added Python to cross-test matrix with precross artifact uploads, downloads, and dependency installation |
Sequence Diagram
sequenceDiagram
participant LPJ as lib-python Job (3.12)
participant Artifacts as GitHub Artifacts
participant CTJ as cross-test Job
participant TestRunner as test.py
Note over LPJ: Build & Test Python Library
LPJ->>LPJ: make -C lib/py
LPJ->>LPJ: make -C lib/py install
LPJ->>LPJ: make -C lib/py check
LPJ->>LPJ: make -C test/py check
Note over LPJ: Generate Cross-Test Artifacts
LPJ->>LPJ: make -C test/py precross
LPJ->>Artifacts: Upload py-precross artifact
Note right of Artifacts: lib/py/build/lib.*<br/>test/py/gen-py<br/>test/py/*.py scripts
Note over CTJ: Prepare Cross-Test Environment
CTJ->>CTJ: Setup Python 3.12
CTJ->>CTJ: pip install dependencies
CTJ->>CTJ: Setup Java 8
Artifacts->>CTJ: Download java-precross
Artifacts->>CTJ: Download kotlin-precross
Artifacts->>CTJ: Download rs-precross
Artifacts->>CTJ: Download go-precross
Artifacts->>CTJ: Download cpp-precross
Artifacts->>CTJ: Download py-precross
CTJ->>CTJ: chmod a+x scripts & binaries
Note over CTJ,TestRunner: Run Cross-Language Tests
CTJ->>TestRunner: python test/test.py<br/>--server {lang}<br/>--client py
TestRunner->>TestRunner: Execute py client tests
CTJ->>TestRunner: python test/test.py<br/>--server py<br/>--client {lang}
TestRunner->>TestRunner: Execute py server tests
c0187b7 to
b59b00f
Compare
Add Python (py) to the cross-language test matrix. Python was never included in the GitHub Actions cross-test despite being part of the original migration plan. Changes: - Add precross step to lib-python job (for Python 3.12) - Upload Python precross artifacts (lib, gen-py, test scripts) - Download Python artifacts in cross-test job - Add 'py' to server_lang and client_lang matrix - Install Python test dependencies in cross-test job - Add 582 known failures based on actual CI results - Remove 279 stale py3 entries (never validated in GitHub Actions) Known failure categories added: - cpp-py: 54 SSL failures - go-py: 18 SSL failures - java-py: 72 SSL failures - py-cpp: 162 protocol incompatibilities - py-go: 48 protocol incompatibilities - py-java: 171 protocol incompatibilities - py-kotlin: 5 SSL failures - py-py: 72 SSL failures - py-rs: 40 protocol incompatibilities
b59b00f to
b840ebe
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Add Python (py) to the cross-language test matrix. Python was never included in the GitHub Actions cross-test despite being part of the original migration plan (THRIFT-5564). Dropped the separate py3 branch, as we only support python 3 now. Hopefully we can remove some of these known failures in future PRs.
Related issues:
Changes
Add Python to cross-test matrix
Add 582 known failures based on actual CI results:
Remove 279 stale py3 entries - The py3 test suite was removed and these entries were never validated in GitHub Actions CI.
Test plan