OpenCyphal / yakut

Simple CLI tool for diagnostics and debugging of Cyphal networks
https://opencyphal.org
MIT License
49 stars 10 forks source link

Migrate CI/CD from AppVeyor to GitHub Actions #85

Closed clyde-johnston closed 10 months ago

clyde-johnston commented 1 year ago

GitHub Actions workflow created to replace AppVeyor.

Note: assert() was removed from the _unittest_slow_cli_pub_sub_anon test to make it work on Ubuntu runners.

clyde-johnston commented 1 year ago

See OpenCyphal/pycyphal#303 for details.

pavel-kirienko commented 1 year ago

Yep, my speculative fix worked (not sure why it even worked on AppVeyor before the fix). Now the remaining issues are five timeout errors: https://github.com/OpenCyphal/yakut/actions/runs/5912398047/job/16035771126?pr=85#step:6:6988

One common cause for timeout errors on Windows that I often run into while testing is that the stderr buffer is very small, and if a child process generates log messages or runtime warnings in large amounts, it fills up the buffer and then at one point blocks forever on a write to stderr, which then triggers the test suite to report a timeout error. Looking into that now.

clyde-johnston commented 1 year ago

The exit code from nox is now honoured by the GH actions workflow. By default, Windows jobs run under PowerShell which requires exit codes to called explicitly. I have changed this to run under Windows Bash.

The latest run shows the Windows job failed with a timeout error (see here).

pavel-kirienko commented 1 year ago

Excellent, thanks Clyde. I should take it over now to fix the Windows issues.