[WIP] Generic Executor
What does this MR do?
Adds a new type of executor that just executes predefined scripts. It passes the commands to be executed in via stdin and reads the output via stdout and stderr, as originally described in #2885 (closed).
Why was this MR needed?
I built this because I wanted to run my jobs in libvirt VMs, but I didn't want to lock myself into libvirt. This allow rapid prototyping of new executor types.
Work In Progress
This is a WIP. I've been using it for my own builds on my own gitlab server for several months now, but it still needs docs and tests, and the code is probably not in a great state. I'm submitting this now so I can get feedback.
Are there points in the code the reviewer needs to double check?
Does this MR meet the acceptance criteria?
- Documentation created/updated
- Added tests for this feature/bug
In case of conflicts with
master- branch was rebased