All-Hands-AI / openhands-resolver

A system that tries to resolve all issues on a github repo with OpenHands.
MIT License
85 stars 20 forks source link

[Enhancement]: Caching resolver dependency #282

Closed malhotra5 closed 1 week ago

malhotra5 commented 1 week ago

This PR partially addresses issue #143 by caching the pip installation of openhands-resolver

Changes

We invoke the caching workflow only when the label fix-me is used; we do the following

  1. Check for the latest openhands-resolver version available
  2. Create a new cache if is doesn't exist with openhands-resolver version used as the key, otherwise restore packages from the existing cache

This means

  1. If fix-me-experimental is used all caching workflows are skipped; this ensures the unreleased version is installed
  2. If new version of openhands-resolver is released, a new cache will be created since the cache key won't exist. The older cache will automatically be discarded by Github in 7 days if its not used.

Test logs

  1. Workflow log where cache is created for the first time.
  2. Workflow log where cache hit occurs and packages are restored successfully from the cache. Saves around 100 seconds of installation time.
  3. Workflow log where caching is ignored when fix-me-experimental label is used