diff --git a/src/Sdk/DTPipelines/Pipelines/ObjectTemplating/PipelineTemplateConverter.cs b/src/Sdk/DTPipelines/Pipelines/ObjectTemplating/PipelineTemplateConverter.cs index e76c08aa6..951d0869f 100644 --- a/src/Sdk/DTPipelines/Pipelines/ObjectTemplating/PipelineTemplateConverter.cs +++ b/src/Sdk/DTPipelines/Pipelines/ObjectTemplating/PipelineTemplateConverter.cs @@ -154,6 +154,11 @@ namespace GitHub.DistributedTask.Pipelines.ObjectTemplating if (value is StringToken containerLiteral) { + if (String.IsNullOrEmpty(containerLiteral.Value)) + { + return null; + } + result.Image = containerLiteral.Value; } else diff --git a/src/Sdk/DTPipelines/workflow-v1.0.json b/src/Sdk/DTPipelines/workflow-v1.0.json index 02741c871..21e6d2b63 100644 --- a/src/Sdk/DTPipelines/workflow-v1.0.json +++ b/src/Sdk/DTPipelines/workflow-v1.0.json @@ -472,7 +472,7 @@ "matrix" ], "one-of": [ - "non-empty-string", + "string", "container-mapping" ] }, @@ -497,10 +497,22 @@ ], "mapping": { "loose-key-type": "non-empty-string", - "loose-value-type": "container" + "loose-value-type": "services-container" } }, + "services-container": { + "context": [ + "github", + "strategy", + "matrix" + ], + "one-of": [ + "non-empty-string", + "container-mapping" + ] + }, + "container-env": { "mapping": { "loose-key-type": "non-empty-string",