Skip to content

Run helm_deployment post_renderers on deploy (2.33.0+cipherowl.8) - #5

Merged
aegis-cipherowl merged 1 commit into
cipherowl/2.33.xfrom
henry-yang/INF-2315/helm-post-renderers
Nov 13, 2026
Merged

aegis-cipherowl merged 1 commit into
cipherowl/2.33.xfrom
henry-yang/INF-2315/helm-post-renderers

Conversation

@aegis-cipherowl

Copy link
Copy Markdown
Owner

INF-2315

Problem

helm_deployment(post_renderers=[...]) never runs on deploy. prepare_post_renderer_for_helm_deployment built SetupHelmPostRenderer without extra_post_renderers, so only the built-in image-ref post-renderer ran, and the chaining code in subsystems/post_renderer.py was never reached.

Change

  • Pass field_set.post_renderers.to_unparsed_address_inputs() as extra_post_renderers when the field is set.
  • New rule test test_deployment_post_renderers_are_chained_after_builtin. Its chained script rewrites app:latest, which is the ref the built-in renderer writes, to app:chained. So the test passes only if both renderers run, in that order. Without the fix it fails, and the output still shows app:latest.
  • Fixed the fixture in test_use_simple_extra_post_renderer. That test only passed because its renderer never ran. Its run_shell_command used a build-root-relative command with the default workdir (the BUILD dir). Once wired up, it failed with No such file or directory. It now sets workdir="/".
  • VERSION → 2.33.0+cipherowl.8.

Testing

  • pants test src/python/pants/backend/helm::: all 26 targets pass. Five targets hit the 60s default timeout under local parallel load and pass when rerun alone with a longer timeout.
  • pants fmt lint check on the touched files: clean.

Note for consumers

run_shell_command post-renderers run with workdir defaulting to the BUILD file's directory. So a renderer whose command is a build-root-relative path needs workdir="/".

🤖 Generated with Claude Code

prepare_post_renderer_for_helm_deployment never passed the deployment's
post_renderers to SetupHelmPostRenderer, so only the built-in image-ref
post-renderer ran and the field was silently ignored.

Pass the field through as extra_post_renderers when it is set, and add a
rule test whose chained renderer rewrites the ref the built-in renderer
produced, so it only passes when both run, in order.

The existing test_use_simple_extra_post_renderer only passed because its
renderer never ran: its run_shell_command used a build-root-relative
command with the default workdir (the BUILD dir). Set workdir="/" there.

Stamp the version as 2.33.0+cipherowl.8.

INF-2315

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@aegis-cipherowl
aegis-cipherowl merged commit 172ff94 into cipherowl/2.33.x Nov 13, 2026
23 of 25 checks passed
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.

1 participant