Problem
GPU CI tests (inference, conformance, training) only trigger on a narrow set of path patterns. Recent PRs that affected GPU test behavior were not covered:
Current trigger paths in GPU workflows (e.g., gpu-h100-inference-test.yaml):
paths:
- '.github/workflows/gpu-h100-inference-test.yaml'
- '.github/actions/gpu-cluster-setup/**'
- '.github/actions/gpu-operator-install/**'
- '.github/actions/aicr-build/**'
- 'validators/*/Dockerfile'
- 'pkg/evidence/**'
- 'pkg/validator/checks/conformance/**'
- 'pkg/validator/checks/deployment/**'
- '.github/actions/gpu-test-cleanup/**'
- '.github/actions/load-versions/**'
- 'tests/manifests/**'
- 'tests/chainsaw/ai-conformance/**'
- 'recipes/overlays/kind*.yaml' # (varies per workflow)
- 'kwok/manifests/karpenter/**'
- 'kwok/scripts/install-karpenter-kwok.sh'
Missing paths that affect GPU test behavior:
| Path |
Why it matters |
PR that broke it |
pkg/collector/** |
GPU collector changes affect snapshot output |
#502 |
pkg/snapshotter/** |
Snapshot orchestration changes affect GPU detection |
#502 |
.github/actions/gpu-snapshot-validate/** |
Snapshot validation logic |
#502 |
pkg/validator/job/** |
Job deployer changes affect how validators run |
#444 |
pkg/defaults/timeouts.go |
Timeout changes affect validator behavior |
— |
pkg/validator/catalog/** |
Catalog changes affect which validators run |
— |
validators/conformance/** |
Conformance validator source code |
— |
Proposal
1. Expand path triggers (catches known gaps)
Add the missing paths to all GPU test workflows:
paths:
# Existing triggers...
# Collector/snapshotter — affects GPU detection and snapshot content
- 'pkg/collector/**'
- 'pkg/snapshotter/**'
- '.github/actions/gpu-snapshot-validate/**'
# Validator infrastructure — affects how validator Jobs are deployed and run
- 'pkg/validator/job/**'
- 'pkg/validator/catalog/**'
- 'pkg/defaults/timeouts.go'
# Conformance validator source — the actual conformance checks
- 'validators/conformance/**'
2. Add label-based trigger (safety net for unforeseen cases)
Add a run-gpu-tests label trigger to all GPU workflows:
on:
pull_request:
types: [labeled]
With a workflow condition:
if: >
github.event_name \!= 'pull_request' ||
github.event.action \!= 'labeled' ||
github.event.label.name == 'run-gpu-tests'
This allows reviewers to manually trigger GPU tests on any PR by adding the run-gpu-tests label — catching cases where the path list is incomplete.
Affected workflows
.github/workflows/gpu-h100-inference-test.yaml
.github/workflows/gpu-h100-conformance-test.yaml
.github/workflows/gpu-h100-training-test.yaml
.github/workflows/gpu-t4-smoke-test.yaml
Impact
With these changes:
Problem
GPU CI tests (inference, conformance, training) only trigger on a narrow set of path patterns. Recent PRs that affected GPU test behavior were not covered:
pkg/collector/gpu/andpkg/snapshotter/— broke GPU model detection in snapshot validation, but GPU tests didn't run on the PRpkg/validator/job/deployer.go— brokeimagePullPolicyfor local images, causing 100% GPU test failure for a week, but the regression wasn't caught because the PR only triggered GPU tests viakind-inference.yamlpath match (coincidental)Current trigger paths in GPU workflows (e.g.,
gpu-h100-inference-test.yaml):Missing paths that affect GPU test behavior:
pkg/collector/**pkg/snapshotter/**.github/actions/gpu-snapshot-validate/**pkg/validator/job/**pkg/defaults/timeouts.gopkg/validator/catalog/**validators/conformance/**Proposal
1. Expand path triggers (catches known gaps)
Add the missing paths to all GPU test workflows:
2. Add label-based trigger (safety net for unforeseen cases)
Add a
run-gpu-testslabel trigger to all GPU workflows:With a workflow condition:
This allows reviewers to manually trigger GPU tests on any PR by adding the
run-gpu-testslabel — catching cases where the path list is incomplete.Affected workflows
.github/workflows/gpu-h100-inference-test.yaml.github/workflows/gpu-h100-conformance-test.yaml.github/workflows/gpu-h100-training-test.yaml.github/workflows/gpu-t4-smoke-test.yamlImpact
With these changes:
pkg/collector/**)pkg/validator/job/**)run-gpu-testslabel