@@ -555,7 +555,7 @@ func (r *Runner) runTemplateImport(ctx context.Context) (*proto.CompletedJob, *p
555
555
CoderUrl : r .job .GetTemplateImport ().Metadata .CoderUrl ,
556
556
WorkspaceOwnerGroups : r .job .GetTemplateImport ().Metadata .WorkspaceOwnerGroups ,
557
557
WorkspaceTransition : sdkproto .WorkspaceTransition_START ,
558
- })
558
+ }, false )
559
559
if err != nil {
560
560
return nil , r .failedJobf ("template import provision for start: %s" , err )
561
561
}
@@ -571,7 +571,8 @@ func (r *Runner) runTemplateImport(ctx context.Context) (*proto.CompletedJob, *p
571
571
CoderUrl : r .job .GetTemplateImport ().Metadata .CoderUrl ,
572
572
WorkspaceOwnerGroups : r .job .GetTemplateImport ().Metadata .WorkspaceOwnerGroups ,
573
573
WorkspaceTransition : sdkproto .WorkspaceTransition_STOP ,
574
- })
574
+ }, true , // Modules downloded on the start provision
575
+ )
575
576
if err != nil {
576
577
return nil , r .failedJobf ("template import provision for stop: %s" , err )
577
578
}
@@ -597,7 +598,8 @@ func (r *Runner) runTemplateImport(ctx context.Context) (*proto.CompletedJob, *p
597
598
StopModules : stopProvision .Modules ,
598
599
Presets : startProvision .Presets ,
599
600
Plan : startProvision .Plan ,
600
- ModuleFiles : startProvision .ModuleFiles ,
601
+ // ModuleFiles are not on the stopProvision. So grab from the startProvision.
602
+ ModuleFiles : startProvision .ModuleFiles ,
601
603
},
602
604
},
603
605
}, nil
@@ -666,8 +668,8 @@ type templateImportProvision struct {
666
668
// Performs a dry-run provision when importing a template.
667
669
// This is used to detect resources that would be provisioned for a workspace in various states.
668
670
// It doesn't define values for rich parameters as they're unknown during template import.
669
- func (r * Runner ) runTemplateImportProvision (ctx context.Context , variableValues []* sdkproto.VariableValue , metadata * sdkproto.Metadata ) (* templateImportProvision , error ) {
670
- return r .runTemplateImportProvisionWithRichParameters (ctx , variableValues , nil , metadata )
671
+ func (r * Runner ) runTemplateImportProvision (ctx context.Context , variableValues []* sdkproto.VariableValue , metadata * sdkproto.Metadata , omitModules bool ) (* templateImportProvision , error ) {
672
+ return r .runTemplateImportProvisionWithRichParameters (ctx , variableValues , nil , metadata , omitModules )
671
673
}
672
674
673
675
// Performs a dry-run provision with provided rich parameters.
@@ -677,6 +679,7 @@ func (r *Runner) runTemplateImportProvisionWithRichParameters(
677
679
variableValues []* sdkproto.VariableValue ,
678
680
richParameterValues []* sdkproto.RichParameterValue ,
679
681
metadata * sdkproto.Metadata ,
682
+ omitModules bool ,
680
683
) (* templateImportProvision , error ) {
681
684
ctx , span := r .startTrace (ctx , tracing .FuncName ())
682
685
defer span .End ()
@@ -696,6 +699,7 @@ func (r *Runner) runTemplateImportProvisionWithRichParameters(
696
699
// Template import has no previous values
697
700
PreviousParameterValues : make ([]* sdkproto.RichParameterValue , 0 ),
698
701
VariableValues : variableValues ,
702
+ OmitModuleFiles : omitModules ,
699
703
}}})
700
704
if err != nil {
701
705
return nil , xerrors .Errorf ("start provision: %w" , err )
@@ -849,6 +853,7 @@ func (r *Runner) runTemplateDryRun(ctx context.Context) (*proto.CompletedJob, *p
849
853
r .job .GetTemplateDryRun ().GetVariableValues (),
850
854
r .job .GetTemplateDryRun ().GetRichParameterValues (),
851
855
metadata ,
856
+ false ,
852
857
)
853
858
if err != nil {
854
859
return nil , r .failedJobf ("run dry-run provision job: %s" , err )
@@ -911,6 +916,10 @@ func (r *Runner) buildWorkspace(ctx context.Context, stage string, req *sdkproto
911
916
Output : msgType .Log .Output ,
912
917
Stage : stage ,
913
918
})
919
+ case * sdkproto.Response_DataUpload :
920
+ continue // Only for template imports
921
+ case * sdkproto.Response_ChunkPiece :
922
+ continue // Only for template imports
914
923
default :
915
924
// Stop looping!
916
925
return msg , nil
@@ -1003,6 +1012,7 @@ func (r *Runner) runWorkspaceBuild(ctx context.Context) (*proto.CompletedJob, *p
1003
1012
resp , failed := r .buildWorkspace (ctx , "Planning infrastructure" , & sdkproto.Request {
1004
1013
Type : & sdkproto.Request_Plan {
1005
1014
Plan : & sdkproto.PlanRequest {
1015
+ OmitModuleFiles : true , // Only useful for template imports
1006
1016
Metadata : r .job .GetWorkspaceBuild ().Metadata ,
1007
1017
RichParameterValues : r .job .GetWorkspaceBuild ().RichParameterValues ,
1008
1018
PreviousParameterValues : r .job .GetWorkspaceBuild ().PreviousParameterValues ,
0 commit comments