CONTRIBUTING.md lists two prerequisites, Bun (or Node.js 24+) and Git, and then tells a contributor to run bun run test. That command needs a third tool the page never names. Twelve files under tests/unit/ (helm-chart-*.test.ts, distribution-check.test.ts, generate-channel-showcase.test.ts) render the chart with the helm binary. Measured 2026-09-05 on a checkout of main:
- With
helm absent from PATH, 166 tests fail, each with error: Executable not found in $PATH: "helm".
- With
helm installed but the subchart not vendored, helm template refuses: found in Chart.yaml, but missing in charts/ directory: postgresql. The tarball is gitignored (.gitignore, *.tgz), so a fresh clone never has it.
- After
helm repo add bitnami https://charts.bitnami.com/bitnami and helm dependency build charts/libredb-studio --skip-refresh, the same twelve files pass 337 of 337.
The two commands are the ones CI runs (.github/workflows/ci.yml, the "Lint, Typecheck and Build" and "Unit & Integration Tests" jobs, on Helm 4.1.3). CONTRIBUTING mentions helm dependency build only in the "Helm Chart Changes" section, which a contributor fixing a provider has no reason to open. The first contributor to hit this (PR #569) ran the whole suite, got 355 failures, and had to work out from the error text that none of them were theirs.
Fix. Docs only, in CONTRIBUTING.md:
- Add Helm to "Prerequisites", naming the version CI runs (4.1.3), with the two commands above as the setup step that makes
bun run test runnable.
- Note beside
bun run test in "Available Scripts" that the chart tests need it, and what the failure looks like without it, so the 166 errors are recognisable.
- One hint for a trap I hit while measuring: a stale
docker login makes helm dependency build fail with 401 Unauthorized from registry-1.docker.io even though the chart is anonymously pullable (docker logout fixes it).
If you want to make it stick, tests/unit/gitattributes.test.ts is the pattern for a small guard that reads a root file and asserts a whole line is present; one asserting that the Prerequisites section names helm would do. Optional.
Done when a contributor who follows only the Development Setup section has every tool the test suite spawns, and the twelve chart test files pass on a fresh clone. Docs only, no product code.
One thing this issue does not cover, so nobody chases it here: on the same fresh checkout, with helm and the subchart in place, bun run test still reports 183 failures in seven unit files, all of which pass when run in their own process. That is the single-process first phase of the test script, not a missing tool; it is tracked separately, and bun run test:ci, which is what CI runs, is green (14070 tests, 0 failures, measured 2026-09-05). Until that lands, verify with bun run test:ci.
Curated for Hacktoberfest 2026. Comment to claim it before you start so two people do not work on the same issue. A PR must reference this issue and land with its tests in the same change; see CONTRIBUTING.md. Repo rules that apply: write the failing test first, run bun run test (never bare bun test), and the 100% line-coverage gate must stay green.
CONTRIBUTING.md lists two prerequisites, Bun (or Node.js 24+) and Git, and then tells a contributor to run
bun run test. That command needs a third tool the page never names. Twelve files undertests/unit/(helm-chart-*.test.ts,distribution-check.test.ts,generate-channel-showcase.test.ts) render the chart with thehelmbinary. Measured 2026-09-05 on a checkout ofmain:helmabsent fromPATH, 166 tests fail, each witherror: Executable not found in $PATH: "helm".helminstalled but the subchart not vendored,helm templaterefuses:found in Chart.yaml, but missing in charts/ directory: postgresql. The tarball is gitignored (.gitignore,*.tgz), so a fresh clone never has it.helm repo add bitnami https://charts.bitnami.com/bitnamiandhelm dependency build charts/libredb-studio --skip-refresh, the same twelve files pass 337 of 337.The two commands are the ones CI runs (
.github/workflows/ci.yml, the "Lint, Typecheck and Build" and "Unit & Integration Tests" jobs, on Helm 4.1.3). CONTRIBUTING mentionshelm dependency buildonly in the "Helm Chart Changes" section, which a contributor fixing a provider has no reason to open. The first contributor to hit this (PR #569) ran the whole suite, got 355 failures, and had to work out from the error text that none of them were theirs.Fix. Docs only, in
CONTRIBUTING.md:bun run testrunnable.bun run testin "Available Scripts" that the chart tests need it, and what the failure looks like without it, so the 166 errors are recognisable.docker loginmakeshelm dependency buildfail with401 Unauthorizedfromregistry-1.docker.ioeven though the chart is anonymously pullable (docker logoutfixes it).If you want to make it stick,
tests/unit/gitattributes.test.tsis the pattern for a small guard that reads a root file and asserts a whole line is present; one asserting that the Prerequisites section nameshelmwould do. Optional.Done when a contributor who follows only the Development Setup section has every tool the test suite spawns, and the twelve chart test files pass on a fresh clone. Docs only, no product code.
One thing this issue does not cover, so nobody chases it here: on the same fresh checkout, with
helmand the subchart in place,bun run teststill reports 183 failures in seven unit files, all of which pass when run in their own process. That is the single-process first phase of thetestscript, not a missing tool; it is tracked separately, andbun run test:ci, which is what CI runs, is green (14070 tests, 0 failures, measured 2026-09-05). Until that lands, verify withbun run test:ci.Curated for Hacktoberfest 2026. Comment to claim it before you start so two people do not work on the same issue. A PR must reference this issue and land with its tests in the same change; see CONTRIBUTING.md. Repo rules that apply: write the failing test first, run
bun run test(never barebun test), and the 100% line-coverage gate must stay green.