Netuitive / chef-netuitive

Installs Native Netuitive Agent
MIT License
4 stars 6 forks source link

Chef Support Updates and CI fixes #62

Closed majormoses closed 5 years ago

majormoses commented 5 years ago

We need to drop chef 12 and 13 compatibility due to maintainability. See https://github.com/Netuitive/chef-netuitive/pull/61#issuecomment-504543833 for more details.

Make some decisions and document support, this includes outlining new branching strategies and expectations.

Fix ci

EDIT: based on the feedback here is a list of action items:

majormoses commented 5 years ago

Given that currently chef does not support < 14.x anymore I think we should drop it: https://docs.chef.io/versions.html#end-of-life-eol-products. This cookbook was originally written in chef 12 days and ported limited functionality back to chef 11. We have continued to support both chef 12 and 13 for a very long time and its time we break compatibility. However we can do it in a way that allows continued development and maintenance on legacy code with purely community contributions.

In order to allow people to continue to use this cookbook regardless of the limitations within their orgs we are going to make some changes regarding legacy versions of this cookbook. Previously chef 11 support existed in feature/chef-11-compatibility branch, I think using chef-client/$MAJOR or something along those lines to indicate when we no longer aim to maintain compatibility with a version of chef-client. Releases on github and supermarket will only be made from master which should reflect the latest version of chef that is supported. All other versions must be pulled from github branches. This is in part to avoid conflicts with versioning as we follow semver and do not want to tie our hands or make our versions confusing to users.

This would result in the creation of:

The master branch will be geared toward chef 14 until it is no longer supported, will be bumped to 15, etc.

Let me know what you think.

majormoses commented 5 years ago

@ziggythehamster @rclagett could you two weigh in here?

rclagett commented 5 years ago

This makes a lot of sense to me, and I'm on board with it. I like the idea of backwards compatibility branches for folks using the cookbook who haven't yet updated chef. Than you so much for the dedication @majormoses!

ziggythehamster commented 5 years ago

I'm happy with this. Basically the main breakages aren't even in Chef syntax, but in the standard library.

majormoses commented 5 years ago

@rclagett it looks like I dont have enough access to make the chef-client/* branches protected can you please enable those protections?

EDIT: once that has been done and #65 is merged and released this can be closed.

rclagett commented 5 years ago

@majormoses I increased your access level. Could you give it another try?

majormoses commented 5 years ago

@rclagett that worked for me, thank you.

https://github.com/Netuitive/chef-netuitive/settings/branch_protection_rules/5738962

For right now I enabled the basic protections and used a pattern to ensure that newly created branches following that pattern will auto be protected.

image

image

rclagett commented 5 years ago

@majormoses This is great! Really appreciate you setting it all up.

majormoses commented 5 years ago

released: https://supermarket.chef.io/cookbooks/netuitive/versions/1.0.0