ros2 / ci

ROS 2 CI Infrastructure
http://ci.ros2.org/
Apache License 2.0
48 stars 30 forks source link

Update to the commit for OpenSSL 3.3.0 on Windows. #778

Closed clalancette closed 2 months ago

clalancette commented 2 months ago

See the description in https://github.com/ros-infrastructure/ros2-cookbooks/pull/68 for more information on why we are doing this.

clalancette commented 2 months ago

CI:

clalancette commented 2 months ago

OK, all the fixes we need are on rolling, and most of them are on Jazzy. I've also gone back to https://github.com/ros-infrastructure/ros2-cookbooks/pull/68 and cleaned things up so it should work for Humble, Iron, Jazzy, and Rolling (assuming I got my Ruby syntax correct, which is a big if). Here is a build on Rolling and Humble to see what happens:

clalancette commented 2 months ago

And here is Windows on Iron and Jazzy, now that all of the fixes have been merged:

mikaelarguedas commented 2 months ago

Looking at the output of the test_security tests it's not clear that this is working as expected:

01:02:49 10: [test_publisher-1] [INFO] [1715130064.586728500] [rcl]: Found security directory: C:\ci\ws\build\test_security\test\test_security_files\enclaves\publisher
01:02:49 10: [test_subscriber-2] [INFO] [1715130064.600728600] [rcl]: Found security directory: C:\ci\ws\build\test_security\test\test_security_files\enclaves\subscriber
01:02:49 10: [test_subscriber-2] 1715130064.623206 [154] dq.builtin: Remote secure participant fd6b3c94:3780726e:413644eb:1c1 not allowed
01:02:49 10: [INFO] [test_subscriber-2]: process has finished cleanly [pid 11172]
01:02:49 10: [WARNING] [test_publisher-1]: 'SIGINT' sent to process[test_publisher-1] not supported on Windows, escalating to 'SIGTERM'
01:02:49 10: [INFO] [test_publisher-1]: sending signal 'SIGTERM' to process[test_publisher-1]
01:02:49 10: [ERROR] [test_publisher-1]: process has died [pid 1492, exit code 1, cmd 'C:/ci/ws/build/test_security/Release/test_secure_publisher_cpp.exe Empty /'].

I don't have a local setup to try it out but it might be worth checking on that exact setup if it's possible to establish secure communication between a talker and a listener

clalancette commented 2 months ago

Looking at the output of the test_security tests it's not clear that this is working as expected:

While that is true, I will also say that is not different than the output in the nightlies, which show exactly the same thing.

Also, trying out SROS2_Windows locally with OpenSSL 3.3.0 installed via chocolatey, everything seems to work for me.

All of that leads me to believe that there may be a problem with the tests, but it is not new and is not caused by this change.

mikaelarguedas commented 2 months ago

Also, trying out SROS2_Windows locally with OpenSSL 3.3.0 installed via chocolatey, everything seems to work for me.

:+1: great thanks for testing locally!

All of that leads me to believe that there may be a problem with the tests, but it is not new and is not caused by this change.

:confused: less great

clalancette commented 2 months ago

All right, here is an omnibus weekend run of all combinations of Rolling, Jazzy, Iron, and Humble on both Windows and Windows debug:

clalancette commented 2 months ago

OK, due to problems between OpenSSL 3.3.0 and pycryptography 2.9.2 (which we still use on Windows Debug), we have to stick with OpenSSL 1.1.1. We can still get that from chocolatey, however, so we go ahead with that. Here is another omnibus set of Windows CI:

clalancette commented 2 months ago

All right, all CI is happy (or at least as happy as it gets on Windows right now). I'm going to go ahead and merge https://github.com/ros-infrastructure/ros2-cookbooks/pull/68 , and then update the hash here to point to the latest there.

clalancette commented 2 months ago

All right, hash updated. Here is one CI up to ament_cmake just to make sure that the hash is correct: