Replies: 2 comments
-
A configurable grace period would be very helpful, but definitely does not fully solve the issues with writing reliable, robust github actions runner cancellation logic. If the concurrency group runs a
but very few people will do that, and by doing so you lose the ability to have logic after the "critical" command in your step. This is because child processes of a step's top-level process are not sent any Also, if processes started by a step detach from the session-leader, they continue to run even after the step is cancelled, so they can still be running when any See the demos I wrote on https://github.com/ringerc/github-actions-signal-handling-demo In the end anything running on github actions must have a way to recover if the actions worker node dies abruptly and without warning while it's in the middle of running a workload. But that should be a lot rarer than things like cancellations. It'd help if:
|
Beta Was this translation helpful? Give feedback.
-
🕒 Discussion Activity Reminder 🕒 This Discussion has been labeled as dormant by an automated system for having no activity in the last 60 days. Please consider one the following actions: 1️⃣ Close as Out of Date: If the topic is no longer relevant, close the Discussion as 2️⃣ Provide More Information: Share additional details or context — or let the community know if you've found a solution on your own. 3️⃣ Mark a Reply as Answer: If your question has been answered by a reply, mark the most helpful reply as the solution. Note: This dormant notification will only apply to Discussions with the Thank you for helping bring this Discussion to a resolution! 💬 |
Beta Was this translation helpful? Give feedback.
-
Select Topic Area
Question
Body
Jobs in concurrency groups cancelled by the
cancel-in-progress: true
mechanism are terminated without the ability to cleanup after themselves. This discussion provides a good summary.The eager termination makes it unsafe to execute terraform, for instance, in a cancelable job -- which would normally be able to cleanly shut down given a SIGINT and adequate grace period.
As a fix, can we have a configurable grace period for cancel-in-process jobs? Something like;
https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#concurrency
cancel-in-progress-grace-period
Beta Was this translation helpful? Give feedback.
All reactions