apple / swift-crypto

Open-source implementation of a substantial portion of the API of Apple CryptoKit suitable for use on Linux platforms.
https://apple.github.io/swift-crypto
Apache License 2.0
1.43k stars 151 forks source link

Add cxx interop build pipeline #212

Closed gjcairo closed 6 months ago

gjcairo commented 6 months ago

This PR adds a new target to docker-compose that builds this project with C++ interoperability enabled, with the goal of adding a new CI pipeline that performs this check.

Motivation:

To make sure that C++ interoperability can be used on projects that depend on swift-crypto.

Modifications:

Result:

We will ensure this projects builds properly with C++ interoperability enabled.

gjcairo commented 6 months ago

@yim-lee would you mind setting up a new pull request validation (cxx interop) pipeline that runs the new target?

yim-lee commented 6 months ago

@swift-server-bot add to allowlist

yim-lee commented 6 months ago

@gjcairo I added new pipeline pull request validation (cxx interop) pipeline as requested. It uses Swift 5.9, similar to "api breakage" and "cmake" pipelines. We can set up separate "cxx interop" pipelines for Swift 5.9 and 5.10 if you want. Just let me know.

yim-lee commented 6 months ago

@swift-server-bot test this please

gjcairo commented 6 months ago

Thanks @yim-lee ! I had to make some changes to the step so hopefully it all still works :D I think it would make sense to have a pipeline for 5.10 in this case, as I suppose things related to the interoperability may change between Swift versions and we want to make sure we are still green with newer versions. Would you mind setting up a second pipeline? I have updated the corresponding docker-compose file for 5.10 too.

yim-lee commented 6 months ago

CI updated. "5.9 cxx interop" and "5.10 cxx interop" replaced "cxx interop".

@swift-server-bot test this please