Skip to content

Comments

build(task,helm:gen): make dep tgz reproducible#973

Merged
arpad-csepi merged 2 commits intoagntcy:fix/coverage-e2efrom
pregnor:ci/fix-envoy-authz-tgz
Feb 20, 2026
Merged

build(task,helm:gen): make dep tgz reproducible#973
arpad-csepi merged 2 commits intoagntcy:fix/coverage-e2efrom
pregnor:ci/fix-envoy-authz-tgz

Conversation

@pregnor
Copy link

@pregnor pregnor commented Feb 20, 2026

Scope: development
Complexity: low

What & Why:

  1. Fixed the task helm:gen to make reproducible tar and gzip headers for the generated dependency chart packages (tgz).
  2. Updated the envoy-authz.tgz to have the zeroed out headers by regenerating it with task gen.

@pregnor pregnor requested a review from a team as a code owner February 20, 2026 19:02
@github-actions github-actions bot added the size/XS Denotes a PR that changes 0-49 lines label Feb 20, 2026
**Problem:** `helm dependency update` packages chart source files with their filesystem modification times. Since git does not preserve file timestamps, every checkout gets different mtimes, producing different tar bytes and thus different `.tgz` files -- even when the file contents are identical.

**Fix (two layers of normalization in `helm:gen`):**
1. **Pre-packaging:** `find ... -exec env TZ=UTC touch -t 200001010000.00 {} +` normalizes all chart source file timestamps to a fixed UTC date before Helm packages them.
2. **Post-packaging:** `dd` patches the gzip header MTIME (bytes 4-7) and OS byte (byte 9) to fixed values, eliminating gzip envelope differences.

Signed-off-by: Patrik Egyed <pregnor@cisco.com>
Signed-off-by: Patrik Egyed <pregnor@cisco.com>
@pregnor pregnor force-pushed the ci/fix-envoy-authz-tgz branch from 913fc2e to 44e6f9b Compare February 20, 2026 19:04
@arpad-csepi arpad-csepi merged commit 202de61 into agntcy:fix/coverage-e2e Feb 20, 2026
26 of 28 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/XS Denotes a PR that changes 0-49 lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants