probe: force IPv4 for the Helm download, then measure what was actually asked
Validate Helm Charts / Detect changed charts (pull_request) Successful in 3s
Validate Helm Charts / Resource quantities (pull_request) Successful in 7s
Validate Helm Charts / Build ${{ fromJSON(needs.detect-changed-charts.outputs.charts) }} (pull_request) Successful in 4s
Validate Helm Charts / Trivy config ${{ fromJSON(needs.detect-changed-charts.outputs.scan-charts) }} (pull_request) Successful in 14s
Validate Helm Charts / Install-test ${{ fromJSON(needs.detect-changed-charts.outputs.install-charts) }} (pull_request) Failing after 2m36s

Confirms the diagnosis and unblocks the measurement in one step. Not a
proposed fix - PR #253 is untouched. freesailarr is back in the matrix so
questions 1-3 can be answered: does k3s come up, how long does it take,
and does the hardest chart in the repo run with a real tunnel.
This commit is contained in:
jklein committed 2026-09-16 16:43:34 +02:00
1 parent ce2e8c930a
commit f8f524b94f
1 file changed
+14 -4
+14 -4
View File
@@ -309,10 +309,20 @@ jobs:
docker info 2>&1 | grep -iE "rootless|WARNING" || echo "(no rootless/WARNING lines)" docker info 2>&1 | grep -iE "rootless|WARNING" || echo "(no rootless/WARNING lines)"
echo "### done - this step never fails on purpose" echo "### done - this step never fails on purpose"
exit 0 exit 0
- name: "Install Helm" # PROBE ONLY - this is NOT a proposed fix and is not in PR #253.
uses: azure/setup-helm@v5 # azure/setup-helm downloads from get.helm.sh, which in this cluster
with: # resolves to an IPv6 Azure Front Door address (2603:1061:14:67::1) that
version: v3.18.4 # never completes a TCP connect. curl -4 forces IPv4; if this succeeds it
# both unblocks the measurement and proves the diagnosis, because every
# other host in the probe resolved to IPv4 and answered in under a second.
- name: "Install Helm (PROBE: forced IPv4)"
run: |
curl -4 -sSfL -o /tmp/helm.tgz https://get.helm.sh/helm-v4.3.0-linux-amd64.tar.gz
tar -xzf /tmp/helm.tgz -C /tmp
mkdir -p "$HOME/.local/bin"
mv /tmp/linux-amd64/helm "$HOME/.local/bin/helm"
echo "$HOME/.local/bin" >> "$GITHUB_PATH"
"$HOME/.local/bin/helm" version
# freesailarr is the one chart whose install-test needs credentials: # freesailarr is the one chart whose install-test needs credentials:
# without a real Wireguard key gluetun never completes a handshake, and # without a real Wireguard key gluetun never completes a handshake, and
# behind its kill switch not a single app container becomes Ready. The key # behind its kill switch not a single app container becomes Ready. The key