Help us shape the future of Go! Take the 2026 Go Developer Survey

e2e/

directory
v1.24.0-beta.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 16, 2026 License: MPL-2.0

README

E2E tests

Prerequisites

Make sure you have ginkgo installed on your local machine:

go get github.com/onsi/ginkgo/ginkgo

To build the binaries locally use the following command from this directory

BUILDDIR=bin SRCDIR=".." ../hack/build-e2e.sh

Kubernetes Tests Setup

For Kubernetes tests, Kind v0.33.0 or newer is required for the Kubernetes v1.36.4 node image. The setup task enforces this prerequisite automatically.

For tests that require Kubernetes (labeled with up-kubernetes or build), you need to set up a kind cluster:

kind create cluster --image kindest/node:v1.36.4@sha256:099e049362a1526b2db71494e1947aae99bd16290d7c895f2b7ea312e3cbfaed

To delete the cluster after testing:

kind delete cluster

Run all E2E test

# Install ginkgo and run in this directory
ginkgo

CI helpers

The Windows Transport Tests job runs native transport and runtime-helper unit tests independently of CLI artifact builds. After that job and the builds pass, the reusable docker-buildkit-windows.yml workflow runs the docker-internal-buildkit regression specs. It provisions Docker Engine in WSL2, reached over SSH, with devsy-ci docker-wsl setup (e2e/cmd/devsy-ci). The runtime logic lives in e2e/framework:

Package Responsibility
runenv Subprocess, filesystem, clock, network and download seams, plus the typed StageError.
dockerwsl Provisions and tears down dockerd in WSL2, reached over SSH, for Windows runners.

Their unit tests need no Docker, WSL or network:

go test ./e2e/framework/runenv/... ./e2e/framework/dockerwsl ./e2e/cmd/devsy-ci

Ginkgo executes the specs directly. devsy-ci check-report checks its JSON report: all six BuildKit specs must pass on their first attempt, with no selected skips, dry run or programmatic focus. Teardown runs on success and failure, before the report and non-secret diagnostics are uploaded.

Directories

Path Synopsis
cmd
devsy-ci command
Command devsy-ci provisions and verifies the runtimes the E2E suite runs on.
Command devsy-ci provisions and verifies the runtimes the E2E suite runs on.
dockerwsl
Package dockerwsl provisions and tears down the Docker daemon the Windows E2E runners use: dockerd inside WSL2, reached from the host over SSH.
Package dockerwsl provisions and tears down the Docker daemon the Windows E2E runners use: dockerd inside WSL2, reached from the host over SSH.
registryfixture
Package registryfixture owns the bounded Linux registry/proxy and helper fixtures used by native provider-consumer tests.
Package registryfixture owns the bounded Linux registry/proxy and helper fixtures used by native provider-consumer tests.
runenv
Package runenv is the execution environment shared by the E2E CI helpers.
Package runenv is the execution environment shared by the E2E CI helpers.
runenv/runenvtest
Package runenvtest provides in-memory fakes of the runenv seams, assembled into a Rig, for testing code written against runenv.Dependencies.
Package runenvtest provides in-memory fakes of the runenv seams, assembled into a Rig, for testing code written against runenv.Dependencies.
tests
ci
dockerbuildkit
Package dockerbuildkit covers internal BuildKit against the provider-selected daemon on Windows, where the process environment points at a dead named pipe.
Package dockerbuildkit covers internal BuildKit against the provider-selected daemon on Windows, where the process environment points at a dead named pipe.
ide
mcp
ssh
up

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL