Background
The nvca row in .github/workflows/bazel.yml is build-only (tests_skip: true). The inline comment attributes this to TestReconcile_ModelCache (pkg/storage) failing "under envtest >= 1.30" because the test faked a JobSuccessCriteriaMet condition on a NonIndexed Job with no SuccessPolicy, which the apiserver rejects.
Findings
- The failure is specific to k8s 1.30-1.33. On k8s 1.34+ the apiserver relaxed that restriction and instead requires
SuccessCriteriaMet before Complete (and rejects CompletionTime without Complete).
- nvca now pins envtest 1.34 (
scripts/setup_envtest, K8S_MAJ_MIN_VERSION=1.34) and vendors k8s.io/api v0.35.4.
- The reconciler detects completion via
CompletionTime + Succeeded, not the Job conditions.
- A version-adaptive test fix makes
pkg/storage pass on both 1.30.3 and 1.34.1 (linked PR).
Ask
Once the test fix lands, enable test execution for the nvca row:
- Provision envtest assets (
KUBEBUILDER_ASSETS) in the matrix job for subtrees that need them. nvca resolves them via scripts/setup_envtest / tools/ci/setup-subtree-envtest. Alternatively scope the run so requires-kubebuilder/external-tagged tests are filtered and the non-envtest unit tests still run.
- Remove
tests_skip: true and the stale ">= 1.30" comment from the nvca matrix row.
- Confirm
bazel test //... passes for nvca on GHA.
Note: the envtest tests are tagged requires-kubebuilder/external; GHA must provide the kube-apiserver + etcd binaries or filter those tests, otherwise they fail on missing KUBEBUILDER_ASSETS.
Background
The
nvcarow in.github/workflows/bazel.ymlis build-only (tests_skip: true). The inline comment attributes this toTestReconcile_ModelCache(pkg/storage) failing "under envtest >= 1.30" because the test faked aJobSuccessCriteriaMetcondition on a NonIndexed Job with no SuccessPolicy, which the apiserver rejects.Findings
SuccessCriteriaMetbeforeComplete(and rejectsCompletionTimewithoutComplete).scripts/setup_envtest,K8S_MAJ_MIN_VERSION=1.34) and vendorsk8s.io/api v0.35.4.CompletionTime+Succeeded, not the Job conditions.pkg/storagepass on both 1.30.3 and 1.34.1 (linked PR).Ask
Once the test fix lands, enable test execution for the
nvcarow:KUBEBUILDER_ASSETS) in the matrix job for subtrees that need them. nvca resolves them viascripts/setup_envtest/tools/ci/setup-subtree-envtest. Alternatively scope the run sorequires-kubebuilder/external-tagged tests are filtered and the non-envtest unit tests still run.tests_skip: trueand the stale ">= 1.30" comment from thenvcamatrix row.bazel test //...passes for nvca on GHA.Note: the envtest tests are tagged
requires-kubebuilder/external; GHA must provide the kube-apiserver + etcd binaries or filter those tests, otherwise they fail on missingKUBEBUILDER_ASSETS.