Skip to content

feat(helm-install): add values-file input and clarify values is inline YAML#109

Merged
jdewinne merged 2 commits into
mainfrom
joshd/sc-136400/helm-install-action-values-input-expects
Apr 28, 2026
Merged

feat(helm-install): add values-file input and clarify values is inline YAML#109
jdewinne merged 2 commits into
mainfrom
joshd/sc-136400/helm-install-action-values-input-expects

Conversation

@jdewinne

@jdewinne jdewinne commented Apr 28, 2026

Copy link
Copy Markdown
Contributor

Summary

  • The values input was documented as "A values.yaml file to use" but the action treats it as inline YAML and writes it verbatim to a temp file. Passing a file path produced a confusing helm error: cannot unmarshal string into Go value of type map[string]interface{}.
  • Adds a new values-file input for path-based values, keeps values for inline YAML, validates mutual exclusivity, and fails fast with a clear error if values-file doesn't exist.
  • Clarifies the description of values and marks both inputs required: false so the generated README reflects reality.

Changes

  • helm-install/action.yml: new values-file input; updated values description
  • src/helm-install/index.ts: read values-file, validate mutual exclusivity, error on missing file
  • src/helm-install/index.test.ts: new tests covering all branches
  • Rebuilt helm-install/dist/ and regenerated helm-install/README.md

Test plan

Test run: https://github.com/jdewinne/spooky/actions/runs/25031460872

  • npm test — 22 tests pass (5 new + 17 existing)
  • In a workflow, set values: | with inline YAML — works as before
  • In a workflow, set values-file: ./ci-values.yaml — values file is read by helm
  • Set both values and values-file — action fails fast with mutual-exclusivity error
  • Set values-file to a non-existent path — action fails fast with clear "values-file not found" error

Closes sc-136400

…e YAML

The values input was documented as "A values.yaml file to use" but actually
expected inline YAML, leading to confusing helm unmarshal errors when users
passed a file path. Add a separate values-file input for paths, validate
mutual exclusivity, and fail fast with a clear error if values-file is missing.
The dist bundle is shared across all actions, so a change in any source
file requires regenerating every action's dist. Also apply prettier to the
new index.test.ts so prettier-check passes in CI.
@jdewinne jdewinne merged commit e95a0d8 into main Apr 28, 2026
18 checks passed
@jdewinne jdewinne deleted the joshd/sc-136400/helm-install-action-values-input-expects branch April 28, 2026 19:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants