@@ -392,6 +392,47 @@ ${indent(rendered.mkString("\n"), 1)}"""
392392 " "
393393 }
394394
395+ val renderedServicesPre = job.services.map{ case JobService (id, image, credentials, env, volumes, ports, options) =>
396+ if (credentials.isEmpty && env.isEmpty && volumes.isEmpty && ports.isEmpty && options.isEmpty) {
397+ s " container: ${wrap(image)}"
398+ } else {
399+ val renderedImage = s " image: ${wrap(image)}"
400+
401+ val renderedCredentials = credentials match {
402+ case Some ((username, password)) =>
403+ s " \n credentials: \n ${indent(s " username: ${wrap(username)}\n password: ${wrap(password)}" , 1 )}"
404+
405+ case None =>
406+ " "
407+ }
408+
409+ val renderedEnv = if (! env.isEmpty)
410+ " \n " + compileEnv(env)
411+ else
412+ " "
413+
414+ val renderedVolumes = if (! volumes.isEmpty)
415+ s " \n volumes: ${compileList(volumes.toList map { case (l, r) => s " $l: $r" }, 1 )}"
416+ else
417+ " "
418+
419+ val renderedPorts = if (! ports.isEmpty)
420+ s " \n ports: ${compileList(ports.map(_.toString), 1 )}"
421+ else
422+ " "
423+
424+ val renderedOptions = if (! options.isEmpty)
425+ s " \n options: ${wrap(options.mkString(" " ))}"
426+ else
427+ " "
428+
429+ s " $id: \n ${indent(renderedImage + renderedCredentials + renderedEnv + renderedVolumes + renderedPorts + renderedOptions, 1 )}"
430+ }
431+ }
432+
433+ val renderedServices = if (renderedServicesPre.isEmpty) " " else s " \n services: \n ${indent(renderedServicesPre.mkString(" \n " ),1 )}"
434+
435+
395436 val renderedEnvPre = compileEnv(job.env)
396437 val renderedEnv = if (renderedEnvPre.isEmpty)
397438 " "
@@ -480,7 +521,7 @@ strategy:${renderedFailFast}
480521 os: ${compileList(job.oses, 3 )}
481522 scala: ${compileList(job.scalas, 3 )}
482523 java: ${compileList(job.javas.map(_.render), 3 )}${renderedMatrices}
483- runs-on: ${runsOn}${renderedEnvironment}${renderedContainer}${renderedTimeout}${renderedPerm}${renderedEnv}
524+ runs-on: ${runsOn}${renderedEnvironment}${renderedContainer}${renderedServices}${ renderedTimeout}${renderedPerm}${renderedEnv}
484525steps:
485526${indent(job.steps.map(compileStep(_, sbt, job.sbtStepPreamble, declareShell = declareShell)).mkString(" \n\n " ), 1 )}"""
486527
0 commit comments