File tree Expand file tree Collapse file tree 3 files changed +13
-4
lines changed Expand file tree Collapse file tree 3 files changed +13
-4
lines changed Original file line number Diff line number Diff line change @@ -248,10 +248,19 @@ func (c ProjectConverter) convertUsernamePasswordGitPersistence(project octopus2
248
248
}
249
249
}
250
250
251
- func (c ProjectConverter ) convertVersioningStrategy (project octopus2.Project ) terraform2.TerraformVersioningStrategy {
251
+ func (c ProjectConverter ) convertVersioningStrategy (project octopus2.Project ) * terraform2.TerraformVersioningStrategy {
252
+ // Versioning based on packages creates a circular reference that Terraform can not resolve. The project
253
+ // needs to know the name of the step and package to base the versioning on, and the deployment process
254
+ // needs to know the project to attach itself to. If the versioning strategy is set to use packages,
255
+ // simply return nil.
256
+ if strutil .EmptyIfNil (project .VersioningStrategy .DonorPackageStepId ) != "" ||
257
+ project .VersioningStrategy .DonorPackage != nil {
258
+ return nil
259
+ }
260
+
252
261
versioningStrategy := terraform2.TerraformVersioningStrategy {
253
262
Template : project .VersioningStrategy .Template ,
254
- DonorPackageStepId : project . VersioningStrategy . DonorPackageStepId ,
263
+ DonorPackageStepId : nil ,
255
264
DonorPackage : nil ,
256
265
}
257
266
@@ -262,7 +271,7 @@ func (c ProjectConverter) convertVersioningStrategy(project octopus2.Project) te
262
271
}
263
272
}
264
273
265
- return versioningStrategy
274
+ return & versioningStrategy
266
275
}
267
276
268
277
// exportChildDependencies exports those dependencies that are always required regardless of the recursive flag.
Original file line number Diff line number Diff line change @@ -20,7 +20,7 @@ type TerraformProject struct {
20
20
GitLibraryPersistenceSettings * TerraformGitLibraryPersistenceSettings `hcl:"git_library_persistence_settings,block"`
21
21
GitAnonymousPersistenceSettings * TerraformGitAnonymousPersistenceSettings `hcl:"git_anonymous_persistence_settings,block"`
22
22
GitUsernamePasswordPersistenceSettings * TerraformGitUsernamePasswordPersistenceSettings `hcl:"git_username_password_persistence_settings,block"`
23
- VersioningStrategy TerraformVersioningStrategy `hcl:"versioning_strategy,block"`
23
+ VersioningStrategy * TerraformVersioningStrategy `hcl:"versioning_strategy,block"`
24
24
}
25
25
26
26
type TerraformTemplate struct {
You can’t perform that action at this time.
0 commit comments