From 06165b59b2cbe35621c832763ab9f28f4fa3a93f Mon Sep 17 00:00:00 2001 From: moonblade Date: Wed, 27 Jul 2022 14:00:29 +0200 Subject: [PATCH] Allow container.image to be null/empty --- .../PipelineTemplateConverter.cs | 2 +- src/Sdk/DTPipelines/workflow-v1.0.json | 17 +++++++++++++++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/Sdk/DTPipelines/Pipelines/ObjectTemplating/PipelineTemplateConverter.cs b/src/Sdk/DTPipelines/Pipelines/ObjectTemplating/PipelineTemplateConverter.cs index 69f9a3d32..506a7d268 100644 --- a/src/Sdk/DTPipelines/Pipelines/ObjectTemplating/PipelineTemplateConverter.cs +++ b/src/Sdk/DTPipelines/Pipelines/ObjectTemplating/PipelineTemplateConverter.cs @@ -316,7 +316,7 @@ namespace GitHub.DistributedTask.Pipelines.ObjectTemplating if (String.IsNullOrEmpty(result.Image)) { - context.Error(value, "Container image cannot be empty"); + return null; } return result; diff --git a/src/Sdk/DTPipelines/workflow-v1.0.json b/src/Sdk/DTPipelines/workflow-v1.0.json index 6ae301fbd..0246678b6 100644 --- a/src/Sdk/DTPipelines/workflow-v1.0.json +++ b/src/Sdk/DTPipelines/workflow-v1.0.json @@ -381,7 +381,7 @@ "container-mapping": { "mapping": { "properties": { - "image": "non-empty-string", + "image": "string", "options": "non-empty-string", "env": "container-env", "ports": "sequence-of-non-empty-string", @@ -415,10 +415,23 @@ ], "one-of": [ "non-empty-string", - "container-mapping" + "services-container-mapping" ] }, + "services-container-mapping": { + "mapping": { + "properties": { + "image": "non-empty-string", + "options": "non-empty-string", + "env": "container-env", + "ports": "sequence-of-non-empty-string", + "volumes": "sequence-of-non-empty-string", + "credentials": "container-registry-credentials" + } + } + }, + "container-registry-credentials": { "context": [ "secrets",