meta data for this page
This is an old revision of the document!
Shell executor
Known issue with job cancellation.
Shell executor is using bash –login user
and for every script:
section another shell (bash) is spawned.
In result proces tree looks like:
Default bash behavior is to ignore signals when waiting for child.
If bash is waiting for a command to complete and receives a signal for which a trap has been set, the trap will not be executed until the command completes. When bash is waiting for an asynchronous command via the wait builtin, the reception of a signal for which a trap has been set will cause the wait builtin to return immediately with an exit status greater than 128, immediately after which the trap is executed.
The same issue described here:
Some references:
Solution:
- Using bash wrapper script plus replace current shell with new process using
exec
- .gitlab-ci.yml
build: stage: build script: - exec tools/ci/launch_job.sh make all - exec tools/ci/launch_job.sh make deploy