Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 15 additions & 14 deletions flux-helm-diff.sh
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ output_msg() {
# Message line(s)
for msg in "$@"; do
echo "> ${msg}"
echo '>'
done
echo
} >> "$GITHUB_OUTPUT"
Expand Down Expand Up @@ -173,25 +172,27 @@ helm_template() {
# Check if chart is using .Capabilities.KubeVersion
grep -R --include='*.yaml' --include='*.yml' --include='*.tpl' ".Capabilities.KubeVersion" "${chart_temp_path}" > /dev/null && {
echo "${ref} uses \".Capabilities.KubeVersion\"" >&2
if [[ ${#kube_version} -eq 0 ]]; then
output_msg TIP "Chart in \`${ref}\` ref uses [\`.Capabilities.KubeVersion\`](https://helm.sh/docs/chart_template_guide/builtin_objects/) but is not specifying a Kubernetes version to simulate. Will use Helm's default Kubernetes version: \`${helm_default_kube_version}\`." \
"See [Simulating Capabilities](https://github.com/marketplace/actions/flux-helm-diff#simulating-capabilities) for details."
helm_kube_version=() # treat as array, to avoid adding single-quotes
else
output_msg TIP "Chart in \`${ref}\` ref uses [\`.Capabilities.KubeVersion\`](https://helm.sh/docs/chart_template_guide/builtin_objects/) and is simulating the following Kubernetes version: \`${kube_version}\`"
helm_kube_version=(--kube-version "${kube_version}") # treat as array, to avoid adding single-quotes
if [[ "${ref}" == "head" ]]; then
if [[ ${#kube_version} -eq 0 ]]; then
output_msg TIP "Chart in \`${ref}\` ref uses [\`.Capabilities.KubeVersion\`](https://helm.sh/docs/chart_template_guide/builtin_objects/) but is not specifying a Kubernetes version to simulate. Will use Helm's default Kubernetes version: \`${helm_default_kube_version}\`. See [Simulating Capabilities](https://github.com/marketplace/actions/flux-helm-diff#simulating-capabilities) for details."
helm_kube_version=() # treat as array, to avoid adding single-quotes
else
output_msg TIP "Chart in \`${ref}\` ref uses [\`.Capabilities.KubeVersion\`](https://helm.sh/docs/chart_template_guide/builtin_objects/) and is simulating the following Kubernetes version: \`${kube_version}\`"
helm_kube_version=(--kube-version "${kube_version}") # treat as array, to avoid adding single-quotes
fi
fi
}

# Check if chart is using .Capabilities.APIVersions
grep -R --include='*.yaml' --include='*.yml' --include='*.tpl' ".Capabilities.APIVersions" "${chart_temp_path}" > /dev/null && {
echo "${ref} uses \".Capabilities.APIVersions\"" >&2
if [[ ${#api_versions[@]} -eq 0 ]]; then
output_msg IMPORTANT "Chart in \`${ref}\` ref uses [\`.Capabilities.APIVersions\`](https://helm.sh/docs/chart_template_guide/builtin_objects/) but is not specifying any APIs to simulate. Only the built-in API versions are available for templating." \
"See [Simulating Capabilities](https://github.com/marketplace/actions/flux-helm-diff#simulating-capabilities) for details."
else
output_msg TIP "Chart in \`${ref}\` ref uses [\`.Capabilities.APIVersions\`](https://helm.sh/docs/chart_template_guide/builtin_objects/) and is simulating the following APIs, in addition to the built-in:" \
"$(printf "\`%s\`\n" "${api_versions[@]}")"
if [[ "${ref}" == "head" ]]; then
if [[ ${#api_versions[@]} -eq 0 ]]; then
output_msg IMPORTANT "Chart in \`${ref}\` ref uses [\`.Capabilities.APIVersions\`](https://helm.sh/docs/chart_template_guide/builtin_objects/) but is not specifying any APIs to simulate. Only the built-in API versions are available for templating. See [Simulating Capabilities](https://github.com/marketplace/actions/flux-helm-diff#simulating-capabilities) for details."
else
output_msg TIP "Chart in \`${ref}\` ref uses [\`.Capabilities.APIVersions\`](https://helm.sh/docs/chart_template_guide/builtin_objects/) and is simulating the following APIs, in addition to the built-in:" \
"$(printf "\`%s\`\n" "${api_versions[@]}")"
fi
fi
}

Expand Down