The runner can request that the runner helper runs a step
Problem
The entrypoint for the build container that has steps support is [step-runner] serve. Serve starts a gRPC server that listens for step RunRequest. The entrypoint for the build container that runs a script (non-steps behaviour) is a shell.
The build container is created once, and the entrypoint cannot be changed after the container is created. It is expected that a build container created with serve will error when subsequent scripts try to run on the same container.
An approach must be found so that the build container can listen for step RunRequests and execute scripts.
Proposal
Some ideas:
- Recreating the build container each time, and setting the entrypoint to serve/shell depending on whether the stage runs as a step
- Changing the serve command to accept / execute a script on stdin
Edited by Cameron Swords