Skip to content

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.

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.

1 participant