Tribler/py-ipv8

Add caching for validate action dependencies

qstokkink opened this issue · 1 comments

During the validation action we have two types of dependencies that are currently not being cached:

  • pip dependencies.
  • libsodium.dll only only on Windows (windows-latest).

Not caching these dependencies will not actively hurt our tests but slow them down and cause GitHub unnecessary traffic and diskio (rude).

Small update to the above: having to fetch libsodium.dll can actually hurt our tests.

Run python run_all_tests.py -a
Traceback (most recent call last):
Failed to locate libsodium (libnacl requirement), downloading latest dll!
  File "D:\a\py-ipv8\py-ipv8\run_all_tests.py", line 318, in <module>
    install_libsodium()
  File "D:\a\py-ipv8\py-ipv8\run_all_tests.py", line 266, in install_libsodium
    connection.request("GET", "/libsodium/releases/", headers={})
  File "C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\http\client.py", line 1283, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\http\client.py", line 1329, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\http\client.py", line 1278, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\http\client.py", line 1038, in _send_output
    self.send(msg)
  File "C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\http\client.py", line 976, in send
    self.connect()
  File "C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\http\client.py", line 1448, in connect
    super().connect()
  File "C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\http\client.py", line 942, in connect
    self.sock = self._create_connection(
  File "C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\socket.py", line 845, in create_connection
    raise err
  File "C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\socket.py", line 833, in create_connection
    sock.connect(sa)
TimeoutError: [WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
Error: Process completed with exit code 1.