You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We have three places in our pipeline config where we use "inline oneOf" fields currently: BuildConfig.BuildType, DeployConfig.DeployType, Artifact.ArtifactType They are "oneOf" fields - our DIY "union types" - choices are represented as fields and we validate against multiple choices runtime. They are "inline" as these "choice fields" become part of the parent element.
Out of these BuildConfig.BuildType and Artifact.ArtifactType are mixed in with other properties. For example Artifact.Image, Artifact.Sync, Artifact.Context, which becomes confusing when used in an IntelliSense context:
Proposal
1.) Move ArtifactType to a non-inline field: artifact.type:
2.) Move BuildConfig.BuildType under build.location
This would also help with resolving some of the readability arguments in
Background
We have three places in our pipeline config where we use "inline oneOf" fields currently:
BuildConfig.BuildType
,DeployConfig.DeployType
,Artifact.ArtifactType
They are "oneOf" fields - our DIY "union types" - choices are represented as fields and we validate against multiple choices runtime. They are "inline" as these "choice fields" become part of the parent element.e.g.:
Problem
Out of these
BuildConfig.BuildType
andArtifact.ArtifactType
are mixed in with other properties. For exampleArtifact.Image
,Artifact.Sync
,Artifact.Context
, which becomes confusing when used in an IntelliSense context:Proposal
1.) Move ArtifactType to a non-inline field:
artifact.type
:2.) Move BuildConfig.BuildType under
build.location
This would also help with resolving some of the readability arguments in
#1179
#955
#953
The text was updated successfully, but these errors were encountered: