s2n-tls
s2n-tls copied to clipboard
ci: Test all rust bindings crates in CI
Resolved issues:
None
Description of changes:
Currently, only the s2n-tls-sys crate is tested in CI on PR updates. This PR runs tests and cargo publish
dry runs on the other crates as well.
Call-outs:
- Running
cargo publish
with--all--features
enabled builds thetesting
feature. Enabling the testing feature requires buildingtesting.rs
, which uses pems in tests/pems, outside of the crate. Duringcargo publish
,include_bytes
cannot reference files outside of the crate. To fix this, generate.sh was modified to add the required pems to the s2n-tls crate. - This causes the generate github action for macOS to fail when testing the s2n-tls-tokio crate due to https://github.com/aws/s2n-tls/issues/3417. This will be fixed in a future PR.
Testing:
All testing.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
In addition to the tests failing on macos, the handshake_error test was hanging on my machine so there seems to be an environment dependent test case that we are not testing.
I am running nixos. While we need to support all platforms, it is curious since the C tests all pass on my machine. This makes me believe that the tokio crate doesnt operate in the same way.
On ubuntu18, cmake 3.10 is failing to build s2n-tls-sys because of https://github.com/rust-lang/cmake-rs/issues/131 - so consider this an up vote. (although if run on GHA with ubuntu-latest, it might pass)
Resolved by https://github.com/aws/s2n-tls/pull/3552