ci: migrate Flux diagnostics to the shared diagnose-flux composite#46
Merged
Merged
Conversation
Replace the three copy-pasted '🩺 Diagnose Flux on failure' blocks (ci.yaml system-test + deploy-prod, cd.yaml deploy-prod) with the shared devantler-tech/actions/diagnose-flux@v7.1.0 composite extracted in devantler-tech/actions#368. The two prod-deploy paths previously carried a reduced variant (no nodes/all-pods/failing-pod/Jobs dump, shorter --tail) and now inherit the richest diagnostics, so the paths can never drift again. The HCLOUD_TOKEN env on the prod diagnose steps was vestigial — kubectl uses the Talos cert-based admin@prod kubeconfig. Part of devantler-tech/actions#367. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.
What
Replace the three copy-pasted
🩺 Diagnose Flux on failureblocks with the shareddevantler-tech/actions/diagnose-flux@v7.1.0composite (extracted in actions #368, released asv7.1.0):.github/workflows/ci.yamlsystem-testuses:.github/workflows/ci.yamldeploy-produses:.github/workflows/cd.yamldeploy-produses:Net −124 lines.
Why
The diagnostics step was duplicated and had already drifted: the two prod-deploy copies lacked the
Nodes/All pods/ failing-&-CrashLooping-pod-log / failing-Jobsdumps and used shorter--tailvalues — so the prod-deploy failure paths emitted strictly worse diagnostics than the system-test path, exactly when good diagnostics matter most. The composite is byte-identical to the (richest) system-test variant, parameterised only by akustomizationsinput whose default (infrastructure-controllers infrastructure apps) matches all three previous inline lists. So:if:conditions (steps.reconcile.outcome/.conclusion) are preserved verbatim.The
env: HCLOUD_TOKENpreviously set on the two prod diagnose steps was vestigial —ksail.prod.yamlis a Talos distribution (context: admin@prod, client-cert kubeconfig), so thekubectl/jq-only diagnostics need no Hetzner token. (HCLOUD_TOKENis still used by the real reconcile/deploy steps.)Validation
actionlint .github/workflows/ci.yaml .github/workflows/cd.yaml→ clean (exit 0).v7.1.0(e182f22…, ruleset-compliant), verified to containdiagnose-flux/action.yaml.failure(), so PR CI (green path) does not exercise them; correctness rests on the composite being a verified superset of the proven inline blocks.Part of actions #367. The 4th callsite (
devantler-tech/platformdeploy-prodaction) is intentionally left for a separate change (maintainer-hot live-prod repo).