mirror of
https://github.com/nektos/act.git
synced 2026-04-26 09:25:54 +03:00
[PR #1170] [MERGED] feat: handle context cancelation during docker exec #1819
Labels
No labels
area/action
area/cli
area/docs
area/image
area/runner
area/workflow
backlog
confirmed/not-planned
kind/bug
kind/discussion
kind/external
kind/feature-request
kind/question
meta/duplicate
meta/invalid
meta/need-more-info
meta/resolved
meta/wontfix
meta/workaround
needs-work
pull-request
review/not-planned
size/M
size/XL
size/XXL
stale
stale-exempt
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/act#1819
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/nektos/act/pull/1170
Author: @KnisterPeter
Created: 5/17/2022
Status: ✅ Merged
Merged: 5/24/2022
Merged by: @mergify[bot]
Base:
master← Head:allow-to-interrupt-execution📝 Commits (4)
60f6f75feat: handle context cancelation during docker exec966d34efeat: handle SIGTERM signal and abort runc9bc172test: on context cancel, abort running command42f0a15test: make sure the exec funcction handles command exit code📊 Changes
5 files changed (+182 additions, -14 deletions)
View changed files
📝
main.go(+2 -1)📝
pkg/container/docker_run.go(+43 -12)📝
pkg/container/docker_run_test.go(+118 -0)📝
pkg/runner/job_executor.go(+11 -1)📝
pkg/runner/runner.go(+8 -0)📄 Description
To allow interrupting docker exec (which could be long running)
we process the log output in a go routine and handle
context cancelation as well as command result.
In case of context cancelation a CTRL+C is written into the docker
container. This should be enough to terminate the running
command.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.