-
Notifications
You must be signed in to change notification settings - Fork 267
Attempt to remedy CircleCI timeouts #919
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
CircleCI sometimes times out because no output is received for a long time while downloading files. Here we try two approaches: - increase no_output_timeout in config.yml - use --debug flag to print output every time a file is downloaded
|
@JuliaSprenger @samuelgarcia it would be good to merge this as soon as possible, if you see no problems with it. All of the recent CircleCI runs have been broken due to a time out. I think this might have been triggered by the recent addition of a lot of new Neuralynx test files, which take a long time to download, e.g. For some reason this PR didn't trigger a CircleCI run, but you can see here that the tests all pass on my branch (you'll also see all the "neo.test: INFO: Downloading https://web.gin.g-node.org...." messages, which prevent the time out). |
|
Hi @apdavison ! |
|
This is OK for me. |
|
I think there's maybe a problem with the cache key. Because this is unchanged, the newly downloaded files don't get cached. |
|
Do we need to change theses lines: python-neo/.circleci/config.yml Line 33 in 028907e
python-neo/.circleci/config.yml Line 53 in 028907e
Who is generating the key. Us or circle ? |
|
Us. See https://circleci.com/docs/2.0/caching/ I think we need to add "test-files-" to the keys for restore_cache, and we should change the hex suffix for the save_cache. Ideally we should create the key algorithmically. One way would be to move the list of test files out of the Python code into an external YAML or JSON file, and we could then use a hash of the contents of that file as the key suffix. Also note that caches are only retained for 15 days, so if there are no PRs or updates within a 15-day period the files will have to be downloaded again. |
|
Yes a centralised yaml sounds good. If we move the Maybe we could also make a script that parse all our test files. Construct this yaml on the fly. And make the hash on the fly. |
|
Do you want I merge this PR now ? |
|
Rather than parse the files and construct on the fly, how about a yaml file structured like: |
|
Good idea. |
CircleCI sometimes times out because no output is received for a long time while downloading files.
Here we try two approaches: