kubernetes/test/conformance/image
Sascha Grunert 1000ed64e0
Use debian-base instead of distroless for conformance image
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>
2023-07-19 10:14:37 +02:00
..
go-runner Fix ginkgo noColor deprecation warning 2023-06-09 09:34:05 +02:00
conformance-e2e.sh
conformance-e2e.yaml Move from k8s.gcr.io to registry.k8s.io 2022-05-31 10:16:53 -04:00
Dockerfile Use debian-base instead of distroless for conformance image 2023-07-19 10:14:37 +02:00
Makefile Use debian-base instead of distroless for conformance image 2023-07-19 10:14:37 +02:00
OWNERS OWNERS cleanup - Jan 2021 Week 1 2022-01-10 08:14:29 -05:00
README.md Build Ginkgo binary 2022-07-08 10:46:11 +08:00
run_e2e.sh Fix ginkgo noColor deprecation warning 2023-06-09 09:34:05 +02:00

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