diff --git a/pkg/apis/build/v1alpha1/buildstrategy.go b/pkg/apis/build/v1alpha1/buildstrategy.go index 895bf876be..177d24a682 100644 --- a/pkg/apis/build/v1alpha1/buildstrategy.go +++ b/pkg/apis/build/v1alpha1/buildstrategy.go @@ -41,17 +41,13 @@ type Parameter struct { Default *string `json:"default"` } -// BuildStep defines a partial step that needs to run in container for -// building the image. +// BuildStep defines a partial step that needs to run in container for building the image. +// +// If the build step declares a volumeMount, Shipwright will create an emptyDir volume mount for the named volume. +// Build steps which share the same named volume in the volumeMount will share the same underlying emptyDir volume. +// This behavior is deprecated, and will be removed when full volume support is added to build strategies as specified +// in SHIP-0022. type BuildStep struct { - // NOTE: today, a Build Strategy author can define a VolumeMount as part of the inlined Container type, - // and Shipwright's use of Tekton will result in the implicit creation of a Volume of the EmptyDirSourceVolume - // type created in the corresponding TaskRun/Pod. As of v0.7.0 of Shipwright, we are declaring that capability - // deprecated. In future versions of Shipwright, BuildRun validation will return errors if BuildStrategy authors - // attempt to take advantage of this existing capability. As a replacement, BuildStrategy authors will be - // directed to use the capabilities currently outlined in the SHIP-22 enhancement proposal, which will be implemented - // in conjunction with the prevention of only defining VolumeMounts here. The sample BuildStrategies currently - // provided will be updated where needed to transition approach described in the SHIP-22 enhancement proposal. corev1.Container `json:",inline"` }