s2n-tls icon indicating copy to clipboard operation
s2n-tls copied to clipboard

ci: Test all rust bindings crates in CI

Open goatgoose opened this issue 2 years ago • 1 comments

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 the testing feature. Enabling the testing feature requires building testing.rs, which uses pems in tests/pems, outside of the crate. During cargo 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.

goatgoose avatar Jul 27 '22 16:07 goatgoose

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.

toidiu avatar Jul 27 '22 22:07 toidiu

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)

dougch avatar Oct 04 '22 00:10 dougch

Resolved by https://github.com/aws/s2n-tls/pull/3552

goatgoose avatar Oct 19 '22 15:10 goatgoose