Skip to content

[TEST] yaml-diff: per-file truncation (>5000 bytes)#138

Closed
weatherhog wants to merge 2 commits into
mainfrom
test/yaml-diff-truncation
Closed

[TEST] yaml-diff: per-file truncation (>5000 bytes)#138
weatherhog wants to merge 2 commits into
mainfrom
test/yaml-diff-truncation

Conversation

@weatherhog

Copy link
Copy Markdown
Contributor

Throwaway test PR for the yaml-diff bot rollout — roadmap#4121. Do not merge; close after verifying.

What this tests

One ConfigMap's data.values is replaced with ~120 lines (~18 KB), so the dyff output for this single file exceeds the 5000-byte per-file cap.

Expected

  • yaml-diff bot comment shows the diff truncated with ... (truncated, file diff exceeded 5000 bytes).

Note: this exercises the per-file cap. The separate total cap (60 KB → "Output truncated to fit GitHub's comment size limit" + link to the run) needs many large files in one PR and isn't covered here.

Replaces data.values with ~120 lines so the dyff output exceeds the
5000-byte per-file cap. Expect the bot to truncate with
"... (truncated, file diff exceeded 5000 bytes)". Throwaway test PR
for roadmap#4121.
Temporary: references github-workflows feat/yaml-diff-color. Throwaway test PR.
@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown

Semantic YAML source diff — key reordering without value changes is ignored.

Output
@@ management-clusters/MC_NAME/organizations/ORG_NAME/workload-clusters/WC_NAME_OUT_OF_BAND_FLUX_APP/out-of-band/configmaps/configmap.yaml @@

/data/values
  ± value change in multiline text (one insert, one deletion)
-     Test ConfigMap.
-     Variable substitution still possible here.
-     I am the ${cluster_name} cluster!
-     I belong to the ${organization} org!
-     Encryption is possible here as well, but I am not encrypted atm.
+     config_key_001: this is a deliberately long value number 001 used to make the dyff output exceed the per-file truncation cap of five thousand bytes
+     config_key_002: this is a deliberately long value number 002 used to make the dyff output exceed the per-file truncation cap of five thousand bytes
+     config_key_003: this is a deliberately long value number 003 used to make the dyff output exceed the per-file truncation cap of five thousand bytes
+     config_key_004: this is a deliberately long value number 004 used to make the dyff output exceed the per-file truncation cap of five thousand bytes
+     config_key_005: this is a deliberately long value number 005 used to make the dyff output exceed the per-file truncation cap of five thousand bytes
+     config_key_006: this is a deliberately long value number 006 used to make the dyff output exceed the per-file truncation cap of five thousand bytes
+     config_key_007: this is a deliberately long value number 007 used to make the dyff output exceed the per-file truncation cap of five thousand bytes
+     config_key_008: this is a deliberately long value number 008 used to make the dyff output exceed the per-file truncation cap of five thousand bytes
+     config_key_009: this is a deliberately long value number 009 used to make the dyff output exceed the per-file truncation cap of five thousand bytes
+     config_key_010: this is a deliberately long value number 010 used to make the dyff output exceed the per-file truncation cap of five thousand bytes
+     config_key_011: this is a deliberately long value number 011 used to make the dyff output exceed the per-file truncation cap of five thousand bytes
+     config_key_012: this is a deliberately long value number 012 used to make the dyff output exceed the per-file truncation cap of five thousand bytes
+     config_key_013: this is a deliberately long value number 013 used to make the dyff output exceed the per-file truncation cap of five thousand bytes
+     config_key_014: this is a deliberately long value number 014 used to make the dyff output exceed the per-file truncation cap of five thousand bytes
+     config_key_015: this is a deliberately long value number 015 used to make the dyff output exceed the per-file truncation cap of five thousand bytes
+     config_key_016: this is a deliberately long value number 016 used to make the dyff output exceed the per-file truncation cap of five thousand bytes
+     config_key_017: this is a deliberately long value number 017 used to make the dyff output exceed the per-file truncation cap of five thousand bytes
+     config_key_018: this is a deliberately long value number 018 used to make the dyff output exceed the per-file truncation cap of five thousand bytes
+     config_key_019: this is a deliberately long value number 019 used to make the dyff output exceed the per-file truncation cap of five thousand bytes
+     config_key_020: this is a deliberately long value number 020 used to make the dyff output exceed the per-file truncation cap of five thousand bytes
+     config_key_021: this is a deliberately long value number 021 used to make the dyff output exceed the per-file truncation cap of five thousand bytes
+     config_key_022: this is a deliberately long value number 022 used to make the dyff output exceed the per-file truncation cap of five thousand bytes
+     config_key_023: this is a deliberately long value number 023 used to make the dyff output exceed the per-file truncation cap of five thousand bytes
+     config_key_024: this is a deliberately long value number 024 used to make the dyff output exceed the per-file truncation cap of five thousand bytes
+     config_key_025: this is a deliberately long value number 025 used to make the dyff output exceed the per-file truncation cap of five thousand bytes
+     config_key_026: this is a deliberately long value number 026 used to make the dyff output exceed the per-file truncation cap of five thousand bytes
+     config_key_027: this is a deliberately long value number 027 used to make the dyff output exceed the per-file truncation cap of five thousand bytes
+     config_key_028: this is a deliberately long value number 028 used to make the dyff output exceed the per-file truncation cap of five thousand bytes
+     config_key_029: this is a deliberately long value number 029 used to make the dyff output exceed the per-file truncation cap of five thousand bytes
+     config_key_030: this is a deliberately long value number 030 used to make the dyff 
... (truncated, file diff exceeded 5000 bytes)

Suppress with /no_diffs_printing on its own line in the PR body or as a comment.

@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown
Validation output log
yamllint: OK
kubeconform: OK

yamllint: OK
kubeconform: OK

yamllint: OK
kubeconform: OK

yamllint: OK
kubeconform: OK

yamllint: OK
kubeconform: OK

yamllint: OK
kubeconform: OK

yamllint: OK
kubeconform: OK

yamllint: OK
kubeconform: OK

yamllint: OK
kubeconform: OK


@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown
Rendered manifest diff output log

No diff detected

@weatherhog

Copy link
Copy Markdown
Contributor Author

Closing — throwaway Phase-1 verification PR for roadmap#4121. All the work it exercised is merged: the yaml-diff bot, the SOPS-exclusion fix (giantswarm/github-workflows#231), colour output (#232), and the CI extraction (#233 + #139). Key-ordering removal is in #140.

@weatherhog weatherhog closed this Jul 2, 2026
@weatherhog weatherhog deleted the test/yaml-diff-truncation branch July 2, 2026 11:21
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