-
Notifications
You must be signed in to change notification settings - Fork 948
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
Specifying a timeout option seems to be ignored by the runner #496
Comments
Hey @francisfuzz thanks for the report! There are actually two different things going on here:
The The runner uses the The mainline scenario for the later is waiting for all container to have started before continuing the job. I don't think we actually want to use the healthcheck values for this, as we aren't doing a full healthcheck system, just querying the status. That being said, is there something related to the healthcheck system causing issues with your job that we could help address? Or is this something you noticed and just wanted to make sure wasn't an issue? |
@thboop, thanks for the clarification. I originally posted the question/issue with github support about this. I think this is a miscommunication issue. The docs show an example with docker container health-check but the runner is actually doing |
@thboop - Thanks for sharing that rich context here!
I opened this issue as a way of understanding this feature better as a follow-up from @sfertman's report (and their additional context in #496 (comment)). |
Thank you for your patience, I've followed up with our docs team to get the docs updated! The algorithm for the exponential backoff can be found here and we seed it with the inputs here At a quick glance:
We also log the wait times in the log, so you may be able to optimize based off of that as you see the results in real builds! If you have any more questions please let me know and we can reopen the issue! |
I checked the source code and could not confirm that such a specification is in place. |
Even after reading this thread I was still incredibly confused about all this. To clarify for anyone else who is in my position: The healthcheck commands being passed to Docker are still doing exactly what they are supposed to in order to determine the health of the container, but Actions has its own entirely separate mechanism for asking Docker what the current status of a given container is, and that is not configurable as far as I can tell. So as a result you might be seeing extra-long startup wait times if your container's healthcheck interval is particularly high - the container itself could be ready a few seconds after Actions saw the container to not be ready, causing Actions to wait another 32 seconds before seeing the container as healthy. My container's healthcheck command is super inexpensive so I just set the interval to 1 second and that avoids any extra wait on startup. |
Describe the bug
Specifying a timeout option of 5 seconds doesn't seem to be applied when initializing a service or a container in an Actions workflow.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
I expected to see the health check performed in 5 second increments rather than a lower count of 1-4 seconds.
Runner Version and Platform
What's not working?
See below. ✌️
Job Log Output
https://github.com/francisfuzz/molecula/runs/694847523?check_suite_focus=true#step:2:39
logs_2.zip
Runner and Worker's Diagnostic Logs
logs_2.zip
👋 @actions/service-oncall for triage/prioritization
The text was updated successfully, but these errors were encountered: