feat(compose lint): support lint compose policies
Fix #XXX
Replace shell scripting in https://github.com/updatecli/policies/blob/main/.ci/scripts/release.bash#L41-L122 with a CLI command, for such I decided to use updatecli compose lint <path>.
I have yet to implement everything, just a tiny validation. Please let me know what your thoughts are.
Test
To test this pull request, you can run the following commands:
make build
$ dist/updatecli_darwin_arm64/updatecli compose lint ../oblt-updatecli-policies/updatecli/policies
+++++++++++++++++++++++++++
+ LINT UPDATECLI POLICIES +
+++++++++++++++++++++++++++
Policy directory: ../oblt-updatecli-policies/updatecli/policies/apm/apm-data-spec
Policy directory: ../oblt-updatecli-policies/updatecli/policies/apm/apm-gherkin
Policy directory: ../oblt-updatecli-policies/updatecli/policies/apm/apm-json-specs
Policy directory: ../oblt-updatecli-policies/updatecli/policies/apm/ecs-logging-specs
Policy directory: ../oblt-updatecli-policies/updatecli/policies/apm/test
ERROR: * file '../oblt-updatecli-policies/updatecli/policies/apm/test/values.yaml' missing for policy ../oblt-updatecli-policies/updatecli/policies/apm/test
Policy directory: ../oblt-updatecli-policies/updatecli/policies/golang/version
Policy directory: ../oblt-updatecli-policies/updatecli/policies/oblt-cli/version
Additional Information
Tradeoff
Potential improvement
Thanks for the pullrequest, having this checks within the Updatecli command make sense.
I am just wondering the name updatecli compose lint because it's not related to the compose feature but more policy.
I don't have a better solution at the moment, for info I am considering renaming a few command cfr https://github.com/updatecli/updatecli/issues/1879