Skip to content

fix(e2e): pass the product version to chart-e2e, pin the linter version - #265

Merged
whg517 merged 4 commits into
zncdatadev:mainfrom
whg517:fix/release-baseline-alignment
Aug 20, 2026
Merged

whg517 merged 4 commits into
zncdatadev:mainfrom
whg517:fix/release-baseline-alignment

Conversation

@whg517

@whg517 whg517 commented Aug 20, 2026

Copy link
Copy Markdown
Member

Why

Part of the 0.4.0 release baseline alignment.

chart-e2e ignored the product-version matrix. chainsaw-e2e forwarded
--set product_version, but chart-e2e did not — so the chart-based run always
used the operator default no matter which version the CI matrix selected. The
matrix dimension was real for one job and decorative for the other, which is
worse than having no matrix: the job reports coverage it never had.

golangci-lint was floating. golangci-lint-action was invoked with no
version: input, so CI always installed the newest release. That breaks the
pipeline on an upstream release with no change here, and it diverges from the
v2.12.1 the Makefile already pinned.

The chart CRDs had drifted from config/crd/bases. check-crds-sync only
covers config/, so that copy can drift indefinitely without CI noticing.

publish.yml could only be triggered by a push to main, so its credentials
could not be verified on demand. That is how an expired HELM_CHARTS_REPO_TOKEN
went unnoticed for weeks.

Verification

Gate Result
make lint (v2.12.1) 0 issues
make test all packages pass
check-crds-sync (simulated per the CI logic, clean tree) passes
make helm-crd-sync no drift after the regeneration commit
Workflow YAML syntax valid; workflow_dispatch parses as expected

The --set fix itself is exercised by this PR's own chart-e2e job, which is
the first run where the matrix value actually reaches the CR.

🤖 Generated with Claude Code

whg517 and others added 4 commits August 20, 2026 12:33
golangci-lint-action was invoked without a `version:` input, so CI always
installed the newest release. That makes the pipeline fail on an upstream
release with no change here, and it silently diverges from the v2.12.1 the
Makefile already pinned.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
chainsaw-e2e forwarded --set product_version, but chart-e2e did not, so the
chart-based run always used the operator default no matter what the CI matrix
selected. The product-version dimension was real for one job and decorative for
the other.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
publish.yml could only be triggered by a push to main, so the credentials it
needs could not be verified on demand. An expired HELM_CHARTS_REPO_TOKEN went
unnoticed for weeks because nothing happened to land on main during that
window, and it only surfaced when an unrelated change did.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The chart CRDs were generated by an older controller-gen than config/crd/bases.
Only config/ is covered by the check-crds-sync job, so this copy could drift
indefinitely without CI noticing.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@whg517
whg517 merged commit a9a5852 into zncdatadev:main Aug 20, 2026
8 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