This started to show up now as linter hints at the start of the 1.34 cycle in
all PRs which modify the API. We don't want to enforce that convention in that
generated code, so suppressing it.
If the command failed in the <( ... ) expression, the return code was ignored
and the script continued with potentially no output. Not likely, but it's still
better to invoke the command where pipefail will catch a non-zero exit
code. For example, broken test registration could cause this.
There should be no log output, but if there is, failing explicitly is better
than ignoring it (on stderr) or treating it like an image (on stdout). Found
when experimenting with the logging configuration of e2e.test, currently there
is no such unwanted log output.
Before:
Diffing e2e image list ...
--- /dev/fd/63 2025-06-24 09:32:43.736397729 +0200
+++ /dev/fd/62 2025-06-24 09:32:43.736397729 +0200
@@ -5,7 +5,7 @@ invalid.registry.k8s.io/invalid/alpine
registry.k8s.io/build-image/distroless-iptables
registry.k8s.io/cloud-provider-gcp/gcp-compute-persistent-disk-csi-driver
registry.k8s.io/e2e-test-images/agnhost
-registry.k8s.io/e2e-test-images/apparmor-loader
+registry.k8s.io/e2e-test-images/apparmor-no-such-image
registry.k8s.io/e2e-test-images/busybox
registry.k8s.io/e2e-test-images/httpd
registry.k8s.io/e2e-test-images/ipc-utils
FAIL: e2e images do not match the approved list!
For this test, apparmor-loader was commented out in .permitted-images (making
it a forbidden unknown image) and apparmor-no-such-image was added (making it
an obsolete image).
Problems with the output:
- The position of old and new image lists was reversed.
- It's not clear what is being diffed. Not referencing .permitted-images
directly probably was meant to discourage using some image other than
agnhost, but developers can easily find the file anyway and are shown
some other images in the diff context.
After:
Diffing e2e image list ...
obsolete image: registry.k8s.io/e2e-test-images/apparmor-no-such-image
forbidden image: registry.k8s.io/e2e-test-images/apparmor-loader
FAIL: current e2e images do not match the approved list in test/images/.permitted-images!
This mentions test/images/.permitted-images because developers might have to
edit it if some image really becomes obsolete.
This comes up periodically; bumping to v5 introduces issues with
replace operations in JSON patches. k/k relies on non-RFC-compliant
operations which v5 no longer allows.
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Run "gimme master" and use the newly built binaries. Adjust
GOROOT_BOOTSTRAP so we can use the golang that is already
on disk to build the new commit from golang.
To enable this, edit `.go-version` and set the version to
```
devel
```
and then run `make quick-release` (for example)
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
kubeadm has replaced pkg/errors with an internal implementation, which
means that pkg/errors can be marked as unwanted (once a final
straggler is replaced).
Signed-off-by: Stephen Kitt <skitt@redhat.com>
This fixes the following issue in ci-benchmark-scheduler-perf-master:
malformed import path " ": invalid char ' '
FAIL [setup failed]
Setting the non-empty string with just a space was broken, the right way to
disable the race detector is with an empty KUBE_RACE variable. This worked
before when test-integration.sh unconditionally overwrote the KUBE_RACE
variable and stopped working when 6cb1488 started to keep whatever was
set by the caller.
This then caused an empty string to be passed as additional parameter to "go
test".
Now that all other uses have been removed, this configures depguard to
ensure that new ones aren't added outside kubeadm.
Signed-off-by: Stephen Kitt <skitt@redhat.com>
The package is unmaintained, and kubectl doesn't rely on the
functionality it provides on top of Golang errors (stack traces).
Signed-off-by: Stephen Kitt <skitt@redhat.com>