![]() The `diff` binary (required by the `kubectl diff` e2e test) gets statically or dynamically linked based on the used glibc version. We cannot really predict that behavior for the various platforms of debian-base and therefore cannot copy the binary around. This means that distroless is not a great choice for the conformance image unless we stop relying on `diff`. This means we now switch back to `debian-base` for the conformance image to simplify the build process and reduce the amount of moving parts. Signed-off-by: Sascha Grunert <sgrunert@redhat.com> |
||
---|---|---|
.. | ||
go-runner | ||
conformance-e2e.sh | ||
conformance-e2e.yaml | ||
Dockerfile | ||
Makefile | ||
OWNERS | ||
README.md | ||
run_e2e.sh |
conformance
conformance
is a standalone container to launch Kubernetes end-to-end tests, for the purposes of conformance testing.
conformance
is built for multiple architectures and the image is pushed automatically on every release.
How to release by hand
# First, build the binaries by running make from the root directory
$ make WHAT="test/e2e/e2e.test github.com/onsi/ginkgo/v2/ginkgo cmd/kubectl test/conformance/image/go-runner"
# Build for linux/amd64 (default)
# export REGISTRY=$HOST/$ORG to switch from registry.k8s.io
$ make push VERSION={target_version} ARCH=amd64
# ---> registry.k8s.io/conformance-amd64:VERSION
# ---> registry.k8s.io/conformance:VERSION (image with backwards-compatible naming)
$ make push VERSION={target_version} ARCH=arm
# ---> registry.k8s.io/conformance-arm:VERSION
$ make push VERSION={target_version} ARCH=arm64
# ---> registry.k8s.io/conformance-arm64:VERSION
$ make push VERSION={target_version} ARCH=ppc64le
# ---> registry.k8s.io/conformance-ppc64le:VERSION
$ make push VERSION={target_version} ARCH=s390x
# ---> registry.k8s.io/conformance-s390x:VERSION
If you don't want to push the images, run make
or make build
instead
How to run tests
kubectl create -f conformance-e2e.yaml