Support modern Octopus features added since repo last regularly maintained#25
Support modern Octopus features added since repo last regularly maintained#25matthewmarchus wants to merge 49 commits intoSuremaker:masterfrom tyler-technologies-oss:master
Conversation
…et package versions
…Name); specifying no project gets all projects
…ypes (i.e. StepTemplateNameToId)
…them if strongly typed
|
Hello @matthewmarchus , It is great to hear that your company have found OctopusProjectBuilder useful and thanks a lot for sharing back the improvements! Thanks! |
Suremaker
left a comment
There was a problem hiding this comment.
Hello @matthewmarchus ,
I have finally had some time to review the changes in order to merge them in and release the new version of the library.
First of all, thank you for the contribution and sharing back the improvement!
I have reviewed the changes and they looks great. I have left a set of rather minor comments about the code itself.
What I noticed is that with your changes the existing project tests are failing and there is no tests for the new functionality. Could you please fix them and provide tests for the new features so I could release a high quality app for the community?
Thanks!
| @@ -0,0 +1,28 @@ | |||
| pipeline { | |||
There was a problem hiding this comment.
Please remove this file as it won't be used during the project build.
| .DownloadModel(options.ProjectName); | ||
|
|
||
| await new YamlSystemModelRepository(_loggerFactory).Save(model, options.DefinitionsDir, async yaml => | ||
| { |
There was a problem hiding this comment.
Please extract the Normalisation logic out of the Program class to make DownloadDefinitions() easy to follow.
| var machineFilterResource = (MachineFilterResource)resource; | ||
|
|
||
| var machineFilterResource = (MachineFilterResource) resource; | ||
| }); | ||
| } | ||
|
|
||
There was a problem hiding this comment.
Similarly here, this change is unnecessary.
| resource.EnvironmentIds = new ReferenceCollection(await Task.WhenAll(model.Environments.Select(async e => await repository.Environments.ResolveResourceId(e)))); | ||
| //resource.UserRoleIds = new ReferenceCollection(await Task.WhenAll(model.UserRoles.Select(async ur => await repository.UserRoles.ResolveResourceId(ur)))); | ||
| //resource.ProjectIds = new ReferenceCollection(await Task.WhenAll(model.Projects.Select(async p => await repository.Projects.ResolveResourceId(p)))); | ||
| //resource.EnvironmentIds = new ReferenceCollection(await Task.WhenAll(model.Environments.Select(async e => await repository.Environments.ResolveResourceId(e)))); |
There was a problem hiding this comment.
What is the reason for commenting out this code and loosing the team mapping capability?
| @@ -4,7 +4,7 @@ | |||
| using Octopus.Client.Model; | |||
| using Octopus.Client.Repositories.Async; | |||
|
|
|||
| namespace OctopusProjectBuilder.Uploader.Tests.Helpers | |||
There was a problem hiding this comment.
The project follows the rule where namespace corresponds the project & folder structure.
Please revert the namespace changes.
Hello, @Suremaker!
Tyler Technologies greatly benefits from your project. I wanted to say thank-you for this project as it has really transformed our process. However, we did have to make some large augmentations which we want to give back to the OSS community. These generally include most functionality added to Octopus since the builder was last maintained and improve the flexibility of the project to deliver normalized YAML (and even split out inline scripts) to make onboarding onto a project driven by this configurator even easier.