@@ -70,10 +70,10 @@ type StorageManagerInterface interface {
7070 GetImageInfo (ctx context.Context , ref string , opts StorageOptions ) (* image.Info , error )
7171
7272 LockStageImage (ctx context.Context , imageName string ) error
73- GetStagesByDigest (ctx context.Context , stageName , stageDigest string ) ([]* image.StageDescription , error )
74- GetStagesByDigestWithCache (ctx context.Context , stageName , stageDigest string ) ([]* image.StageDescription , error )
75- GetStagesByDigestFromStagesStorage (ctx context.Context , stageName , stageDigest string , stagesStorage storage.StagesStorage ) ([]* image.StageDescription , error )
76- GetStagesByDigestFromStagesStorageWithCache (ctx context.Context , stageName , stageDigest string , stagesStorage storage.StagesStorage ) ([]* image.StageDescription , error )
73+ GetStagesByDigest (ctx context.Context , stageName , stageDigest string , parentStageCreationTs int64 ) ([]* image.StageDescription , error )
74+ GetStagesByDigestWithCache (ctx context.Context , stageName , stageDigest string , parentStageCreationTs int64 ) ([]* image.StageDescription , error )
75+ GetStagesByDigestFromStagesStorage (ctx context.Context , stageName , stageDigest string , parentStageCreationTs int64 , stagesStorage storage.StagesStorage ) ([]* image.StageDescription , error )
76+ GetStagesByDigestFromStagesStorageWithCache (ctx context.Context , stageName , stageDigest string , parentStageCreationTs int64 , stagesStorage storage.StagesStorage ) ([]* image.StageDescription , error )
7777 GetStageDescriptionList (ctx context.Context ) ([]* image.StageDescription , error )
7878 GetStageDescriptionListWithCache (ctx context.Context ) ([]* image.StageDescription , error )
7979 GetFinalStageDescriptionList (ctx context.Context ) ([]* image.StageDescription , error )
@@ -744,16 +744,16 @@ func (m *StorageManager) SelectSuitableStage(ctx context.Context, c stage.Convey
744744 return stageDesc , nil
745745}
746746
747- func (m * StorageManager ) GetStagesByDigestWithCache (ctx context.Context , stageName , stageDigest string ) ([]* image.StageDescription , error ) {
748- return m .GetStagesByDigestFromStagesStorageWithCache (ctx , stageName , stageDigest , m .StagesStorage )
747+ func (m * StorageManager ) GetStagesByDigestWithCache (ctx context.Context , stageName , stageDigest string , parentStageCreationTs int64 ) ([]* image.StageDescription , error ) {
748+ return m .GetStagesByDigestFromStagesStorageWithCache (ctx , stageName , stageDigest , parentStageCreationTs , m .StagesStorage )
749749}
750750
751- func (m * StorageManager ) GetStagesByDigest (ctx context.Context , stageName , stageDigest string ) ([]* image.StageDescription , error ) {
752- return m .GetStagesByDigestFromStagesStorage (ctx , stageName , stageDigest , m .StagesStorage )
751+ func (m * StorageManager ) GetStagesByDigest (ctx context.Context , stageName , stageDigest string , parentStageCreationTs int64 ) ([]* image.StageDescription , error ) {
752+ return m .GetStagesByDigestFromStagesStorage (ctx , stageName , stageDigest , parentStageCreationTs , m .StagesStorage )
753753}
754754
755- func (m * StorageManager ) GetStagesByDigestFromStagesStorageWithCache (ctx context.Context , stageName , stageDigest string , stagesStorage storage.StagesStorage ) ([]* image.StageDescription , error ) {
756- cachedStageDescriptionList , err := m .getStagesByDigestFromStagesStorage (ctx , stageName , stageDigest , stagesStorage , storage .WithCache ())
755+ func (m * StorageManager ) GetStagesByDigestFromStagesStorageWithCache (ctx context.Context , stageName , stageDigest string , parentStageCreationTs int64 , stagesStorage storage.StagesStorage ) ([]* image.StageDescription , error ) {
756+ cachedStageDescriptionList , err := m .getStagesByDigestFromStagesStorage (ctx , stageName , stageDigest , parentStageCreationTs , stagesStorage , storage .WithCache ())
757757 if err != nil {
758758 return nil , err
759759 }
@@ -762,15 +762,15 @@ func (m *StorageManager) GetStagesByDigestFromStagesStorageWithCache(ctx context
762762 return cachedStageDescriptionList , nil
763763 }
764764
765- return m .getStagesByDigestFromStagesStorage (ctx , stageName , stageDigest , stagesStorage )
765+ return m .getStagesByDigestFromStagesStorage (ctx , stageName , stageDigest , parentStageCreationTs , stagesStorage )
766766}
767767
768- func (m * StorageManager ) GetStagesByDigestFromStagesStorage (ctx context.Context , stageName , stageDigest string , stagesStorage storage.StagesStorage ) ([]* image.StageDescription , error ) {
769- return m .getStagesByDigestFromStagesStorage (ctx , stageName , stageDigest , stagesStorage )
768+ func (m * StorageManager ) GetStagesByDigestFromStagesStorage (ctx context.Context , stageName , stageDigest string , parentStageCreationTs int64 , stagesStorage storage.StagesStorage ) ([]* image.StageDescription , error ) {
769+ return m .getStagesByDigestFromStagesStorage (ctx , stageName , stageDigest , parentStageCreationTs , stagesStorage )
770770}
771771
772- func (m * StorageManager ) getStagesByDigestFromStagesStorage (ctx context.Context , stageName , stageDigest string , stagesStorage storage.StagesStorage , opts ... storage.Option ) ([]* image.StageDescription , error ) {
773- stageIDs , err := m .getStagesIDsByDigestFromStagesStorage (ctx , stageName , stageDigest , stagesStorage , opts ... )
772+ func (m * StorageManager ) getStagesByDigestFromStagesStorage (ctx context.Context , stageName , stageDigest string , parentStageCreationTs int64 , stagesStorage storage.StagesStorage , opts ... storage.Option ) ([]* image.StageDescription , error ) {
773+ stageIDs , err := m .getStagesIDsByDigestFromStagesStorage (ctx , stageName , stageDigest , parentStageCreationTs , stagesStorage , opts ... )
774774 if err != nil {
775775 return nil , fmt .Errorf ("unable to get stages ids from %s by digest %s for stage %s: %w" , stagesStorage .String (), stageDigest , stageName , err )
776776 }
@@ -813,12 +813,12 @@ func (m *StorageManager) getWithLocalManifestCacheOption() bool {
813813 return m .StagesStorage .Address () != storage .LocalStorageAddress
814814}
815815
816- func (m * StorageManager ) getStagesIDsByDigestFromStagesStorage (ctx context.Context , stageName , stageDigest string , stagesStorage storage.StagesStorage , opts ... storage.Option ) ([]image.StageID , error ) {
816+ func (m * StorageManager ) getStagesIDsByDigestFromStagesStorage (ctx context.Context , stageName , stageDigest string , parentStageCreationTs int64 , stagesStorage storage.StagesStorage , opts ... storage.Option ) ([]image.StageID , error ) {
817817 var stageIDs []image.StageID
818818 if err := logboek .Context (ctx ).Info ().LogProcess ("Get %s stages by digest %s from storage" , stageName , stageDigest ).
819819 DoError (func () error {
820820 var err error
821- stageIDs , err = stagesStorage .GetStagesIDsByDigest (ctx , m .ProjectName , stageDigest , opts ... )
821+ stageIDs , err = stagesStorage .GetStagesIDsByDigest (ctx , m .ProjectName , stageDigest , parentStageCreationTs , opts ... )
822822 if err != nil {
823823 return fmt .Errorf ("error getting project %s stage %s images from storage: %w" , m .StagesStorage .String (), stageDigest , err )
824824 }
0 commit comments