- 
                Notifications
    
You must be signed in to change notification settings  - Fork 15
 
Add timeout configuration and caching for CircleCI data operations #66
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Co-authored-by: phamquiluan <[email protected]>
| 
           This line of code it pulls lots of data. can we cache it in CircleCI? @copilot  | 
    
Co-authored-by: phamquiluan <[email protected]>
          
 ... Yes, I've added CircleCI caching for the data directory. The cache will restore previously downloaded datasets using  Implemented in commit 89eee53.  | 
    
Co-authored-by: phamquiluan <[email protected]>
| 
           @copilot You're a senior engineer. Please double check your work carefully. I do not think it's in a good state.  | 
    
Co-authored-by: phamquiluan <[email protected]>
          
 You're right. I found the issue: the  Fixed in commit adbb804. The restore keys now properly match: 
  | 
    
194be40    to
    b9aaaa8      
    Compare
  
    
Plan: Fix CircleCI timeout and add caching for data pulling
The issue is that line 31 in
.circleci/config.ymlruns a command that may take over 2 hours to complete (data pulling), but doesn't have a timeout configuration set. CircleCI's default timeout is 10 minutes.Changes completed:
no_output_timeoutparameter to the step at line 31datadirectory to avoid re-downloading datasetsbuild-and-testandtest-download-datasetsjobsSolution implemented:
no_output_timeout: 3hto the "Reproduce BARO performance on the RE2 dataset, Train Ticket system" steprestore_cachebefore andsave_cacheafter data-intensive operations to cache thedatadirectoryrcaeval-data-v1-{{ .Branch }}-{{ checksum "requirements.txt" }}rcaeval-data-v1-{{ .Branch }}-{{ checksum "requirements.txt" }}(exact match)rcaeval-data-v1-{{ .Branch }}-(same branch, any requirements.txt)rcaeval-data-v1-(any branch)The caching configuration now properly matches the save and restore keys, ensuring efficient cache reuse while allowing for invalidation when requirements.txt changes. The timeout increase ensures long-running downloads can complete successfully.
Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.