From 75a3c7e9fd77f3ca4069418abb355c5b094a1e4c Mon Sep 17 00:00:00 2001 From: Satvik Mishra Date: Sat, 5 Sep 2026 17:29:44 +0000 Subject: [PATCH 1/2] docs: add Helm to CONTRIBUTING prerequisites for chart tests Closes #570 --- CONTRIBUTING.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index cfff973d..b66329f8 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -93,6 +93,14 @@ labels above are how this repository welcomes contributors in any month. - [Bun](https://bun.sh/) (recommended) or Node.js 24+ - Git +- [Helm](https://helm.sh/) 4.1.3 (the version CI runs). Twelve unit files under `tests/unit/` (`helm-chart-*.test.ts`, `distribution-check.test.ts`, `generate-channel-showcase.test.ts`) spawn the `helm` binary. Without it on `PATH`, `bun run test` fails with many `error: Executable not found in $PATH: "helm"` errors. The PostgreSQL subchart tarball is gitignored (`*.tgz`), so a fresh clone also needs: + + ```bash + helm repo add bitnami https://charts.bitnami.com/bitnami + helm dependency build charts/libredb-studio --skip-refresh + ``` + + Trap: a stale `docker login` can make that build fail with `401 Unauthorized` from `registry-1.docker.io` even though the chart is anonymously pullable. `docker logout` fixes it. ### Getting Started @@ -178,7 +186,8 @@ bun run format # Biome formatter check (format:fix to write) bun run lint # oxlint, then ESLint 9 bun run typecheck # TypeScript strict bun run knip # unused files, exports and dependencies -bun run test # every test layer; never bare `bun test` +bun run test # every test layer; never bare `bun test`. Chart tests need Helm + the built subchart (see Prerequisites); without Helm you get ~166 `Executable not found in $PATH: "helm"` failures. Prefer `bun run test:ci` for a CI-matching green run (the interactive `test` script still has a separate single-process flake tracked outside this docs fix). +bun run test:ci # CI unit/integration lane (green when Prerequisites are met) bun run test:coverage # coverage report (merged lcov) bun run coverage:check # enforce 100% line coverage on the merged lcov bun run readme:check # localized README drift guard From c4f3fa694583368409f76083367f376e11239e09 Mon Sep 17 00:00:00 2001 From: cevheri Date: Tue, 8 Sep 2026 11:36:23 +0300 Subject: [PATCH 2/2] docs: apply review to the Helm prerequisite note --- CONTRIBUTING.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6531d55c..72dbdb7c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -144,7 +144,7 @@ honest about being one. - [Bun](https://bun.sh/) (recommended) or Node.js 24+ - Git -- [Helm](https://helm.sh/) 4.1.3 (the version CI runs). Twelve unit files under `tests/unit/` (`helm-chart-*.test.ts`, `distribution-check.test.ts`, `generate-channel-showcase.test.ts`) spawn the `helm` binary. Without it on `PATH`, `bun run test` fails with many `error: Executable not found in $PATH: "helm"` errors. The PostgreSQL subchart tarball is gitignored (`*.tgz`), so a fresh clone also needs: +- [Helm](https://helm.sh/) 4.1.3 (the version CI runs). Ten of the eleven `helm-chart-*.test.ts` files under `tests/unit/` spawn the `helm` binary - all but `helm-chart-readme-recipes.test.ts`, which is a static lint over the chart README. Without `helm` on `PATH`, `bun run test` fails with 166 `error: Executable not found in $PATH: "helm"` errors. The PostgreSQL subchart tarball is gitignored (`*.tgz`), so a fresh clone also needs: ```bash helm repo add bitnami https://charts.bitnami.com/bitnami @@ -237,8 +237,8 @@ bun run format # Biome formatter check (format:fix to write) bun run lint # oxlint, then ESLint 9 bun run typecheck # TypeScript strict bun run knip # unused files, exports and dependencies -bun run test # every test layer; never bare `bun test`. Chart tests need Helm + the built subchart (see Prerequisites); without Helm you get ~166 `Executable not found in $PATH: "helm"` failures. Prefer `bun run test:ci` for a CI-matching green run (the interactive `test` script still has a separate single-process flake tracked outside this docs fix). -bun run test:ci # CI unit/integration lane (green when Prerequisites are met) +bun run test # every test layer; never bare `bun test`. Needs Helm and the built subchart, see Prerequisites +bun run test:ci # the same layers with one process per file, which is what CI runs; use it to verify bun run test:coverage # coverage report (merged lcov) bun run coverage:check # enforce 100% line coverage on the merged lcov bun run readme:check # localized README drift guard