Skip to content

Conversation

@michi8620
Copy link
Owner

@michi8620 michi8620 commented Nov 8, 2025

Summary by CodeRabbit

  • Chores
    • Streamlined continuous integration pipeline by removing Helm manifest validation checks
    • Introduced automated Helm chart linting script for improved deployment validation

@coderabbitai
Copy link

coderabbitai bot commented Nov 8, 2025

Walkthrough

The CI workflow's Helm manifest validation step using kubeconform is removed. A new standalone Bash script for Helm chart linting is introduced, which performs linting checks with strict mode and appropriate error handling.

Changes

Cohort / File(s) Change Summary
CI workflow modification
.github/workflows/ci-kind-deploy.yml
Removed the kubeconform validation step (instrumenta/kubeconform-action@v1) that validated rendered Helm manifests.
New linting script
scripts/helm_lint.sh
Added new Bash script that lints a Helm chart directory with strict mode (set -euo pipefail), accepts optional chart directory argument (default ./helm), verifies helm executable availability, and exits with appropriate error codes on failure.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Verify the new helm_lint.sh script follows shell scripting best practices and error handling conventions
  • Confirm the removal of kubeconform validation is intentional and not replaced by other validation mechanisms
  • Check if the new script integrates properly with existing CI/CD processes or developer workflows

Possibly related PRs

  • deletes unused scripts #1: Directly related through modifications to scripts/helm_lint.sh, with one PR adding and another potentially removing the same linting script.

Poem

🐰 ✨
Gone is the kubeconform in the CI flow,
A new lint script's ready to steal the show,
Strict mode enabled, errors won't hide,
Helm charts now validated with rabbit-approved pride! 🎯

Pre-merge checks and finishing touches

❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Title check ❓ Inconclusive The title is vague and incomplete. It uses non-descriptive phrasing ('delete unessecary') without clarifying what is being removed or why, and contains a misspelling ('unessecary' instead of 'unnecessary'). Revise the title to be more specific and descriptive. For example: 'Remove kubeconform validation from CI workflow' or 'Replace kubeconform validation with Helm linting script' would better communicate the main change to reviewers.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/delete-unessecary

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
scripts/helm_lint.sh (1)

6-18: Consider validating chart directory existence before linting.

The script runs helm lint directly without first verifying the chart directory exists. This could result in a confusing helm error message rather than a clear diagnostic.

 CHART_DIR="${1:-./helm}"
 
 echo "Running helm lint for chart directory: ${CHART_DIR}"
 
+if [[ ! -d "${CHART_DIR}" ]]; then
+  echo "chart directory not found: ${CHART_DIR}" >&2
+  exit 1
+fi
+
 if ! command -v helm >/dev/null 2>&1; then
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between f715602 and dee281d.

📒 Files selected for processing (2)
  • .github/workflows/ci-kind-deploy.yml (0 hunks)
  • scripts/helm_lint.sh (1 hunks)
💤 Files with no reviewable changes (1)
  • .github/workflows/ci-kind-deploy.yml
🧰 Additional context used
🪛 GitHub Actions: CI - Kind Helm PR workflow
scripts/helm_lint.sh

[error] 1-1: Permission denied while attempting to execute script './scripts/helm_lint.sh ./helm'. Ensure the script is executable (chmod +x scripts/helm_lint.sh). Process exited with code 126.

Comment on lines +1 to +18
#!/usr/bin/env bash
# Lint a Helm chart directory. Exits non-zero on failure.

set -euo pipefail

CHART_DIR="${1:-./helm}"

echo "Running helm lint for chart directory: ${CHART_DIR}"

if ! command -v helm >/dev/null 2>&1; then
echo "helm is required but not found in PATH" >&2
exit 2
fi

helm lint "${CHART_DIR}" \
|| { echo "helm lint failed" >&2; exit 1; }

echo "helm lint succeeded for ${CHART_DIR}" No newline at end of file
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

Script is not executable—add execute permissions.

The pipeline failure (exit code 126) indicates the script lacks execute permissions. This is a blocker preventing the script from running.

Add execute permissions by running:

chmod +x scripts/helm_lint.sh

Or include this change in the PR by adding it to .gitattributes or committing with execute permissions set in git:

git update-index --chmod=+x scripts/helm_lint.sh
🧰 Tools
🪛 GitHub Actions: CI - Kind Helm PR workflow

[error] 1-1: Permission denied while attempting to execute script './scripts/helm_lint.sh ./helm'. Ensure the script is executable (chmod +x scripts/helm_lint.sh). Process exited with code 126.

🤖 Prompt for AI Agents
In scripts/helm_lint.sh around lines 1 to 18, the script file lacks execute
permissions causing the pipeline to fail with exit code 126; fix by making the
file executable in the repo — run chmod +x scripts/helm_lint.sh locally and
commit the permission change, or use git update-index --chmod=+x
scripts/helm_lint.sh before committing so the executable bit is recorded
(alternatively ensure your CI patches set the executable bit or add appropriate
.gitattributes config).

@michi8620 michi8620 closed this Nov 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants