diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8bf9b51b..72dbdb7c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -144,6 +144,14 @@ 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). 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 + 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 @@ -229,7 +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` +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