Skip to content

CONTRIBUTING prerequisites omit Helm, which 166 tests in bun run test need #570

Description

@cevheri

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:

  1. 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.
  2. 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.
  3. 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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

documentationImprovements or additions to documentationgood first issueGood for newcomershacktoberfestCurated for Hacktoberfest; pick up cold, tests required

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions