Skip to content

THRIFT-5564: Add Python to GitHub Actions cross-test matrix#3298

Merged
fishy merged 1 commit intoapache:masterfrom
greggdonovan:python_cross_test
Feb 4, 2026
Merged

THRIFT-5564: Add Python to GitHub Actions cross-test matrix#3298
fishy merged 1 commit intoapache:masterfrom
greggdonovan:python_cross_test

Conversation

@greggdonovan
Copy link
Contributor

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:

  • THRIFT-5564: Migrate to GitHub Actions and replace Travis and Appveyor
  • THRIFT-5537: Drop support for end-of-life python versions (including python 2)

Changes

  1. Add Python to cross-test matrix

    • 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
  2. Add 582 known failures based on actual CI results:

    • cpp-py: 54 SSL failures
    • go-py: 18 SSL failures
    • java-py: 72 SSL failures
    • py-cpp: 162 failures (protocol incompatibilities)
    • py-go: 48 failures (protocol incompatibilities)
    • py-java: 171 failures (protocol incompatibilities)
    • py-kotlin: 5 SSL failures
    • py-py: 72 SSL failures
    • py-rs: 40 failures (protocol incompatibilities)
  3. Remove 279 stale py3 entries - The py3 test suite was removed and these entries were never validated in GitHub Actions CI.

Test plan

  • CI cross-tests pass with known failures skipped
  • All Python cross-test combinations verified

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
@mergeable mergeable bot added the github_actions Pull requests that update GitHub Actions code label Feb 1, 2026
@greggdonovan
Copy link
Contributor Author

@fishy I'm working on a larger cleanup of Python EOL versions but I thought it might be nice to get the Python cross-test working so we can track progress as we fix some of the issues.

@fishy fishy merged commit c99d09a into apache:master Feb 4, 2026
74 checks passed
@fishy
Copy link
Member

fishy commented Feb 4, 2026

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

github_actions Pull requests that update GitHub Actions code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants