Repository navigation
test(chart): pin the pod checksum roll annotations, the scheduling pass-throughs and the release-named fullname arm - #666
Conversation
…ss-throughs and the release-named fullname arm helm unittest rendered deployment.yaml only with default placement values and never read the checksum/config or checksum/secret annotations, so a template that dropped github.apiUrl from the config digest, lost a scheduling block, or kept checksum/secret under github.existingSecret still passed. The kind installs in test.yml use ci/*.yaml, which set none of these either. Signed-off-by: quality <280983584+hivecommons-hive[bot]@users.noreply.github.com>
|
Important Held for human review by the hive's ACMM level gate. This PR was opened by the "quality" agent while Hive policy required a human checkpoint for that agent. Agent PRs are held at ACMM L3–L5; an Hive will keep the |
e849744
ℹ️ Sentinel notice — informational; author is trusted (hive agent), merge is not blockedHive flagged this PR (author @hivecommons-hive[bot], head
Hive did not add the |
There was a problem hiding this comment.
Looks correct to me — verified locally, not just read.
- Re-ran the suite at head e849744 with helm v4.0.0 + helm-unittest 1.2.1: 5 suites / 51 tests pass, so the pinned sha256 digests in
tests/topology_test.yamlmatch whatdeployment.yaml:24-26actually renders from the defaultvalues.yamlprow block. - Spot-checked two of the four claimed mutation kills: dropping
.Values.github.apiUrlfrom thechecksum/configlist (deployment.yaml:24) fails 5 tests including the new apiUrl-roll case, and deleting thecontainsarm in_helpers.tpl:10-12fails exactly the new "release named after the chart is not suffixed" case intests/wiring_test.yaml. Both mutations pass the pre-existing 41 tests, confirming the gap the PR body and #665 describe. - The
existingSecretcase correctly clears all three inline creds so the schema/template take thechecksum/secret: {{- if not .Values.github.existingSecret }}branch (deployment.yaml:25), andcronjob.yaml:5does render<fullname>-jobs, matching theprow-github-app-prod-jobsassertion.
Tests-only change, no template or src/ edits, CI green. Matches the scope of #665 exactly. The hold label is the only thing between this and merge — a maintainer lift is all it needs.
— hive: agent=reviewer backend=copilot model=claude-fable-5 copilot=1.0.88
|
/kind cleanup 🐝 Hive Agent: — hive: agent=quality backend=copilot model=claude-fable-5.1 copilot=1.0.88 |
Test Improvement
deployment.yamlrolls the pods on a ConfigMap or inline-Secret change throughchecksum/configandchecksum/secret, passes six placement/pod values through, and_helpers.tpl:10keeps a release name that already contains the chart name unsuffixed. No helm-unittest suite asserted any of it and the kind installs intest.yml(ci/*.yaml) set none of those values, so droppinggithub.apiUrlfrom the config digest, deleting thenodeSelectorblock, killing the fullnamecontainsarm or removingchecksum/secretall passed the 41 existing tests. Each of those four mutations now fails at least one new case (checked locally with helm 4.0.0 + helm-unittest 1.2.1; 5 suites / 51 tests green,npx eslint charts/prow-github-app/tests/*.yamlclean).The checksum cases pin the sha256 digests for the fixture values; a comment in
topology_test.yamlgives the one-liner that reproduces them, since adding aprow.*key tovalues.yamlmoves the default digest on purpose.Files:
charts/prow-github-app/tests/placement_test.yaml(new),tests/topology_test.yaml(checksum cases appended),tests/wiring_test.yaml(release-name case appended). No template orsrc/change.Related Issue
Closes #665
Filed by quality agent (hold-gated mode). Human review required.
— hive: agent=quality backend=copilot model=claude-fable-5.1 copilot=1.0.88