tanishqgandhi1908 opened a new pull request, #8474:
URL: https://github.com/apache/texera/pull/8474

   ### What changes were proposed in this PR?
   
   Helm does not fail on a missing value — it renders an empty string. So a 
typo in a template, or a template added without its values, installs cleanly 
and then misbehaves at runtime with nothing pointing at the cause.
   
   This collects every `.Values.x` the chart templates read — 150 today — and 
fails naming any that `values.yaml` does not define. It reads files only, so it 
needs no helm and no cluster, and runs in about a second.
   
   PASS: all 150 template value references exist in values.yaml
   
   
   Two notes:
   
   - **No workflow change.** The `infra` job already runs every `test_*.sh` 
under `bin/`, and its comment says new suites are picked up automatically. 
`bin/k8s/tests/test_helm_values.sh` matches.
   - **PyYAML is added to `amber/dev-requirements.txt`.** Without it the check 
skips itself and passes silently, which is worse than no check. I looked at 
dropping the dependency, but `values.yaml` has two block scalars 
(`lakefsConfig: |`, `config: |`) whose contents a hand-rolled parser would read 
as keys and pass falsely. It is test-only, and that file states these never 
reach `LICENSE-binary`.
   
   Four `nodePort` values are exempt by name — they are read only inside an `if 
eq .Values....type "NodePort"` guard, so they are legitimately unset unless a 
deployment uses NodePort services.
   
   ### Any related issues, documentation, discussions?
   
   Closes #8473
   
   ### How was this PR tested?
   
   Run on the chart as it stands, and again with a value deliberately renamed 
to confirm it fails rather than just claiming to.
   
   ```
   $ bash bin/k8s/tests/test_helm_values.sh
   PASS: all 150 template value references exist in values.yaml
   exit=0
   ```
   
   with workflowComputingUnitPool.createNamespaces renamed in values.yaml:
   ```
   
   $ bash bin/k8s/tests/test_helm_values.sh
   FAIL: 1 template value(s) missing from values.yaml:
   .Values.workflowComputingUnitPool.createNamespaces
   exit=1
   
   ```
   
   Also confirmed the infra job's discovery picks it up:
   
   
   ```
   $ find bin .github/scripts -type f -name "test_*.sh"
   .github/scripts/test_smoke_boot.sh
   bin/single-node/tests/test_single_node_sh.sh
   bin/local-dev/tests/test_local_dev_sh.sh
   bin/k8s/tests/test_helm_values.sh
   ```
   
   
   ### Was this PR authored or co-authored using generative AI tooling?
   
   Generated-by: Claude Code (Claude Opus 5)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to