Finally I think I manage to fix the ci timeout issue. the root cause is Popen.wait() can cause deadlock (that is why no matter how long we tried to increase the timeout) if the subprocess output lots of text via stdout https://docs.python.org/3/library/subprocess.html#subprocess.Popen.wait . Per pydoc note, we should use the communicate() method instead.
PS: I also update the code to use the latest arduino-cli instead of a fixed version 0.18.3. Let me know if there is special need to keep this in this particular version.
Finally I think I manage to fix the ci timeout issue. the root cause is
Popen.wait()
can cause deadlock (that is why no matter how long we tried to increase the timeout) if the subprocess output lots of text via stdout https://docs.python.org/3/library/subprocess.html#subprocess.Popen.wait . Per pydoc note, we should use the communicate() method instead.This fix issues:
PS: I also update the code to use the latest arduino-cli instead of a fixed version 0.18.3. Let me know if there is special need to keep this in this particular version.
@brentru