private void loadDocker(
      DockerClient dockerClient, ProgressEventDispatcher.Factory progressDispatcherFactory) {
    results.buildResult =
        executorService.submit(
            () -> {
              DockerInfoDetails dockerInfoDetails = dockerClient.info();
              String osType = dockerInfoDetails.getOsType();
              String architecture = normalizeArchitecture(dockerInfoDetails.getArchitecture());
              Image builtImage =
                  fetchBuiltImageForLocalBuild(
                      osType, architecture, buildContext.getEventHandlers());
              return new LoadDockerStep(
                      buildContext, progressDispatcherFactory, dockerClient, builtImage)
                  .call();
            });
  }
Run all steps and return a BuildResult after a build is completed.

@return a {@link BuildResult} with build metadata
@throws ExecutionException if an error occurred during asynchronous execution of steps
@throws InterruptedException if the build was interrupted while waiting for results
jib-core/src/main/java/com/google/cloud/tools/jib/builder/steps/StepsRunner.java