fix(ci): use runs-on volume=100gb label (hdd= was silently ignored)

Merged
WE
5mo ago
+2-3

Description

The hdd=256 label used by pr-craft-k8s-tests.yml and pr-helm-chart-testing.yml is not a valid runs-on label and has been silently ignored. runs-on v2.9+ uses volume=Ngb (docs). Both workflows were booting runners with the AMI's default ~38 GB root partition instead of the intended 256 GB.

Evidence: every recent run prints InstanceDisk1 /=/dev/nvme0n1p1 Free=21.38GiB Used=16.30GiB in the runs-on banner, identical across both workflows.

This is the root cause of the consistent Craft Kubernetes Sandbox Tests failures on main. The kubelet log on a failing kind node shows ENOSPC during sandbox-image extraction:

ErrImagePull: ... write /var/lib/containerd/.../sklearn/cluster/_k_means_common.cpython-311-x86_64-linux-gnu.so:
  no space left on device

Changes:

  • .github/workflows/pr-craft-k8s-tests.yml — hdd=256 → volume=100gb. The original hdd=256 intent was a guess; 256 GiB is very likely overkill.
  • .github/workflows/pr-helm-chart-testing.yml — disk label removed entirely. The hdd=256 here has been a no-op since runs-on v2.9, meaning this workflow has been running successfully on the default ~38 GB partition for ~a year. No reason to grow it now.
  • .github/actionlint.yml — drop unused hdd=256 allowlist entry; add volume=100gb.

How Has This Been Tested?

  • Verified via runs-on v2 docs that volume=Ngb is the documented label since v2.9 and hdd= is not.
  • actionlint (pre-commit) passes with the new allowlist entry.
  • CI on this PR will exercise both workflows on the new label.

Additional Options

  • [Optional] Please cherry-pick this PR to the latest release version.
  • [Optional] Override Linear Check

šŸ¤– Generated with Claude Code