feat: Update publisher to add new cookbooks that do not exist

Related issue: gitlab-com/gl-infra/platform/runway/team#736

If an environment json file does not contain a cookbook pin, the publisher will not add it. This can lead to a situation where new cookbooks are deployed into environments before they are ready.

I had to add the 'dup' for the commit_messages to avoid a string editing due to frozen literals being true.

I was not super keen on using pretty print, but I did not know of a cleaner way to manage the json object when adding a new cookbook that did not already exist.

Edited by Cameron McFarland

Merge request reports

Loading