kinoroy opened a new pull request, #2670: URL: https://github.com/apache/thrift/pull/2670
<!-- Explain the changes in the pull request below: --> - Adds a full Swift cross test suite, implementing nearly all of the tests (except for one-way functions which the Swift generator doesn't currently support [THRIFT-5468](https://issues.apache.org/jira/browse/THRIFT-5468)). - Adds Swift to the list of cross test languages running on Github Actions. - Adds UUID support to the Swift generator and client lib ([THRIFT-5629](https://issues.apache.org/jira/browse/THRIFT-5629)). I thought about separating this into a separate pull request but these changes are needed for the cross tests to pass against the kotlin/java libraries which currently run on CI. - Fixes [THRIFT-5630](https://issues.apache.org/jira/browse/THRIFT-5630) where the TSocketServer does not work on Linux. Again this is included here because without it the cross tests won't pass on CI - Fixes a few small issues in the Swift library cross compatibility that weren't detected before tests - Makes a small change to insanity test in the kotlin/java cross test servers because they don't provide the value of `userMap` or `xtructs` fields in the Insanity object. These fields are required in the Swift generated code (because the field is not marked as optional in the TestThrift.thrift specification and the Swift generator doesn't support default values yet) Possible breaking change: - In the `TType` enum, the integer value of 17 was already taken by `TType.utf16` but this was incompatible with java/kotlin which use the value 17 for the `uuid` type. I'm not sure if this type is in use or considered part of the public API because it's not listed in the spec: https://thrift.apache.org/docs/idl.html I understand this is a fairly large PR, I'm open to suggestions on splitting it up if necessary, either merging in the tests first (which wouldn't pass), or merging in fixes individually first (but then there won't be any tests run against those PRs) Thanks to @janosvitok for the WIP of the cross test suite, of which the PR is based off of. <!-- We recommend you review the checklist/tips before submitting a pull request. --> - [x] Did you create an [Apache Jira](https://issues.apache.org/jira/projects/THRIFT/issues/) ticket? (not required for trivial changes) - [x] If a ticket exists: Does your pull request title follow the pattern "THRIFT-NNNN: describe my issue"? - [x] Did you squash your changes to a single commit? (not required, but preferred) - [x] Did you do your best to avoid breaking changes? If one was needed, did you label the Jira ticket with "Breaking-Change"? - [x] If your change does not involve any code, include `[skip ci]` anywhere in the commit message to free up build resources. <!-- The Contributing Guide at: https://github.com/apache/thrift/blob/master/CONTRIBUTING.md has more details and tips for committing properly. --> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@thrift.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org