fix(release): kcl-Modul auf v0.114.0, sonst zerfaellt jeder mehrzeilige Profilwert - #164
Merged
Merged
Conversation
…ge Profilwert
Beide Release-Workflows publizieren die kustomize-Base ueber
dagger/kcl@v0.82.1. In dieser Version lief der --parameters-file-Pfad
ueber `jq gsub("\n"; "\\n")` in eine -D-Liste: echte Zeilenumbrueche
wurden zum Literal \n, KCL emittierte daraufhin einen gequoteten
Multiline-Skalar, und YAML faltet den beim Lesen zu einer einzigen
Zeile. Eingerueckter Inhalt ist danach Muell.
Live gesehen an homerun2-git-pitcher v1.0.0: die ausgelieferte
ConfigMap enthaelt
github: token: env:GITHUB_TOKEN repos: - owner: stuttgart-things ...
und der Pod stirbt mit "yaml: mapping values are not allowed in this
context". homerun2-k8s-pitcher v1.0.0 ist identisch betroffen
(config.profileYaml). Das sind die einzigen beiden Repos, deren
kcl-deploy-profile.yaml einen mehrzeiligen Wert traegt -- und zufaellig
genau die beiden Komponenten, die nirgends liefen.
dagger/kcl v0.114.0 baut den Parameters-File in eine echte
KCL-Settings-Datei um und haelt Block-Skalare durch. Nachgemessen: mit
v0.114.0 rendert dieselbe Quelle `watch-profile.yaml: |` mit intakter
Einrueckung, sonst byte-gleich.
call-push-kustomize.yaml faehrt v0.114.0 laengst produktiv; die beiden
Release-Pfade waren die Nachzuegler.
call-kcl-validate.yaml bleibt bewusst auf v0.82.1: das Ding
veroeffentlicht nichts, und ein Modulsprung dort wirkt auf jeden PR in
jedem Repo. Separat und bewusst zu entscheiden.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019CgKbaC85iWMgfZzpF4SGX
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Der Fehler
Beide Release-Workflows publizieren die kustomize-Base über
dagger/kcl@v0.82.1. In dieser Version lief der--parameters-file-Pfad überin eine
-D-Liste: echte Zeilenumbrüche wurden zum Literal\n, KCL emittierte daraufhin einen gequoteten Multiline-Skalar statt eines Block-Literals — und YAML faltet gequotete Skalare beim Lesen zu einer einzigen Zeile. Eingerückter Inhalt ist danach unbrauchbar.Der Kommentar an
kcl/run.go:159im dagger-Repo beschreibt genau das; behoben ist es seit v0.114.0 (18.05.2026).Live gesehen
homerun2-git-pitcher:v1.0.0liefert diese ConfigMap aus:Der Pod stirbt beim Start:
homerun2-k8s-pitcher:v1.0.0ist identisch betroffen (profile.yaml: 'apiVersion: ...).Reichweite: genau zwei Repos
Ausgelöst wird es nur von einem mehrzeiligen Wert in
tests/kcl-deploy-profile.yaml. Von den acht Repos, die übercall-go-release.yamlreleasen:config.watchConfigYamlconfig.profileYamlUnd das sind genau die beiden Komponenten, die auf keinem Cluster liefen — der Bug hat sich hinter „noch nicht deployed" versteckt.
Nachgemessen
Derselbe Source-Stand (
homerun2-git-pitcher@496adf1), dasselbe Profil, einmal mit v0.114.0 gerendert:Einrückung intakt. Dateiliste identisch zum v1.0.0-Artefakt — acht Ressourcen plus
kustomization.yaml, keine zusätzliche und keine fehlende.Warum v0.114.0 und nicht v0.128.5
call-push-kustomize.yamlin diesem Repo fährt v0.114.0 längst produktiv über den PR-Preview-Pfad. Das ist die kleinste Version mit dem Fix und die einzige, für die es hier bereits Betriebserfahrung gibt. Ein Sprung auf die aktuelle v0.128.5 würde 14 Minor-Versionen ungeprüft mitnehmen.Bewusst nicht angefasst
call-kcl-validate.yamlbleibt auf v0.82.1. Es veröffentlicht nichts, und ein Modulsprung dort wirkt auf jeden PR in jedem Repo, das die Validierung nutzt. Das gehört separat entschieden — auch wenn man argumentieren kann, dass eine Validierung, die anders rendert als das Release, genau der Grund ist, warum dieser Bug durchkam.Danach
homerun2-git-pitcherundhomerun2-k8s-pitcherbrauchen je ein neues Release, damit ein korrigiertes Artefakt entsteht. Die bestehendenv1.0.0-Artefakte bleiben kaputt.🤖 Generated with Claude Code
https://claude.ai/code/session_019CgKbaC85iWMgfZzpF4SGX