Skip to content
Snippets Groups Projects

Native Step Runner Integration for Docker Executor

Merged Axel von Bertoldi requested to merge avonbertoldi/47414/steps-integration-docker into main
1 file
+ 10
0
Compare changes
  • Side-by-side
  • Inline
+ 10
0
@@ -45,6 +45,7 @@ import (
"gitlab.com/gitlab-org/gitlab-runner/helpers/featureflags"
"gitlab.com/gitlab-org/gitlab-runner/helpers/limitwriter"
"gitlab.com/gitlab-org/gitlab-runner/shells"
"gitlab.com/gitlab-org/gitlab-runner/steps"
)
const (
@@ -818,6 +819,15 @@ func (e *executor) createHostConfig() (*container.HostConfig, error) {
func (e *executor) startAndWatchContainer(ctx context.Context, id string, input io.Reader) error {
dockerExec := exec.NewDocker(e.Context, e.client, e.waiter, e.Build.Log())
// Use stepsDocker exec implementation if steps is enabled and this is the build container.
if id == e.buildContainerID && e.Build.UseNativeSteps() {
request, err := steps.NewRequest(e.Build)
if err != nil {
return fmt.Errorf("creating steps request: %w", err)
}
dockerExec = exec.NewStepsDocker(e.Context, e.client, e.waiter, e.Build.Log(), request)
}
stdout := e.BuildLogger.Stream(buildlogger.StreamWorkLevel, buildlogger.Stdout)
defer stdout.Close()
Loading